Hello,
Thank you for the review,
On 17/10/2025 18:32, Sandra Loosemore wrote:
On 10/17/25 09:47, [email protected] wrote:
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 94b76b75565..231551d6a16 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
Is it called the "preserve_none variant" (with an underscore) or the
"preserve-none variant" (with a hyphen)? We should at least be
consistent in our internal documentation even if external references
haven't settled on the spelling yet.
Is there any kind of external reference for this ABI variant that we
could link to here, BTW?
Not yet, we're working out where this should be specified, but hopefully
will have something worked out soon.>
+callee-saved registers (including SIMD and floating point registers).
floating-point registers, hyphenated, please.
+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.
+
+Additionally, registers r20-r28, r0-r7, r10-r14, and finally r9 are
used for
In Texinfo markup you're supposed to use two dashes to indicate a range,
e.g. registers r20--r28.
+argument passing, in that order. The return value registers remain
r0 and r1.
+
+All other details are the same as for the AAPCS ABI.
+
+This ABI has not been stabilized, and may be subject to change in future
+versions.
@end table
The above target attributes can be specified as follows:
I will address the other nits in v2
Alfie