[llvm] [DAGCombiner] Add DAG combine for PARTIAL_REDUCE_MLA when no mul op (PR #131326)

Sander de Smalen via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 24 01:55:05 PDT 2025


================
@@ -12669,6 +12679,48 @@ SDValue DAGCombiner::visitPARTIAL_REDUCE_MLA(SDNode *N) {
                      RHSExtOp);
 }
 
+// Makes PARTIAL_REDUCE_*MLA(Acc, ZEXT(UnextOp1), Splat(1)) into
+// PARTIAL_REDUCE_UMLA(Acc, Op, TRUNC(Splat(1)))
+// Makes PARTIAL_REDUCE_*MLA(Acc, SEXT(UnextOp1), Splat(1)) into
+// PARTIAL_REDUCE_SMLA(Acc, Op, TRUNC(Splat(1)))
----------------
sdesmalen-arm wrote:

```suggestion
// partial.reduce.umla(acc, zext(op1), splat(s))
// -> partial.reduce.umla(acc, op1, splat(trunc(s))
// partial.reduce.smla(acc, sext(op1), splat(s))
// -> partial.reduce.smla(acc, op1, splat(trunc(s))
```

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


More information about the llvm-commits mailing list