[llvm] [AArch64][GlobalISel] Add push_mul_through_s/zext (PR #141551)
Cullen Rhodes via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 29 04:05:53 PDT 2025
================
@@ -229,6 +229,7 @@ void applyFoldGlobalOffset(MachineInstr &MI, MachineRegisterInfo &MRI,
}
// Combines vecreduce_add(mul(ext(x), ext(y))) -> vecreduce_add(udot(x, y))
+// Or vecreduce_add(ext(mul(ext(x), ext(y)))) -> vecreduce_add(udot(x, y))
// Or vecreduce_add(ext(x)) -> vecreduce_add(udot(x, 1))
// Similar to performVecReduceAddCombine in SelectionDAG
bool matchExtAddvToUdotAddv(MachineInstr &MI, MachineRegisterInfo &MRI,
----------------
c-rhodes wrote:
Does comment/function name also need updating now this also covers sdot?
```suggestion
// Combines vecreduce_add(mul(ext(x), ext(y))) -> vecreduce_add([us]dot(x, y))
// Or vecreduce_add(ext(mul(ext(x), ext(y)))) -> vecreduce_add([us]dot(x, y))
// Or vecreduce_add(ext(x)) -> vecreduce_add([us]dot(x, 1))
// Similar to performVecReduceAddCombine in SelectionDAG
bool matchExtAddvToDotAddv(MachineInstr &MI, MachineRegisterInfo &MRI,
```
https://github.com/llvm/llvm-project/pull/141551
More information about the llvm-commits
mailing list