[llvm] [AArch64] Lower partial add reduction to udot or svdot (PR #101010)
Sam Tebbs via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 1 03:02:01 PDT 2024
================
@@ -3533,6 +3533,36 @@ AArch64TTIImpl::getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) {
return Cost;
}
+bool AArch64TTIImpl::isPartialReductionSupported(
+ const Instruction *ReductionInstr, Type *InputType, unsigned ScaleFactor,
----------------
SamTebbs33 wrote:
It's the scaling difference between the element size of the inputs and the size of the resulting scalar from the entire reduction. In the tests you'll see that the input types are extended and the resulting scalar is 4 times the size, which mirrors how the dot product instructions work.
https://github.com/llvm/llvm-project/pull/101010
More information about the llvm-commits
mailing list