[PATCH] D60545: [DAGCombiner] narrow shuffle of concatenated vectors

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 11 09:05:22 PDT 2019


sdesmalen added a comment.

>From looking at the A57 scheduler model in LLVM this seems like an improvement, with for example `VUZPq` taking twice as long as `VUZPd`. But in general I could imagine shuffles on shorter vectors to be cheaper.
It will probably also be easier to spot that one of concatenated subvectors becomes fully `undef` after doing the shuffling on the subvector first.



================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:17640
+
+  // shuffle (concat X, undef), (concat Y, undef), Mask -->
+  // concat (shuffle X, Y, Mask0), (shuffle X, Y, Mask1)
----------------
Would it be possible to move/copy this comment to the call of foldShuffleOfConcatUndefs ?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60545/new/

https://reviews.llvm.org/D60545





More information about the llvm-commits mailing list