================
@@ -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

Reply via email to