[PATCH v3 1/2] aarch64: Add definitions for missing architecture bits

Yury Khrustalev yury.khrustalev@arm.com
Mon Jun 9 10:19:13 GMT 2025


Complete macros for feature bits for v9.1-A, v9.2-A, v9.3-A,
and v9.4-A.
---
 include/opcode/aarch64.h | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 3bfdb94124d..1b209ed7730 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -268,6 +268,14 @@ enum aarch64_feature_bit {
   AARCH64_FEATURE_SVE_B16B16,
   /* SME non-widening BFloat16 instructions.  */
   AARCH64_FEATURE_SME_B16B16,
+  /* Armv9.1-A processors.  */
+  AARCH64_FEATURE_V9_1A,
+  /* Armv9.2-A processors.  */
+  AARCH64_FEATURE_V9_2A,
+  /* Armv9.3-A processors.  */
+  AARCH64_FEATURE_V9_3A,
+  /* Armv9.4-A processors.  */
+  AARCH64_FEATURE_V9_4A,
   /* Armv9.5-A processors.  */
   AARCH64_FEATURE_V9_5A,
 
@@ -374,10 +382,14 @@ enum aarch64_feature_bit {
 					 | AARCH64_FEATBIT (X, F16)	\
 					 | AARCH64_FEATBIT (X, SVE)	\
 					 | AARCH64_FEATBIT (X, SVE2))
-#define AARCH64_ARCH_V9_1A_FEATURES(X)	AARCH64_ARCH_V8_6A_FEATURES (X)
-#define AARCH64_ARCH_V9_2A_FEATURES(X)	AARCH64_ARCH_V8_7A_FEATURES (X)
-#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) \
+#define AARCH64_ARCH_V9_1A_FEATURES(X)	(AARCH64_FEATBIT (X, V9_1A)	\
+					 | AARCH64_ARCH_V8_6A_FEATURES (X))
+#define AARCH64_ARCH_V9_2A_FEATURES(X)	(AARCH64_FEATBIT (X, V9_2A)	\
+					 | AARCH64_ARCH_V8_7A_FEATURES (X))
+#define AARCH64_ARCH_V9_3A_FEATURES(X)	(AARCH64_FEATBIT (X, V9_3A)	\
+					 | AARCH64_ARCH_V8_8A_FEATURES (X))
+#define AARCH64_ARCH_V9_4A_FEATURES(X)	(AARCH64_FEATBIT (X, V9_4A)	\
+					 | 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)	\
-- 
2.39.5



More information about the Binutils mailing list