[llvm] [AArch64][SME2] Preserve ZT0 state around function calls (PR #78321)

Sander de Smalen via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 18 01:04:43 PST 2024


================
@@ -8074,14 +8102,20 @@ AArch64TargetLowering::LowerCall(CallLoweringInfo &CLI,
                                  PStateSM, false);
   }
 
+  if ((RequiresLazySave && !CalleeAttrs.preservesZA()) || ToggleZA)
----------------
sdesmalen-arm wrote:

Not something for this patch, but I think the combination of 'lazy-save + preserving ZA' is no longer a supported combination with the new attributes, since `__arm_preserves("za")` means the function uses a shared-ZA interface, and will therefore not use the lazy-save mechanism. We can simplify this further in a future patch.

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


More information about the llvm-commits mailing list