[PATCH] D125446: [LegalizeVectorTypes][VP] Add widening support for VP_SETCC

Fraser Cormack via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 12 02:07:09 PDT 2022


frasercrmck added a reviewer: simoll.
frasercrmck added a subscriber: simoll.
frasercrmck added a comment.

I think @simoll should be included in VP reviews.



================
Comment at: llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp:5230
   // In this case, we also need to split the result of this node as well.
   if (getTypeAction(InVT) == TargetLowering::TypeSplitVector) {
     SDValue SplitVSetCC = SplitVecOp_VSETCC(N);
----------------
What if we hit this case? It looks like it might silently just work and generate non-VP code. It's not the end of the world but might be unexpected. Can we test this particular path with RISC-V? I'm not sure we can..

My first thought is that maybe we should add support for splitting VP_SETCC first so we know this function works in principle, then come back to widening afterwards.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp:5257
+  assert(N->getNumOperands() == 5 && "Unexpected number of operands!");
+  assert((N->getOpcode() == ISD::VP_SETCC) && "Expected VP_SETCC opcode");
+
----------------
Unnecessary parens `()`


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D125446



More information about the llvm-commits mailing list