From 032eb4f71898d77f10c44f115f26e9a0680d3906 Mon Sep 17 00:00:00 2001 From: Claudio Bantaloukas Date: Mon, 10 Jun 2024 13:18:52 +0000 Subject: 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. --- include/opcode/aarch64.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include') 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 -- cgit v1.1