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

    <tr>
        <th>Summary</th>
        <td>
            [AArch64] llvm.fshl with <1 x i64> asserts with unimplemented reg-to-reg copy
        </td>
    </tr>

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

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

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

<pre>
    ```llvm
target triple = "arm64-apple-macosx11.0.0"

define <1 x i64> @test(<1 x i64> %v.val) #0 {
  %fshl = tail call <1 x i64> @llvm.fshl.v1i64(<1 x i64> %v.val, <1 x i64> %v.val, <1 x i64> splat (i64 1))
  ret <1 x i64> %fshl
}

attributes #0 = { "target-cpu"="apple-m1" }
```

```
Q0 = COPY D0
unimplemented reg-to-reg copy
UNREACHABLE executed at /home/npopov/repos/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:5366!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: build/bin/llc
1.      Running pass 'Function Pass Manager' on module '<stdin>'.
2.      Running pass 'Post-RA pseudo instruction expansion pass' on function '@test'
 #0 0x0000000006f6c308 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build/bin/llc+0x6f6c308)
 #1 0x0000000006f69d9e llvm::sys::RunSignalHandlers() (build/bin/llc+0x6f69d9e)
 #2 0x0000000006f6c9e1 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x00007f94f1a27c30 __restore_rt (/lib64/libc.so.6+0x19c30)
 #4 0x00007f94f1a8111c __pthread_kill_implementation (/lib64/libc.so.6+0x7311c)
 #5 0x00007f94f1a27afe gsignal (/lib64/libc.so.6+0x19afe)
 #6 0x00007f94f1a0f6d0 abort (/lib64/libc.so.6+0x16d0)
 #7 0x0000000006ed250f (build/bin/llc+0x6ed250f)
 #8 0x00000000041d9b4b llvm::AArch64InstrInfo::copyPhysReg(llvm::MachineBasicBlock&, llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, llvm::DebugLoc const&, llvm::Register, llvm::Register, bool, bool, bool) const AArch64InstrInfo.cpp:0:0
 #9 0x00000000063093e9 llvm::TargetInstrInfo::lowerCopy(llvm::MachineInstr*, llvm::TargetRegisterInfo const*) const (build/bin/llc+0x63093e9)
#10 0x0000000005ee361f (anonymous namespace)::ExpandPostRA::run(llvm::MachineFunction&) ExpandPostRAPseudos.cpp:0:0
#11 0x0000000005ee3ebe (anonymous namespace)::ExpandPostRALegacy::runOnMachineFunction(llvm::MachineFunction&) ExpandPostRAPseudos.cpp:0:0
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVk2P4ygT_jXkghIBduz4kIPzpRmp5528mdnDniKMyw7bGCzAme5_v8J2Jh_dPaNdbSut2KR46qmHqqK4c7LWAEs0X6H5ZsI7fzJ2qeWzFJPClK9LlJDho9S5QST33NbgsbeyVYBRtMGIMW6bJJ7ytlUwbbgw7oXSGZkRxBgiOSJ5CZXUwXxN8QuWSYyiLUYx8eA8YouHdTY_z85cIZZhxCKCUbpCJMfhh8qdVO_Vc6mw4Eq9BQ1MZ8FwdqZh9WP89ePmD39xreIeI7aQSYwpYln4BE4W_FuQ4DwEnm6G8Ln3VhadBzcGFGRLV0G6Qc-paLsgVrQJag46UsQYHiEuhzDA3b7-f0Bbf93_iTdhodOyaRU0oD2U2EI99WZqocbCtK-I5H_877DN15_y1dMWwwuILpj1se1OpgHEdro1rTkjtrPQGofYLgg6ba35C4QfX8OXLBDbfe_5I7bLcytOQe3L02ftvP2sKzMTbYuifB4lCWIUkXz_tM2_bbHrikZ6zHHR1Tj4sh57g0_etw5FOWI7xHa19KeumAnT3Hi-5yOd6yDwxFyXWGqhuhKwPwEWlrsTLrh49pYLmCGSf_NcPOOyawIlRHIyQyTbW1Nb3mBu6y4IF9zjopOqRGxXSN37FIjkNFgfOq2lrnHLXTjPdNdp4aXReB8WvnDNa7CIpdho3JiyC3XCUhStnS-lRtEWsTRQYe-B7Y3z00OOWwddabAMInYDPLy0XLvwFIxHB9XFeXBxKag0pGafaeSFXP6SKhERWeBexChHUe5e3fCwt1L7XpnvQSfEFlcjy38cjfMWeINYEipDaj-U5uKtRGxFXkZHY4UgFtEHGlmZwXs0Dp3-JmvN1SeuSwXWhdL9jaeAdfXEHgPOgOI7zFDCgf8aO1lLXZmjRywP72cjy_4xG3e4MXFJ_z84iEYHaZXFFeUsFRHBx6MF542Fo-17xFAcfS0oWYiZM7Ok50szEZEr2_gebEEpFfh4bP3JAi-Pz1Kp489i5uMpf4yeRpSKK_r8kSqvANeuD-03LHl1o2lyj0OqpCSYF-Z3sSblTajp3cFAyeak-sW5DgbX7Yvb7TEtsyIubjLoseMMq6Hh7U-v7gD1XUZ_4eIkNay4k2KljHge8_qNRY-36kLefPZguTcWRev3zQJAxZWDvr5vwTZQdPWTEVgYHYrzwdcBauk82I9XC2PU2-9swMMfdNvbpM3uxI9IFkF242to4Q_iKfMD7DpcGe9IN0ac33MecC7MA9Ql5PxK9-MzH3gNZx6axl3zmgNECe1ThmujXxvTOax5A67tG1Y2UNiGFlmGHnrIx_bV6fciuPTs_jgyfLtv33fex-IPjOgjIyjgnzB6gpqL15-8vuo3ZP4LopfhYFIuozKLMj6BJU3jRRwRlpHJaTkvq4wtKohpvEhZCQtRFrSKygJYsRApn8glI2xO5mxBKYnnZBalWZLROI1FUZIkiVFMoOFSzfpRy9h60t_BSxrTNE4mihegXD9TMhZuX9DltUrDnMPWiLH-dg5v883ELvtLvehqFyY46by7gnvpVT-iXhDmG_xzyMM_pD89jGDcObDeDT_9ciCadFYt__3EMQZ8XrK_AwAA__9dqF_L">