[PATCH] D11938: [InstCombine] SSE/AVX vector shifts demanded shift amount bits
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 11 06:38:08 PDT 2015
RKSimon created this revision.
RKSimon added reviewers: andreadb, mkuper, majnemer.
RKSimon added a subscriber: llvm-commits.
RKSimon set the repository for this revision to rL LLVM.
Most SSE/AVX (non-constant) vector shift instructions only use the lower 64-bits of the 128-bit shift amount vector operand, this patch calls SimplifyDemandedVectorElts to optimize for this.
I had to refactor some of my recent InstCombiner work on the vector shifts to avoid quite a bit of duplicate code. it means that SimplifyX86immshift now (re)decodes the type of shift.
Repository:
rL LLVM
http://reviews.llvm.org/D11938
Files:
lib/Transforms/InstCombine/InstCombineCalls.cpp
test/Transforms/InstCombine/x86-vector-shifts.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11938.31803.patch
Type: text/x-patch
Size: 13155 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150811/1c0e1e1c/attachment.bin>
More information about the llvm-commits
mailing list