[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:48 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:

Thanks, I've added `shouldMaximizeScalableVectorBandwidth()`, and have kept the SVE/streaming SVE check. Let me know what you think!

https://github.com/llvm/llvm-project/pull/166748


More information about the llvm-commits mailing list