diff options
author | Tamar Christina <tamar.christina@arm.com> | 2017-11-16 16:19:37 +0000 |
---|---|---|
committer | Tamar Christina <tamar.christina@arm.com> | 2017-11-16 16:27:35 +0000 |
commit | d0f7791c6659081f3a62e220289417c010997baa (patch) | |
tree | 2ace58421ccd2ab2d395f5514132bde64c9c3f1e /include | |
parent | fadfa6b0020b934500356e7aea8934a4565657d3 (diff) | |
download | gdb-d0f7791c6659081f3a62e220289417c010997baa.zip gdb-d0f7791c6659081f3a62e220289417c010997baa.tar.gz gdb-d0f7791c6659081f3a62e220289417c010997baa.tar.bz2 |
Add new AArch64 FP16 FM{A|S} instructions.
This patch separates the new FP16 instructions backported from Armv8.4-a to Armv8.2-a
into a new flag order to distinguish them from the rest of the already existing optional
FP16 instructions in Armv8.2-a.
The new flag "+fp16fml" is available from Armv8.2-a and implies +fp16 and is mandatory on
Armv8.4-a.
gas/
* config/tc-aarch64.c (fp16fml): New.
* doc/c-aarch64.texi (fp16fml): New.
* testsuite/gas/aarch64/armv8_2-a-crypto-fp16.d (fp16): Make fp16fml.
* testsuite/gas/aarch64/armv8_3-a-crypto-fp16.d (fp16): Make fp16fml.
include/
* opcode/aarch64.h: (AARCH64_FEATURE_F16_FML): New.
(AARCH64_ARCH_V8_4): Enable AARCH64_FEATURE_F16_FML by default.
opcodes/
* aarch64-tbl.h (aarch64_feature_fp_16_v8_2): Require AARCH64_FEATURE_F16_FML
and AARCH64_FEATURE_F16.
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 79b6eeb..670456c 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2017-11-16 Tamar Christina <tamar.christina@arm.com> + + * opcode/aarch64.h: (AARCH64_FEATURE_F16_FML): New. + (AARCH64_ARCH_V8_4): Enable AARCH64_FEATURE_F16_FML by default. + 2017-11-15 Tamar Christina <tamar.christina@arm.com> * opcode/arm.h: (ARM_EXT2_FP16_FML): New. diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 37c4a43..73ebd80 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -61,6 +61,7 @@ typedef uint32_t aarch64_insn; #define AARCH64_FEATURE_RCPC 0x20000000 /* RCPC instructions. */ #define AARCH64_FEATURE_COMPNUM 0x40000000 /* Complex # instructions. */ #define AARCH64_FEATURE_DOTPROD 0x080000000 /* Dot Product instructions. */ +#define AARCH64_FEATURE_F16_FML 0x1000000000ULL /* v8.2 FP16FML ins. */ /* Architectures are the sum of the base and extensions. */ #define AARCH64_ARCH_V8 AARCH64_FEATURE (AARCH64_FEATURE_V8, \ @@ -82,7 +83,8 @@ typedef uint32_t aarch64_insn; | AARCH64_FEATURE_COMPNUM) #define AARCH64_ARCH_V8_4 AARCH64_FEATURE (AARCH64_ARCH_V8_3, \ AARCH64_FEATURE_V8_4 \ - | AARCH64_FEATURE_DOTPROD) + | AARCH64_FEATURE_DOTPROD \ + | AARCH64_FEATURE_F16_FML) #define AARCH64_ARCH_NONE AARCH64_FEATURE (0, 0) #define AARCH64_ANY AARCH64_FEATURE (-1, 0) /* Any basic core. */ |