aboutsummaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authorClaudio Bantaloukas <claudio.bantaloukas@arm.com>2024-06-10 13:18:52 +0000
committerRichard Earnshaw <rearnsha@arm.com>2024-06-28 14:52:30 +0100
commit032eb4f71898d77f10c44f115f26e9a0680d3906 (patch)
treee08e6088f704aef2f867a5f78a9f28af90f3bcda /include/opcode
parentd5a0c0a308cacb5ce928c20cbee1ef85f917824e (diff)
downloadbinutils-032eb4f71898d77f10c44f115f26e9a0680d3906.zip
binutils-032eb4f71898d77f10c44f115f26e9a0680d3906.tar.gz
binutils-032eb4f71898d77f10c44f115f26e9a0680d3906.tar.bz2
aarch64: Add support for Armv9.5-A architecture
The new -march=armv9.5-a flag enables access to the mandatory cpa, lut and faminmax extensions. Existing test cases for features are extended to verify they work without additional flags.
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/aarch64.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 61758c9..9daa911 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -269,6 +269,8 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_FP8DOT2_SVE,
/* +sme-f16f16 or +sme-f8f16 */
AARCH64_FEATURE_SME_F16F16_F8F16,
+ /* Armv9.5-A processors. */
+ AARCH64_FEATURE_V9_5A,
AARCH64_NUM_FEATURES
};
@@ -361,6 +363,10 @@ enum aarch64_feature_bit {
#define AARCH64_ARCH_V9_3A_FEATURES(X) AARCH64_ARCH_V8_8A_FEATURES (X)
#define AARCH64_ARCH_V9_4A_FEATURES(X) (AARCH64_ARCH_V8_9A_FEATURES (X) \
| AARCH64_FEATBIT (X, SVE2p1))
+#define AARCH64_ARCH_V9_5A_FEATURES(X) (AARCH64_FEATBIT (X, V9_5A) \
+ | AARCH64_FEATBIT (X, CPA) \
+ | AARCH64_FEATBIT (X, LUT) \
+ | AARCH64_FEATBIT (X, FAMINMAX))
/* Architectures are the sum of the base and extensions. */
#define AARCH64_ARCH_V8A(X) (AARCH64_FEATBIT (X, V8) \
@@ -398,6 +404,8 @@ enum aarch64_feature_bit {
| AARCH64_ARCH_V9_3A_FEATURES (X))
#define AARCH64_ARCH_V9_4A(X) (AARCH64_ARCH_V9_3A (X) \
| AARCH64_ARCH_V9_4A_FEATURES (X))
+#define AARCH64_ARCH_V9_5A(X) (AARCH64_ARCH_V9_4A (X) \
+ | AARCH64_ARCH_V9_5A_FEATURES (X))
#define AARCH64_ARCH_NONE(X) 0