aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlex Coplan <alex.coplan@arm.com>2023-12-14 16:50:30 +0000
committerAlex Coplan <alex.coplan@arm.com>2023-12-14 16:50:30 +0000
commit8cfc28040ec622a9fbd4b91c1520b1d2688f24eb (patch)
treea20c40ecc7099db2c13960b924ba6e657d185642 /gcc
parent7d00a59229ee17af009a3c6c6208b0611740ed49 (diff)
downloadgcc-8cfc28040ec622a9fbd4b91c1520b1d2688f24eb.zip
gcc-8cfc28040ec622a9fbd4b91c1520b1d2688f24eb.tar.gz
gcc-8cfc28040ec622a9fbd4b91c1520b1d2688f24eb.tar.bz2
doc: Document AArch64-specific asm operand modifiers
As it stands, GCC doesn't document any public AArch64-specific operand modifiers for use in inline asm. This patch fixes that by documenting an initial set of public AArch64-specific operand modifiers. gcc/ChangeLog: * doc/extend.texi: Document AArch64 Operand Modifiers.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/doc/extend.texi25
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index f0c789f..72dd1de 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -11728,6 +11728,31 @@ operand as if it were a memory reference.
@tab @code{%l0}
@end multitable
+@anchor{aarch64Operandmodifiers}
+@subsubsection AArch64 Operand Modifiers
+
+The following table shows the modifiers supported by AArch64 and their effects:
+
+@multitable @columnfractions .10 .90
+@headitem Modifier @tab Description
+@item @code{w} @tab Print a 32-bit general-purpose register name or, given a
+constant zero operand, the 32-bit zero register (@code{wzr}).
+@item @code{x} @tab Print a 64-bit general-purpose register name or, given a
+constant zero operand, the 64-bit zero register (@code{xzr}).
+@item @code{b} @tab Print an FP/SIMD register name with a @code{b} (byte, 8-bit)
+prefix.
+@item @code{h} @tab Print an FP/SIMD register name with an @code{h} (halfword,
+16-bit) prefix.
+@item @code{s} @tab Print an FP/SIMD register name with an @code{s} (single
+word, 32-bit) prefix.
+@item @code{d} @tab Print an FP/SIMD register name with a @code{d} (doubleword,
+64-bit) prefix.
+@item @code{q} @tab Print an FP/SIMD register name with a @code{q} (quadword,
+128-bit) prefix.
+@item @code{Z} @tab Print an FP/SIMD register name as an SVE register (i.e. with
+a @code{z} prefix). This is a no-op for SVE register operands.
+@end multitable
+
@anchor{x86Operandmodifiers}
@subsubsection x86 Operand Modifiers