<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Scalarized v32i8 shuffle for AVX2"
   href="http://llvm.org/bugs/show_bug.cgi?id=21717">21717</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Scalarized v32i8 shuffle for AVX2
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: X86
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>grosbach@apple.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>