[PATCH] D12561: [X86][SSE] Match zero/any extension shuffles that don't start from the first element
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 2 10:17:04 PDT 2015
RKSimon created this revision.
RKSimon added reviewers: chandlerc, qcolombet, andreadb.
RKSimon added a subscriber: llvm-commits.
RKSimon set the repository for this revision to rL LLVM.
This patch generalizes the lowering of shuffles as zero extensions to allow extensions that don't start from the first element. It now recognises extensions starting anywhere in the lower 128-bits or at the start of any higher 128-bit lane.
The motivation was to reduce the number of high cost pshufb calls, but it also improves the SSE2 case as well.
Repository:
rL LLVM
http://reviews.llvm.org/D12561
Files:
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/machine-cp.ll
test/CodeGen/X86/vec_cast2.ll
test/CodeGen/X86/vec_int_to_fp.ll
test/CodeGen/X86/vector-shuffle-256-v16.ll
test/CodeGen/X86/vector-shuffle-256-v32.ll
test/CodeGen/X86/vector-shuffle-sse4a.ll
test/CodeGen/X86/vector-zext.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12561.33821.patch
Type: text/x-patch
Size: 51114 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150902/6b2105f3/attachment.bin>
More information about the llvm-commits
mailing list