<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/55490>55490</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            miscompile from arm64 backend
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:AArch64,
            llvm:codegen,
            miscompilation
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          regehr
      </td>
    </tr>
</table>

<pre>
    here's a function that needs to return true:
```llvm
define i1 @f() {
  %1 = sub i4 -6, -8
  %2 = icmp ult i4 %1, 3
  ret i1 %2
}
```
however, since the 14 release the arm64 backend got a regression causing it to return false:
```console
regehr@john-home:~/tmp$ ~/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/llc foo.ll -o - -march=arm64
        .text
        .file   "foo.ll"
        .globl  f                               // -- Begin function f
        .p2align        2
        .type   f,@function
f:                                      // @f
        .cfi_startproc
// %bb.0:
        mov     w0, #1
        ret
.Lfunc_end0:
        .size   f, .Lfunc_end0-f
        .cfi_endproc
                                        // -- End function
        .section        ".note.GNU-stack","",@progbits
regehr@john-home:~/tmp$ ~/llvm-project/for-alive/bin/llc foo.ll -o - -march=arm64
        .text
        .file   "foo.ll"
        .globl  f                               // -- Begin function f
        .p2align        2
        .type   f,@function
f:                                      // @f
        .cfi_startproc
// %bb.0:
        mov     w0, wzr
        ret
.Lfunc_end0:
        .size   f, .Lfunc_end0-f
        .cfi_endproc
                                        // -- End function
        .section        ".note.GNU-stack","",@progbits
regehr@john-home:~/tmp$ 
```

cc @ornata @nunoplopes @ryan-berger @nbushehri @zhengyang92 @aqjune @Hatsunespica
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztVsmO4zYQ_Rr5QlCgKcm2Djq4pyfJIcgt5wZJlST2UKTCpbevT1HytN2TQRYgxzEEohYWq-rVo2Tp-tduAg8FPwYiyJCsitpZEicRiQXoA4mOeIjJo9EnKKpzwe4Ldi4ObHuMeZo3Uw-DtkD0nhQ1Gwp-KnhLiuPd5iWk4A26qnsSkiS6JvRQ8E-Enm78fPVrNS8kmZg35aC8rfq6C4tZU-DmSyXH-29K2tTJPcMT-BwctFWATQHZ13iAARE2Vfj5UBMp1BewPRldRBA8jB5CyDAokTB0JDrewDAIE76Dg3I2OAObFc-AySMMj26ydHLzGnD8XPCf4rwUHPtaFWWEHQt-l0Gk-7pkJaMvp8PDoaZG2_RCR5toksnGRPenktUYI7XF1RhFBudKYwh1hBI6C68mRG9t6VIba8sIL_GqDTpX2Bacb7EoXJ2jcdKgMJC__2F2fAil5A5Gba-sGa5nLVwYPVoUbxLE1yVnR2p8ygy5hG3-AQH6h7wf068cez9aDfohROHj4p26mC_7eCNlya4DY-3snnB9ZpkaBa_27w6c8CaXv-bqHpAUHwLLoN--dkBu9tBvKkHbtY5_19UtrJ-Rix_RWXPDxZDHV1oXofz5t98pdq2-5DkiqHnlG7qYf5Q6hv_Gx5WHGPqIuVAdnKc4xyf4Qbv_mXbPb_4H65B133txb6tSGWvnrYgiSzZZtxi3QMiafxWWSvAj-NUpU5gwl87K2wR2RP_Y8qyKPx4TfpZQ-kXEgGJYtBK7vqv6tmrFLupooJt1UG5ekKhk8G7--GXYJW-6KcYl5AZWxEYdpyRLjLlcm7_eHh1CgoBC09Qt202dlFBJBqzta8VP8sRU2wwgGrk_ScGOsDNCggld0dwhopfcmPF8xjuGt2tFGSfG13zVWbkeEbZX-3sTYp0Z2pv7ne4445w1-4bzilVVCVLyvjmdhmHPAJoKkYFZaFPmY0vnx53v1lZkGgM6jQ4xXJ0Cv40j_jdYy8TzRYqT89027N3adLd2_CeShFHh">