[PATCH] D32993: DAGCombine: Extend createBuildVecShuffle for case len(in_vec) = 4*len(result_vec)
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 18 14:52:21 PDT 2017
efriedma added a comment.
> Conservatively bail out if (min_mask_index*2 > NumElem || max_mask_index * 2 < NumElems) which means that we are accessing elements from one half of the input vector
You could extend this a little: try to cut the input size to one quarter, and generate the shuffle that way, if we can.
I don't think we need a new target hook here; isExtractSubvectorCheap should be enough to drive the behavior here.
> Always allow creation of large shuffles (what the current patch does)
We could try to clean this up later in DAGCombine, yes... but it seems better to try to generate a reasonable shuffle from the start.
https://reviews.llvm.org/D32993
More information about the llvm-commits
mailing list