[PATCH] D104156: [DAGCombine][X86][ARM] EXTRACT_SUBVECTOR(VECTOR_SHUFFLE(?,?,Mask)) -> VECTOR_SHUFFLE(EXTRACT_SUBVECTOR(?, ?), EXTRACT_SUBVECTOR(?, ?), Mask')

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 6 09:58:52 PST 2021


RKSimon added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:20794
+                   .drop_front(FirstExtractedEltIdx)
+                   .take_front(NumEltsExtracted)) {
+    assert((M >= -1) && (M < (2 * WideNumElts)) &&
----------------
WideShuffleVector->getMask().slice() ?


================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:20833
+    // Profitability check: only deal with extractions from the first subvector.
+    if (OpSubvecIdx != 0)
+      return SDValue();
----------------
Why do we need this and isExtractSubvectorCheap ?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104156



More information about the llvm-commits mailing list