[llvm] [AArch64] Don't allow mixed partial reductions without i8mm (PR #137602)
Sander de Smalen via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 28 08:59:12 PDT 2025
================
@@ -5345,10 +5345,9 @@ InstructionCost AArch64TTIImpl::getPartialReductionCost(
return Invalid;
// AArch64 supports lowering mixed extensions to a usdot but only if the
- // i8mm or sve/streaming features are available.
+ // i8mm feature is available.
if (OpAExtend == TTI::PR_None || OpBExtend == TTI::PR_None ||
- (OpAExtend != OpBExtend && !ST->hasMatMulInt8() &&
- !ST->isSVEorStreamingSVEAvailable()))
+ (OpAExtend != OpBExtend && !ST->hasMatMulInt8()))
----------------
sdesmalen-arm wrote:
It seems I forgot that there was also a corresponding NEON instruction. The code above already checks to see if SVE/Streaming-SVE is available when the type is scalable, or if NEON is available when the type is fixed-length, so only checking for i8mm here should indeed be sufficient. Could you add a test-case for the NEON case?
https://github.com/llvm/llvm-project/pull/137602
More information about the llvm-commits
mailing list