[llvm] [NVPTX] Fixup v2i8 parameter and return lowering (PR #145585)

Princeton Ferro via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 26 09:45:34 PDT 2025


================
@@ -3419,17 +3408,16 @@ SDValue NVPTXTargetLowering::LowerFormalArguments(
         if (P.getNode())
           P.getNode()->setIROrder(Arg.getArgNo() + 1);
         for (const unsigned J : llvm::seq(NumElts)) {
-          SDValue Elt = DAG.getNode(LoadVT.isVector() ? ISD::EXTRACT_SUBVECTOR
-                                                      : ISD::EXTRACT_VECTOR_ELT,
-                                    dl, LoadVT, P,
-                                    DAG.getIntPtrConstant(J * PackingAmt, dl));
+          SDValue Elt = DAG.getNode(
+              LoadVT.isVector() ? ISD::EXTRACT_SUBVECTOR
+                                : ISD::EXTRACT_VECTOR_ELT,
+              dl, LoadVT, P, DAG.getVectorIdxConstant(J * PackingAmt, dl));
 
           // Extend or truncate the element if necessary (e.g. an i8 is loaded
           // into an i16 register)
           const EVT ExpactedVT = ArgIns[I + J].VT;
-          assert((Elt.getValueType().bitsEq(ExpactedVT) ||
-                  (ExpactedVT.isScalarInteger() &&
-                   Elt.getValueType().isScalarInteger())) &&
+          assert((Elt.getValueType() == ExpactedVT ||
+                  (ExpactedVT.isInteger() && Elt.getValueType().isInteger())) &&
----------------
Prince781 wrote:

nit: could rename to `ExpectedVT`

https://github.com/llvm/llvm-project/pull/145585


More information about the llvm-commits mailing list