[PATCH] D32993: DAGCombine: Extend createBuildVecShuffle for case len(in_vec) = 4*len(result_vec)
Zvi Rackover via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 9 00:57:55 PDT 2017
zvi created this revision.
Herald added a subscriber: javed.absar.
Add support for the case where there is a single input vector from which
elements are gathered into a build_vector, and that input vector is 4x longer
than the result vector.
VECTOR_SHUFFLE requires that the input vectors and result vector be of same type,
and createBuildVecShuffle() already has some recipes for handling numerous cases
to meet this requirement. As for the case the patch addresses:
This is done by splitting the input vector to two half-sized vectors and
extending the result vector to become twice as long.
https://reviews.llvm.org/D32993
Files:
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/ARM/vpadd.ll
test/CodeGen/X86/oddshuffles.ll
test/CodeGen/X86/shuffle-vs-trunc-512.ll
test/CodeGen/X86/vector-shuffle-512-v32.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32993.98257.patch
Type: text/x-patch
Size: 16896 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170509/8e393292/attachment.bin>
More information about the llvm-commits
mailing list