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

    <tr>
        <th>Summary</th>
        <td>
            [AArch64] crash with option -start-after=twoaddressinstruction
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    * test from CodeGen/AArch64/arm64-popcnt.ll, https://gcc.godbolt.org/z/K3afWb471
```
define i32 @cnt32_advsimd_2(<2 x i32> %x) {
  %1 = extractelement <2 x i32> %x, i64 0
  %2 = tail call i32 @llvm.ctpop.i32(i32 %1)
  ret i32 %2
}

declare i32 @llvm.ctpop.i32(i32) nounwind readnone
```

* it works fine with llc -mtriple=arm64-eabi -aarch64-neon-syntax=apple , while it will crash with extra option **-start-after=twoaddressinstruction**
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU02PnDgQ_TXFxQJBmY_mwKGne9nD_oA9joxtGifGRnYx3ZNfH0EzyigaRZEQ4HK9Z79XVSJGc3Nad1C9QHVNxEqTD93bqMYxGbx67wDPjHQkNgY_s4tX-l_tAPvzOcipLgF7Eea6TBe_SEeZtYAXNhEtEfgZsAfsb1JmN68Gbynz4QbY_wDs_-Ni_H8omwLyK-RnqPPj2ZdKj8ZpZjgyKHPpiOOrUG_RzOoVAU_AL8ge2z7wfxhg9QBsGTQvTzjbQgUDfmX6QUFI0lbP2hH7Cnhhpi5Z_gmKO5SEsUwKaz_uYe3bnEla_JJtBHja41gVgO0HOmhiRxgPac31-DmkSSuC_hPnpsX51d2NUyxooZx3-kufjjeemSF29-F7ZLtxd0MTs1aydKZgFquBX5-F0mIwLBViL1_qtHdpfHckHlvGsljNNkPuk7F65zTWMhlEnJ6cu53ML2S8Y4Db0WkkESgVI-kA_Ep3L5QKOkbjIoVVbqnPzER1XLW8FYnuirrBtilOLSZTNwgUlTzVdVOJtqiLBqu8EuNJ52VR5PWQmA5z5HmR1zliWWHGa1nUnDdCVbkaTgLKXM_C2Gz304dbYmJcdVe1pwoTKwZt497liE7f2b4JiFvTh27DpMN6i1s9TKT4i4UM2X08Phq-un624zDibyxI1mC73ybD0LQOmfQzYL8deXzSJfhvWhJgv180Ava7kJ8BAAD__xJKHcM">