aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorVictor Do Nascimento <victor.donascimento@arm.com>2023-10-30 12:39:28 +0000
committerVictor Do Nascimento <victor.donascimento@arm.com>2023-11-07 21:54:19 +0000
commitf0d70d8ee63b6f6a59cf4a10268f546b0bc80777 (patch)
tree7b830773e473658e78fcf3acebba7ebfcf961e4b /gas
parent6219f9dae7d04b52ef171e0aa3341bf977b05a68 (diff)
downloadbinutils-f0d70d8ee63b6f6a59cf4a10268f546b0bc80777.zip
binutils-f0d70d8ee63b6f6a59cf4a10268f546b0bc80777.tar.gz
binutils-f0d70d8ee63b6f6a59cf4a10268f546b0bc80777.tar.bz2
aarch64: Add arch support for LSE128 extension
Enable the `+lse128' feature modifier which, together with new internal feature flags, enables LSE128 instructions, which are represented via the new `_LSE128_INSN' macro. gas/ChangeLog: * config/tc-aarch64.c (aarch64_features): Add new "lse128" entry. include/ChangeLog: * include/opcode/aarch64.h (enum aarch64_feature_bit): New AARCH64_FEATURE_LSE128 feature bit. (enum aarch64_insn_class): New lse128_atomic instruction class. opcodes/ChangeLog: * opcodes/aarch64-tbl.h (aarch64_feature_lse128): New. (LSE128): Likewise. (_LSE128_INSN): Likewise.
Diffstat (limited to 'gas')
-rw-r--r--gas/config/tc-aarch64.c1
-rw-r--r--gas/doc/c-aarch64.texi2
2 files changed, 3 insertions, 0 deletions
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 4367455..70c0ed6 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10239,6 +10239,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
AARCH64_FEATURE (SIMD)},
{"fp", AARCH64_FEATURE (FP), AARCH64_NO_FEATURES},
{"lse", AARCH64_FEATURE (LSE), AARCH64_NO_FEATURES},
+ {"lse128", AARCH64_FEATURES (2, LSE, LSE128), AARCH64_NO_FEATURES},
{"simd", AARCH64_FEATURE (SIMD), AARCH64_FEATURE (FP)},
{"pan", AARCH64_FEATURE (PAN), AARCH64_NO_FEATURES},
{"lor", AARCH64_FEATURE (LOR), AARCH64_NO_FEATURES},
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 8af38f2..81c1818 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -265,6 +265,8 @@ automatically cause those extensions to be disabled.
@tab Enable Guarded Control Stack Extension.
@item @code{the} @tab ARMv8-A/Armv9-A @tab ARMv8.9-A/Armv9.4-A or later
@tab Enable Translation Hardening extension.
+@item @code{lse128} @tab Armv9.4-A @tab No
+ @tab Enable the 128-bit Atomic Instructions extension. This implies @code{lse}.
@end multitable