[llvm] [SelectionDAG] Add PARTIAL_REDUCE_U/SMLA ISD Nodes (PR #125207)

James Chesterman via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 7 03:22:08 PST 2025


================
@@ -22010,8 +22027,13 @@ static SDValue performIntrinsicCombine(SDNode *N,
       return Dot;
     if (SDValue WideAdd = tryLowerPartialReductionToWideAdd(N, Subtarget, DAG))
       return WideAdd;
-    return DAG.getPartialReduceAdd(SDLoc(N), N->getValueType(0),
-                                   N->getOperand(1), N->getOperand(2));
+    const TargetLowering &TLI = DAG.getTargetLoweringInfo();
+    SDLoc DL(N);
+    SDValue Input = N->getOperand(2);
+    SDValue PRVal = DAG.getNode(ISD::PARTIAL_REDUCE_UMLA, DL,
+                                N->getValueType(0), N->getOperand(1), Input,
+                                DAG.getConstant(1, DL, Input.getValueType()));
+    return TLI.expandPartialReduceMLA(PRVal.getNode(), DAG);
----------------
JamesChesterman wrote:

Done, changed it so just the node is returned.

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


More information about the llvm-commits mailing list