[llvm] [AArch64] Enable maximising scalable vector bandwidth (PR #166748)
Sam Tebbs via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 17 08:27:49 PST 2025
================
@@ -371,8 +371,17 @@ 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());
+
+ if (K == TargetTransformInfo::RGK_FixedWidthVector && ST->isNeonAvailable())
+ return true;
+
+ switch (ST->getProcFamily()) {
+ case AArch64Subtarget::NeoverseN2:
----------------
SamTebbs33 wrote:
I've added a boolean to the AArch64 subtarget as David S suggested, I hope that's acceptable compared to a subtarget feature. Regarding why it's disabled for the N2 (and V1), it's shown some regressions on benchmarks, which will take some investigation to figure out why. We'll enable it for those cores once that's been looked in to and fixed.
https://github.com/llvm/llvm-project/pull/166748
More information about the llvm-commits
mailing list