Skip to content

[AArch64] llvm.fshl with <1 x i64> asserts with unimplemented reg-to-reg copy #141746

@nikic

Description

@nikic
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-features"="+sha3" }
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

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions