[PATCH] D21148: [X86][SSE] Added support for combining target shuffles to (V)PSHUFD/VPERMILPD/VPERMILPS immediate permute

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 23 10:54:33 PDT 2016


RKSimon updated this revision to Diff 61699.
RKSimon added a comment.

Updated to prefer binary shuffle (unpck mainly) over permutes - although this will prevent some folding its shouldn't affect register pressure. We don't handle i32 unpcks as pshufd typically has similar performance. The other changes you see from unary shuffle (e.g. movddup to pshufd) are typically because the target shuffle combine is a bit more ruthless at looking through bitcasts, hopefully reducing domain stalls.


Repository:
  rL LLVM

http://reviews.llvm.org/D21148

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/2012-01-12-extract-sv.ll
  test/CodeGen/X86/2012-04-26-sdglue.ll
  test/CodeGen/X86/avx-intrinsics-fast-isel.ll
  test/CodeGen/X86/avx-intrinsics-x86.ll
  test/CodeGen/X86/avx-splat.ll
  test/CodeGen/X86/avx-vbroadcast.ll
  test/CodeGen/X86/pshufb-mask-comments.ll
  test/CodeGen/X86/sse3.ll
  test/CodeGen/X86/vector-compare-results.ll
  test/CodeGen/X86/vector-shuffle-128-v16.ll
  test/CodeGen/X86/vector-shuffle-256-v16.ll
  test/CodeGen/X86/vector-shuffle-256-v4.ll
  test/CodeGen/X86/vector-shuffle-256-v8.ll
  test/CodeGen/X86/vector-shuffle-combining-avx.ll
  test/CodeGen/X86/vector-shuffle-combining-avx2.ll
  test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll
  test/CodeGen/X86/vector-shuffle-combining-ssse3.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21148.61699.patch
Type: text/x-patch
Size: 32989 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160623/c1da4898/attachment.bin>


More information about the llvm-commits mailing list