[LLVMbugs] [Bug 21717] New: Scalarized v32i8 shuffle for AVX2

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Dec 2 16:49:43 PST 2014


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

            Bug ID: 21717
           Summary: Scalarized v32i8 shuffle for AVX2
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: grosbach at apple.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

enkidu: ~/tmp $ cat t.ll
; ModuleID = 't.c'
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.10.0"

; Function Attrs: nounwind optsize readonly ssp uwtable
define <16 x i8> @foo(<16 x i16>* byval nocapture readonly align 32) #0 {
entry:
  %1 = bitcast <16 x i16>* %0 to <32 x i8>*
  %x1 = load <32 x i8>* %1, align 32
  %2 = shufflevector <32 x i8> %x1, <32 x i8> undef, <16 x i32> <i32 0, i32 2,
i32 4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 16, i32 18, i32 20, i32 22,
i32 24, i32 26, i32 28, i32 30>
  ret <16 x i8> %2
}

attributes #0 = { nounwind optsize readonly ssp uwtable
"less-precise-fpmad"="false" "no-frame-pointer-elim"="true"
"no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false"
"no-nans-fp-math"="false" "stack-protector-buffer-size"="8"
"unsafe-fp-math"="false" "use-soft-float"="false" }

!llvm.module.flags = !{!0}
!llvm.ident = !{!1}

!0 = metadata !{i32 1, metadata !"PIC Level", i32 2}
!1 = metadata !{metadata !"clang version 3.6.0 (trunk 222534) (llvm/trunk
222547)"}


For AVX2, this gets scalarized. For SSE it generates a pshufb pair. Something
is rotten in Denmark.

-- 
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/20141203/9d6f3e83/attachment.html>


More information about the llvm-bugs mailing list