[llvm] [AArch64] Lower and price partial reductions without dotprod (PR #214636)
Adam Scott via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 10 23:03:53 PDT 2026
================
@@ -19082,6 +19095,12 @@ bool AArch64TargetLowering::optimizeExtendOrTruncateConversion(
m_Intrinsic<Intrinsic::vector_partial_reduce_add>(
m_Value(), m_Specific(I))))
return true;
+ if (match(SingleUser,
+ m_c_Mul(m_Specific(I), m_ZExtOrSExt(m_Value()))) &&
+ SingleUser->hasOneUse() &&
+ match(SingleUser->user_back(),
+ m_Intrinsic<Intrinsic::vector_partial_reduce_add>()))
+ return true;
----------------
as4230 wrote:
For dotprod capable targets yes. I think base neon regresses a bit without the pairwise lowering that is also in this PR b/c it would become a ushll chain so they may need to stay together. Thanks for the godbolt though, I'll take another look.
https://github.com/llvm/llvm-project/pull/214636
More information about the llvm-commits
mailing list