https://bugs.llvm.org/show_bug.cgi?id=50057

            Bug ID: 50057
           Summary: Cannot select: t10: i64 = AArch64ISD::VSHL t2,
                    Constant:i32<2>
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: AArch64
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected],
                    [email protected], [email protected],
                    [email protected]

$ cat test.ll
define i64 @foo(i64 %0) {
  %2 = tail call i64 @llvm.aarch64.neon.ushl.i64(i64 %0, i64 2) 
  ret i64 %2
}

declare i64 @llvm.aarch64.neon.ushl.i64(i64, i64)

$ llc -march=aarch64 test.ll
LLVM ERROR: Cannot select: t10: i64 = AArch64ISD::VSHL t2, Constant:i32<2>
  t2: i64,ch = CopyFromReg t0, Register:i64 %0
    t1: i64 = Register %0
  t9: i32 = Constant<2>
In function: foo

This IR is produced by calling the vshld_u64 NEON intrinsic from Clang. The
error only happens if the second argument (the shift) is a constant.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to