[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