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

Paul Walker via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 7 08:04:38 PST 2025


================
@@ -6196,6 +6212,15 @@ SDValue DAGTypeLegalizer::PromoteIntRes_VECTOR_FIND_LAST_ACTIVE(SDNode *N) {
   return DAG.getNode(ISD::VECTOR_FIND_LAST_ACTIVE, SDLoc(N), NVT, N->ops());
 }
 
+SDValue DAGTypeLegalizer::PromoteIntRes_PARTIAL_REDUCE_MLA(SDNode *N) {
+  SDLoc DL(N);
+  EVT VT = N->getValueType(0);
+  EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
+  SDValue ExtAcc = GetPromotedInteger(N->getOperand(0));
----------------
paulwalker-arm wrote:

FYI: This use of `GetPromotedInteger` is fine because the accumulator is not signed and so the promotion only has to ensure the first accumulator-size-in-bits bits are correct.

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


More information about the llvm-commits mailing list