================
@@ -3524,7 +3524,13 @@
tryToMatchAndCreateMulAccumulateReduction(VPReductionRecipe *Red,
};
VPValue *VecOp = Red->getVecOp();
+ VPValue *Sub = nullptr;
VPValue *A, *B;
+ // Sub reductions could have a sub between the add reduction and vec op.
+ if (match(VecOp, m_Binary<Instruction::Sub>(m_SpecificInt(0), m_VPValue())))
{
----------------
sdesmalen-arm wrote:
just a minor nit: is it worth creating a `VPValue *Tmp`, and matching
`m_VPValue(Tmp)`, and then doing `VecOp = Tmp;` rather than getting operand 1
from the defining recipe?
https://github.com/llvm/llvm-project/pull/160154
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits