diff options
author | Matthew Wahab <matthew.wahab@arm.com> | 2015-12-10 13:58:21 +0000 |
---|---|---|
committer | Matthew Wahab <matthew.wahab@arm.com> | 2015-12-10 14:10:06 +0000 |
commit | af117b3cf1877da805d081b93f606f3dd8153502 (patch) | |
tree | 5dcf933712e8fb1426f84556a9b0dcff072f4900 /include/opcode/aarch64.h | |
parent | [gdb/doc] Stack, Examining the Stack: Reorder menu (diff) | |
download | binutils-gdb-af117b3cf1877da805d081b93f606f3dd8153502.tar.gz binutils-gdb-af117b3cf1877da805d081b93f606f3dd8153502.tar.bz2 binutils-gdb-af117b3cf1877da805d081b93f606f3dd8153502.zip |
[AArch64] Fix ARMv8.1 and ARMv8.2 feature settings.
ARMv8.1 includes CRC as a required extension but this isn't reflected in
the features enabled by -march=armv8.1-a. The FP16 feature modifier also
clashes with AARCH64_FEATURE_V8_1 and the list of features for ARMv8.2
is missing ARMv8.1 features.
This patch enables +crc for -march values of armv8.1-a and later. It
also fixes the values for AARCH64_FEATURE_F16 and makes
AARCH64_ARCH_V8_2 and superset of AARCH64_ARCH_V8_2.
gas/
2015-12-10 Matthew Wahab <matthew.wahab@arm.com>
* doc/c-aarch64.texi (AArch64 Extensions): Update entry for crc.
include/opcode
2015-12-10 Matthew Wahab <matthew.wahab@arm.com>
* aarch64.h (AARCH64_FEATURE_F16): Fix clash with
AARCH64_FEATURE_V8_1.
(AARCH64_ARCH_V8_1): Add AARCH64_FEATURE_CRC.
(AARCH64_ARCH_V8_2): Add AARCH64_FEATURE_CRC and
AARCH64_FEATURE_V8_1.
Change-Id: I8af5369f6df2430b28f6cec92870d2a4d14a7431
Diffstat (limited to 'include/opcode/aarch64.h')
-rw-r--r-- | include/opcode/aarch64.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index f1658bc55ea..6654be358fb 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -48,7 +48,7 @@ typedef uint32_t aarch64_insn; #define AARCH64_FEATURE_LOR 0x00400000 /* LOR instructions. */ #define AARCH64_FEATURE_RDMA 0x00800000 /* v8.1 SIMD instructions. */ #define AARCH64_FEATURE_V8_1 0x01000000 /* v8.1 features. */ -#define AARCH64_FEATURE_F16 0x01000000 /* v8.2 FP16 instructions. */ +#define AARCH64_FEATURE_F16 0x02000000 /* v8.2 FP16 instructions. */ /* Architectures are the sum of the base and extensions. */ #define AARCH64_ARCH_V8 AARCH64_FEATURE (AARCH64_FEATURE_V8, \ @@ -57,6 +57,7 @@ typedef uint32_t aarch64_insn; #define AARCH64_ARCH_V8_1 AARCH64_FEATURE (AARCH64_FEATURE_V8, \ AARCH64_FEATURE_FP \ | AARCH64_FEATURE_SIMD \ + | AARCH64_FEATURE_CRC \ | AARCH64_FEATURE_V8_1 \ | AARCH64_FEATURE_LSE \ | AARCH64_FEATURE_PAN \ @@ -66,7 +67,9 @@ typedef uint32_t aarch64_insn; AARCH64_FEATURE_V8_2 \ | AARCH64_FEATURE_F16 \ | AARCH64_FEATURE_FP \ - | AARCH64_FEATURE_SIMD \ + | AARCH64_FEATURE_SIMD \ + | AARCH64_FEATURE_CRC \ + | AARCH64_FEATURE_V8_1 \ | AARCH64_FEATURE_LSE \ | AARCH64_FEATURE_PAN \ | AARCH64_FEATURE_LOR \ |