[llvm] [AArch64][TTI] Allow mixed-extension partial reductions with +dotprod (PR #199762)
Sander de Smalen via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 2 04:08:53 PDT 2026
================
@@ -6043,8 +6043,9 @@ InstructionCost AArch64TTIImpl::getPartialReductionCost(
return Invalid;
bool IsUSDot = OpBExtend != TTI::PR_None && OpAExtend != OpBExtend;
- if (IsUSDot && !ST->hasMatMulInt8())
- // FIXME: Remove this early bailout in favour of expand cost.
+ // USDot is natively supported with +i8mm. With plain +dotprod, SUMLA is
+ // lowered to two udots plus an eor and a sub.
+ if (IsUSDot && !ST->hasMatMulInt8() && !ST->hasDotProd())
----------------
sdesmalen-arm wrote:
The FIXME suggests that this bail-out can be removed; I tried removing this and none of the tests failed.
The code that follows this seems to correctly guard for IsUSDot. Can you either remove the bailout in this PR (and add a corresponding test for other data types, e.g. i16 -> i64) or keep the FIXME to remove the bailout later?
https://github.com/llvm/llvm-project/pull/199762
More information about the llvm-commits
mailing list