[llvm] [AArch64] Enable quad variant st1b/ld1b for callee-saved spills (PR #225100)

Kieran B via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 24 02:13:46 PDT 2026


================
@@ -2177,14 +2270,22 @@ bool AArch64FrameLowering::spillCalleeSavedRegisters(
     }
     // Update the StackIDs of the SVE stack slots.
     MachineFrameInfo &MFI = MF.getFrameInfo();
-    if (RPI.Type == RegPairInfo::ZPR) {
+    if (RGI.Type == RegGroupInfo::ZPR) {
       MFI.setStackID(FrameIdxReg1, TargetStackID::ScalableVector);
-      if (RPI.isPaired())
+      if (RGI.isGrouped())
         MFI.setStackID(FrameIdxReg2, TargetStackID::ScalableVector);
-    } else if (RPI.Type == RegPairInfo::PPR) {
+      if (RGI.isQuad()) {
+        MFI.setStackID(FrameIdxReg3, TargetStackID::ScalableVector);
+        MFI.setStackID(FrameIdxReg4, TargetStackID::ScalableVector);
+      }
+    } else if (RGI.Type == RegGroupInfo::PPR) {
       MFI.setStackID(FrameIdxReg1, TargetStackID::ScalablePredicateVector);
-      if (RPI.isPaired())
+      if (RGI.isGrouped())
         MFI.setStackID(FrameIdxReg2, TargetStackID::ScalablePredicateVector);
+      if (RGI.isQuad()) {
+        MFI.setStackID(FrameIdxReg3, TargetStackID::ScalablePredicateVector);
+        MFI.setStackID(FrameIdxReg4, TargetStackID::ScalablePredicateVector);
+      }
     }
----------------
kieroxide wrote:

Done.

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


More information about the llvm-commits mailing list