[llvm] [SelectionDAG] Add PARTIAL_REDUCE_U/SMLA ISD Nodes (PR #125207)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 6 08:46:35 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);
----------------
paulwalker-arm wrote:
Is this necessary? I'd expect to be able to return the `PARTIAL_REDUCE_UMLA` result and then let legalisation expand it later.
https://github.com/llvm/llvm-project/pull/125207
More information about the llvm-commits
mailing list