[llvm-bugs] [Bug 39666] New: Improve generic expansion of expandload and compressstore intrinsics

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Nov 14 13:47:34 PST 2018


            Bug ID: 39666
           Summary: Improve generic expansion of expandload and
                    compressstore intrinsics
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: llvm-dev at redking.me.uk
                CC: craig.topper at gmail.com, llvm-bugs at lists.llvm.org,
                    llvm-dev at redking.me.uk, spatel+llvm at rotateright.com

These generic intrinsics fail without a legal lowering.

define <2 x i64> @test5(i64* %base, <2 x i64> %src0) {
 %res = call <2 x i64> @llvm.masked.expandload.v2i64(i64* %base, <2 x i1> <i1
false, i1 true>, <2 x i64> %src0)
 ret <2 x i64>%res
declare <2 x i64> @llvm.masked.expandload.v2i64(i64*, <2 x i1>, <2 x i64>)

define void @test11(i64* %base, <2 x i64> %V, <2 x i1> %mask) {
 call void @llvm.masked.compressstore.v2i64(<2 x i64> %V, i64* %base, <2 x i1>
 ret void
declare void @llvm.masked.compressstore.v2i64(<2 x i64>, i64* , <2 x i1>)

llc -mcpu=btver2

LLVM ERROR: Cannot select: 0x557bba23b478: v2i64,ch = masked_load<(load 16 from
%ir.base)> 0x557bba1c8b68, 0x557bba23b208, 0x557bba23b6e8, 0x557bba23b2d8

  0x557bba23b208: i64,ch = CopyFromReg 0x557bba1c8b68, Register:i64 %0

    0x557bba23b1a0: i64 = Register %0

  0x557bba23b6e8: v2i64 = bitcast 0x557bba23b680

    0x557bba23b680: v16i8 = X86ISD::VSHLDQ 0x557bba23b3a8, Constant:i8<8>

      0x557bba23b3a8: v16i8 = bitcast 0x557bba23b340

        0x557bba23b340: v2i64 = scalar_to_vector Constant:i64<-1>

          0x557bba23b888: i64 = Constant<-1>

      0x557bba23b410: i8 = Constant<8>

  0x557bba23b2d8: v2i64,ch = CopyFromReg 0x557bba1c8b68, Register:v2i64 %1

    0x557bba23b270: v2i64 = Register %1

In function: test5

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/20181114/03f2416c/attachment.html>

More information about the llvm-bugs mailing list