diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2017-02-24 18:27:26 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2017-02-24 18:27:26 +0000 |
commit | f482d3044722558c3b16f54b33b0855bfbae36b1 (patch) | |
tree | 7daa88fa21eaed9bb36de3a5df2b4ded773e50b8 /include | |
parent | 6b4bf3bc355bea57be3c0f6f61008a23b9067a11 (diff) | |
download | fsf-binutils-gdb-f482d3044722558c3b16f54b33b0855bfbae36b1.zip fsf-binutils-gdb-f482d3044722558c3b16f54b33b0855bfbae36b1.tar.gz fsf-binutils-gdb-f482d3044722558c3b16f54b33b0855bfbae36b1.tar.bz2 |
[AArch64] Add a "compnum" feature
This patch adds a named "compnum" feature for the ARMv8.3-A FCADD
and FCMLA extensions.
include/
* opcode/aarch64.h (AARCH64_FEATURE_COMPNUM): New macro.
(AARCH64_ARCH_V8_3): Include AARCH64_FEATURE_COMPNUM.
opcodes/
* aarch64-tbl.h (aarch64_feature_simd_v8_3): Replace with...
(aarch64_feature_compnum): ...this.
(SIMD_V8_3): Replace with...
(COMPNUM): ...this.
(CNUM_INSN): New macro.
(aarch64_opcode_table): Use it for the complex number instructions.
gas/
* doc/c-aarch64.texi: Add a "compnum" entry.
* config/tc-aarch64.c (aarch64_features): Likewise,
* testsuite/gas/aarch64/advsimd-compnum.s: New test.
* testsuite/gas/aarch64/advsimd-compnum.d: Likewise.
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/opcode/aarch64.h | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index f3e5811..5a4d1e1 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2017-02-24 Richard Sandiford <richard.sandiford@arm.com> + + * opcode/aarch64.h (AARCH64_FEATURE_COMPNUM): New macro. + (AARCH64_ARCH_V8_3): Include AARCH64_FEATURE_COMPNUM. + 2017-02-22 Andrew Waterman <andrew@sifive.com> * opcode/riscv-opc.h (CSR_SCOUNTEREN): New define. diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index c4f75e5..8dbb540 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -54,6 +54,7 @@ typedef uint32_t aarch64_insn; #define AARCH64_FEATURE_PROFILE 0x08000000 /* Statistical Profiling. */ #define AARCH64_FEATURE_SVE 0x10000000 /* SVE instructions. */ #define AARCH64_FEATURE_RCPC 0x20000000 /* RCPC instructions. */ +#define AARCH64_FEATURE_COMPNUM 0x40000000 /* Complex # instructions. */ /* Architectures are the sum of the base and extensions. */ #define AARCH64_ARCH_V8 AARCH64_FEATURE (AARCH64_FEATURE_V8, \ @@ -72,7 +73,8 @@ typedef uint32_t aarch64_insn; | AARCH64_FEATURE_RAS) #define AARCH64_ARCH_V8_3 AARCH64_FEATURE (AARCH64_ARCH_V8_2, \ AARCH64_FEATURE_V8_3 \ - | AARCH64_FEATURE_RCPC) + | AARCH64_FEATURE_RCPC \ + | AARCH64_FEATURE_COMPNUM) #define AARCH64_ARCH_NONE AARCH64_FEATURE (0, 0) #define AARCH64_ANY AARCH64_FEATURE (-1, 0) /* Any basic core. */ |