[PATCH] D16050: [X86][AVX2] Broadcast subvectors
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 11 01:31:56 PST 2016
RKSimon created this revision.
RKSimon added reviewers: delena, qcolombet, spatel.
RKSimon added a subscriber: llvm-commits.
RKSimon set the repository for this revision to rL LLVM.
AVX2 can only broadcast from the zero'th element of a vector, but if the broadcastable element is the zero'th element of a 128-bit subvector its advantageous to extract the subvector and broadcast from that and often avoids the loading of shuffle mask data that would be needed for VPERMPS/VPERMD. The only exception being when the source type is 4f64 or 4i64 which can directly use the immediate shuffle VPERMPD/VPERMQ directly.
Repository:
rL LLVM
http://reviews.llvm.org/D16050
Files:
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vector-shuffle-256-v16.ll
test/CodeGen/X86/vector-shuffle-256-v32.ll
test/CodeGen/X86/vector-shuffle-256-v8.ll
test/CodeGen/X86/vector-shuffle-512-v16.ll
test/CodeGen/X86/vector-shuffle-512-v32.ll
test/CodeGen/X86/vector-shuffle-512-v8.ll
test/CodeGen/X86/vector-shuffle-v1.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16050.44439.patch
Type: text/x-patch
Size: 15472 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160111/e175d27b/attachment.bin>
More information about the llvm-commits
mailing list