On 10/23/25 07:31, Alfie Richards wrote:
Hi all,
Updated the documentation part of this patch after some feedback.
Functional code unchanged.
Reg tested on AArch64.
Ok for master?
Taking another look at the documentation...
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index fb117f59665..6643c00e11e 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -3930,6 +3930,24 @@ threads, such as the POSIX @code{swapcontext} function.
This attribute
adds a @code{BTI J} instruction when BTI is enabled e.g. via
@option{-mbranch-protection}.
+@cindex @code{preserve_none} function attribute, AArch64
+@item preserve_none
+Use this attribute to change the procedure call standard of the specified
+function to the preserve-none variant.
+
+The preserve-none ABI variant modifies the AAPCS such that has no
I think there's a word missing here, maybe "such that **it** has no"?
+callee-saved registers (including SIMD and floating-point registers).
+That is, all registers, except for stack register,
+link register (r30), and frame pointer (r29), are shifted to be caller saved,
+and can be used as scratch registers by the callee.
Since "shifting" a register has a different technical meaning, I'd
prefer using some other phrasing. Maybe "changed"?
-Sandra