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

            Bug ID: 49904
           Summary: LLVM 12 regression: AArch64 backend generates
                    incorrect code for ashr <i8 x 16>
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: AArch64
          Assignee: unassignedb...@nondot.org
          Reporter: aman...@gmail.com
                CC: arnaud.degrandmai...@arm.com,
                    llvm-bugs@lists.llvm.org, smithp...@googlemail.com,
                    ties.st...@arm.com

IR:

define <16 x i8> @simd_ashr(<16 x i8> %a, <16 x i8> %b) {
start:
  %0 = ashr <16 x i8> %a, %b
  ret <16 x i8> %0
}

llc -march=aarch64 -global-isel=1 -O0 test.ll

simd_ashr:                              // @simd_ashr
// %bb.0:                               // %start
        neg     v1.8h, v1.8h
        sshl    v0.16b, v0.16b, v1.16b
        ret

The neg instruction should be using .16b instead of .8h.

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

Reply via email to