[PATCH] D117760: [LegalizeTypes][VP] Add splitting support for vp.gather and vp.scatter

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 22 17:05:44 PST 2022


craig.topper added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp:1957
   SDValue MaskLo, MaskHi;
-  if (Mask.getOpcode() == ISD::SETCC) {
-    SplitVecRes_SETCC(Mask.getNode(), MaskLo, MaskHi);
+  if (Ops.Mask.getOpcode() == ISD::SETCC) {
+    SplitVecRes_SETCC(Ops.Mask.getNode(), MaskLo, MaskHi);
----------------
I'm not sure if this is important or not, but may be a change in behavior here. If this function gets called from SplitVecOp_Gather, we'll check the opcode and maybe call SplitVecRes_SETCC for the mask. Previously SplitVecOp_MGATHER wouldn't do anything special for the mask.

I notice that SplitVecOp_MSCATTER only called it when OpNo==1 and not when legalizing the index or the mask.

Maybe we should have a bool parameter to SplitVecRec_Gather to distinquish the caller to not change this behavior.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D117760



More information about the llvm-commits mailing list