[PATCH] [X86][SSE] pslldq/psrldq byte shifts/rotation for SSE2

Simon Pilgrim llvm-dev at redking.me.uk
Thu Oct 9 03:54:32 PDT 2014


Hi chandlerc, andreadb, spatel,

This patch builds on http://reviews.llvm.org/D5598 to improve byte shift/rotation shuffles on pre-SSSE3 (palignr) targets.

I've also made use of the ability of the SLLDQ/SRLDQ instructions to implicitly shift in zero bytes to avoid the need to create a zero register if we had used palignr with a zero register.

http://reviews.llvm.org/D5699

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/palignr.ll
  test/CodeGen/X86/vector-shuffle-128-v16.ll
  test/CodeGen/X86/vector-shuffle-128-v8.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5699.14647.patch
Type: text/x-patch
Size: 43099 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141009/c40d7181/attachment.bin>


More information about the llvm-commits mailing list