[llvm] [AArch64] Enable maximize vector bandwidth for Neoverse-V1, V2 and N1 (PR #166748)
Sander de Smalen via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 6 05:44:33 PST 2025
================
@@ -371,8 +371,15 @@ 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());
+ switch (ST->getProcFamily()) {
+ case AArch64Subtarget::NeoverseV2:
+ case AArch64Subtarget::NeoverseV1:
+ case AArch64Subtarget::NeoverseN1:
+ return true;
----------------
sdesmalen-arm wrote:
Two things:
* This is overriding the default for fixed-length vectors, is that intentional?
* For scalable vectors, I'd rather we make it the default to enable this unless we have found an instance where maximising bandwidth is not profitable.
https://github.com/llvm/llvm-project/pull/166748
More information about the llvm-commits
mailing list