[llvm-bugs] [Bug 26661] New: [AVX512BW] Crash with shuffle lowering as zero extend

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Feb 18 06:39:46 PST 2016


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

            Bug ID: 26661
           Summary: [AVX512BW] Crash with shuffle lowering as zero extend
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: llvm-dev at redking.me.uk
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

AVX512 bw targets fail to select VZEXT (pmovzxbw)for the below example.

define <16 x i16> @zext_32x8_to_16x16(<32 x i8> %a) nounwind readnone {
  %1 = shufflevector <32 x i8> %a, <32 x i8> zeroinitializer, <32 x i32> <i32
0, i32 32, i32 1, i32 32, i32 2, i32 32, i32 3, i32 32, i32 4, i32 32, i32 5,
i32 32, i32 6, i32 32, i32 7, i32 32, i32 8, i32 32, i32 9, i32 32, i32 10, i32
32, i32 11, i32 32, i32 12, i32 32, i32 13, i32 32, i32 14, i32 32, i32 15, i32
32>
  %2 = bitcast <32 x i8> %1 to <16 x i16>
  ret <16 x i16> %2
}

llc -mtriple=x86_64-unknown -mcpu=skx test.ll -o -

LLVM ERROR: Cannot select: t12: v16i16 = X86ISD::VZEXT t2
  t2: v32i8,ch = CopyFromReg t0, Register:v32i8 %vreg0
    t1: v32i8 = Register %vreg0
In function: zext_32x8_to_16x16


This appears to be related to the changes to the predicate filtering from
D16595 / rL258915.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160218/43718c8d/attachment-0001.html>


More information about the llvm-bugs mailing list