[PATCH] D102828: [GlobalISel] Implement splitting of G_SHUFFLE_VECTOR.

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 20 15:35:23 PDT 2021


aemerson added inline comments.


================
Comment at: llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp:4234-4236
+  SmallVector<Register> SplitSrc1Regs, SplitSrc2Regs;
+  extractParts(Src1Reg, NarrowTy, 2, SplitSrc1Regs);
+  extractParts(Src2Reg, NarrowTy, 2, SplitSrc2Regs);
----------------
arsenm wrote:
> It should be relatively easy to use extractGCDType + buildLCMMergePieces to form a widened vector for the non-power-of-2 case
I think for shuffle splitting, we should do what the DAG does here and insist on a power-of-2 size with `moreElementsToNextPow2`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D102828



More information about the llvm-commits mailing list