[LLVMbugs] [Bug 22412] New: New vector shuffle legality: turns blendp+permp to permp+permilp+blendp.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Jan 30 10:57:21 PST 2015


http://llvm.org/bugs/show_bug.cgi?id=22412

            Bug ID: 22412
           Summary: New vector shuffle legality: turns blendp+permp to
                    permp+permilp+blendp.
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: ahmed.bougacha at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Created attachment 13784
  --> http://llvm.org/bugs/attachment.cgi?id=13784&action=edit
IR testcase

For the attached IR, we used to generate (targeting core-avx2):

    vblendpd    $1, %ymm0, %ymm1, %ymm0 ## ymm0 = ymm0[0],ymm1[1,2,3]
    vmovaps    LCPI0_0(%rip), %ymm1    ## ymm1 = [1,0,7,6,5,4,3,2]
    vpermps    %ymm0, %ymm1, %ymm0

With the new all-shuffles-are-legal lowering, we now generate:

    vmovaps    LCPI0_0(%rip), %ymm2    ## ymm2 = <u,u,7,6,5,4,3,2>
    vpermps    %ymm1, %ymm2, %ymm1
    vpermilps    $225, %ymm0, %ymm0 ## ymm0 = ymm0[1,0,2,3,5,4,6,7]
    vblendpd    $1, %ymm0, %ymm1, %ymm0 ## ymm0 = ymm0[0],ymm1[1,2,3]

-- 
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/20150130/9d340ec5/attachment.html>


More information about the llvm-bugs mailing list