diff options
author | Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> | 2020-11-16 20:37:39 +0000 |
---|---|---|
committer | Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> | 2020-11-16 21:07:17 +0000 |
commit | e64441b14c26a5361e030064cf62c419572fc392 (patch) | |
tree | dbdde421e2aed9b228cd3526b4c959858761dcd7 /include/opcode | |
parent | 1bbda94fe0174714e296335e7cc744b5fb618525 (diff) | |
download | fsf-binutils-gdb-e64441b14c26a5361e030064cf62c419572fc392.zip fsf-binutils-gdb-e64441b14c26a5361e030064cf62c419572fc392.tar.gz fsf-binutils-gdb-e64441b14c26a5361e030064cf62c419572fc392.tar.bz2 |
aarch64: Extract Condition flag manipulation feature from Armv8.4-A
Extract FLAGM (Condition flag manipulation) feature from Armv8.4-A.
Please note that FLAGM stays a Armv8.4-A feature but now can be
assigned to other architectures or CPUs.
New -march option +flagm is added to enable independently this
feature.
Diffstat (limited to 'include/opcode')
-rw-r--r-- | include/opcode/aarch64.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 304c6cb..aad2c41 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -75,7 +75,7 @@ typedef uint32_t aarch64_insn; #define AARCH64_FEATURE_AES (1ULL << 35) /* AES instructions. */ #define AARCH64_FEATURE_F16_FML (1ULL << 36) /* v8.2 FP16FML ins. */ #define AARCH64_FEATURE_V8_5 (1ULL << 37) /* ARMv8.5 processors. */ -#define AARCH64_FEATURE_FLAGMANIP (1ULL << 38) /* Flag Manipulation insns. */ +#define AARCH64_FEATURE_FLAGMANIP (1ULL << 38) /* v8.5 Flag Manipulation version 2. */ #define AARCH64_FEATURE_FRINTTS (1ULL << 39) /* FRINT[32,64][Z,X] insns. */ #define AARCH64_FEATURE_SB (1ULL << 40) /* SB instruction. */ #define AARCH64_FEATURE_PREDRES (1ULL << 41) /* Execution and Data Prediction Restriction instructions. */ @@ -90,6 +90,7 @@ typedef uint32_t aarch64_insn; #define AARCH64_FEATURE_I8MM (1ULL << 52) /* Matrix Multiply instructions. */ #define AARCH64_FEATURE_F32MM (1ULL << 53) #define AARCH64_FEATURE_F64MM (1ULL << 54) +#define AARCH64_FEATURE_FLAGM (1ULL << 55) /* v8.4 Flag Manipulation. */ /* Crypto instructions are the combination of AES and SHA2. */ #define AARCH64_FEATURE_CRYPTO (AARCH64_FEATURE_SHA2 | AARCH64_FEATURE_AES) @@ -117,6 +118,7 @@ typedef uint32_t aarch64_insn; #define AARCH64_ARCH_V8_4 AARCH64_FEATURE (AARCH64_ARCH_V8_3, \ AARCH64_FEATURE_V8_4 \ | AARCH64_FEATURE_DOTPROD \ + | AARCH64_FEATURE_FLAGM \ | AARCH64_FEATURE_F16_FML) #define AARCH64_ARCH_V8_5 AARCH64_FEATURE (AARCH64_ARCH_V8_4, \ AARCH64_FEATURE_V8_5 \ |