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

    <tr>
        <th>Summary</th>
        <td>
            AArch64 failure to parse emitted asm "error: requested extract overflows register"
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:AArch64,
            crash-on-valid
      </td>
    </tr>

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

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

<pre>
    we can't parse the generated code for this function:
```llvm
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-linux-gnu"

define i35 @f(i15 %_t) {
  %1 = sext i15 %_t to i35
  %2 = sdiv exact i35 %1, -524288
  %3 = trunc i35 %2 to i26
 %4 = urem i26 1, %3
  %5 = sext i26 %4 to i50
  %6 = trunc i50 %5 to i16
  %7 = sext i16 %6 to i35
  %8 = icmp sgt i35 0, %7
  %9 = select i1 %8, i35 0, i35 %2
  ret i35 %9
}
```

```
regehr@john-home:~/test$ llc -march=aarch64 reduced.ll
regehr@john-home:~/test$ llvm-mc --arch=aarch64 reduced.s
        .text
        .file   "reduced.ll"
        .globl  f
        .p2align        2
        .type   f,@function
f:
        .cfi_startproc
        lsl     x9, x0, #49
        mov     w8, #1
reduced.s:12:20: error: requested extract overflows register
        ubfx    x9, x9, #63, #26
 ^
        udiv    w10, w8, w9
        msub    w8, w10, w9, w8
        ubfx    x9, x0, #14, #1
        cmp     x8, #0
        csel    x0, xzr, x9, lt
        ret
.Lfunc_end0:
        .size   f, .Lfunc_end0-f
        .cfi_endproc
        .section        ".note.GNU-stack","",@progbits
regehr@john-home:~/test$ 
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVU2TozYQ_TXyRQUlWoDRwQd2HOeSyiWV85SABrQrwJGEx7OH_PaUBNjMbKVqd2rMR-v1l95rJK1V3Yh4ItkXkp0Pcnb9ZE4GO-zNoZqa99Mb0lqOBI6OXqWxSF2PtMMRjXTY0HpqkLaToa5XlrbzWDs1jYSXhJ0JK0nOln-tb8NictJ06GgjndTyfZodJfxMCQBGA-ElRqogvPQ_DpFKcsLLcPFveUp4maeRSsADEiiikcNi-8vbAD4kcUZdNW4JpDR1n6eRVuN8j7pxfsCXa4OtGpEqnlGSspZAoZKMEsheHQFByfHLgqPeloSoFu-OPlDUTd57h4IF1agbxbus3RIcsoTAC40ySKEodnAe4M7MY70hIQSFfEURyNIAmg0O3k5DKO-7i5PtioN8cfJhMrYD5ftkGVv8PCrJd6jjvs988fuhzSKAVD1cqe2WJtla1nEHE2ssjX4nkuDpYQ_81vPmY_CxY2Jl6nj-pKw9g5-Mi45Jyr5O_Rj104CEl_8SuDi0jkBKta5pNHhZEH5e5UENNnONTaz1T0e5DdFQ0yj6n0h2q1HEDu_u-dYqjYQJArBL-hSliDs9VZow0T5NV5BadSNhYodz71cMMHjx0t3GMKy3z2lkIq5b9WqdNO5qpvph1tZnuQtPwn2ljqfisT5MN8LEW7GuJNvObP35WSS8BEZ4SdGYyfgHg__MaP1nAu_OePlPNzStnt4sNdgp69BsVC9_c9Xe_X2tRKz5cr4-POcg--1R3NyoUF0SCl-KfNvVbufqUfwGEiv0EaNq7z_uQJJ-bJgwUQ9Xj9t2gj0XLIY9DL737-bZgH4ybnB9jv_wJL3i2LAP9Fj1fSOS7jBR-5FBHJsP_MUWV8a9mOJxchj__uffkXWy_uYVBS_hCotArmbqKuXsTwr803AdmhNvBBfygKckPxaMF7yAQ38S_JilTIoUC6jSWqSyqI4SeMWaIs9zPKgTMOCMsyw5pjlAnGatlK04NkWdYFMUJGU4SKVjP1PxZLqDsnbGU54kAg5aVqhtOKwAKll_w7EhvCzLMG6PNmsjbR9NY3STWjXenJ0P5hTGtJo7S1KmlXX2mcQpp_G0xqGtVHo26D9zy5GHg3JexdIO4aD6JX0DHGajT71zVz8nBC4ELp1y_VzF9TQQuISzcblFVzN9xdoRuITGLYFL6P2_AAAA__9n4R67">