[llvm] [AArch64][SVE] Enable max vector bandwidth for SVE (PR #109671)
Graham Hunter via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 23 08:34:22 PDT 2024
================
@@ -333,8 +333,10 @@ AArch64TTIImpl::getInlineCallPenalty(const Function *F, const CallBase &Call,
bool AArch64TTIImpl::shouldMaximizeVectorBandwidth(
TargetTransformInfo::RegisterKind K) const {
assert(K != TargetTransformInfo::RGK_Scalar);
- return (K == TargetTransformInfo::RGK_FixedWidthVector &&
- ST->isNeonAvailable());
+ return ((K == TargetTransformInfo::RGK_FixedWidthVector &&
+ ST->isNeonAvailable()) ||
+ (K == TargetTransformInfo::RGK_ScalableVector &&
+ ST->isSVEorStreamingSVEAvailable()));
----------------
huntergr-arm wrote:
Doing that causes the vectorizer to maximize bandwidth in streaming-compatible-sve-no-maximize-bandwidth.ll, which was explicitly testing against that. @sdesmalen-arm how important is this reduced VF?
I guess we could do something like `return !ST->isStreaming() && !ST->isStreamingCompatible()` ?
https://github.com/llvm/llvm-project/pull/109671
More information about the llvm-commits
mailing list