diff options
author | Tamar Christina <tamar.christina@arm.com> | 2017-11-15 15:56:23 +0000 |
---|---|---|
committer | Tamar Christina <tamar.christina@arm.com> | 2017-11-15 15:56:23 +0000 |
commit | 01f48020363f1ca9b31df2ee0b2afedc38db1259 (patch) | |
tree | 22c06e70932733f22e4e8a84fc8ef9184f947cfe /include | |
parent | c0c11fa91dbbf91b9c9d04384fe9f3ef5a6e7145 (diff) | |
download | gdb-01f48020363f1ca9b31df2ee0b2afedc38db1259.zip gdb-01f48020363f1ca9b31df2ee0b2afedc38db1259.tar.gz gdb-01f48020363f1ca9b31df2ee0b2afedc38db1259.tar.bz2 |
Separate 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
from Armv8.4-a.
gas/
* config/tc-arm.c (arm_ext_fp16_fml, fp16fml): New.
(do_neon_fmac_maybe_scalar_long): Use arm_ext_fp16_fml.
* doc/c-arm.texi (fp16, fp16fml): New.
* testsuite/gas/arm/armv8_2-a-fp16.d (fp16): Make fp16fml.
* testsuite/gas/arm/armv8_3-a-fp16.d (fp16): Make fp16fml.
* testsuite/gas/arm/armv8_2-a-fp16-illegal.d (fp16): Make fp16fml.
* testsuite/gas/arm/armv8_2-a-fp16-thumb2.d (fp16): Make fp16fml.
include/
* opcode/arm.h: (ARM_EXT2_FP16_FML): New.
(ARM_AEXT2_V8_4A): Add ARM_EXT2_FP16_FML.
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/opcode/arm.h | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index a6e3ebc..79b6eeb 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2017-11-15 Tamar Christina <tamar.christina@arm.com> + + * opcode/arm.h: (ARM_EXT2_FP16_FML): New. + (ARM_AEXT2_V8_4A): Add ARM_EXT2_FP16_FML. + 2017-11-13 Jan Beulich <jbeulich@suse.com> * coff/pe.h (COFF_ENCODE_ALIGNMENT): Cap value to maximum one diff --git a/include/opcode/arm.h b/include/opcode/arm.h index 932bf63..a15e5d6 100644 --- a/include/opcode/arm.h +++ b/include/opcode/arm.h @@ -67,6 +67,7 @@ #define ARM_EXT2_V8_3A 0x00000100 /* ARM V8.3A. */ #define ARM_EXT2_V8A 0x00000200 /* ARMv8-A. */ #define ARM_EXT2_V8_4A 0x00000400 /* ARM V8.4A. */ +#define ARM_EXT2_FP16_FML 0x00000800 /* ARM V8.2A FP16-FML instructions. */ /* Co-processor space extensions. */ #define ARM_CEXT_XSCALE 0x00000001 /* Allow MIA etc. */ @@ -157,7 +158,7 @@ #define ARM_AEXT2_V8_1A (ARM_AEXT2_V8A | ARM_EXT2_PAN) #define ARM_AEXT2_V8_2A (ARM_AEXT2_V8_1A | ARM_EXT2_V8_2A | ARM_EXT2_RAS) #define ARM_AEXT2_V8_3A (ARM_AEXT2_V8_2A | ARM_EXT2_V8_3A) -#define ARM_AEXT2_V8_4A (ARM_AEXT2_V8_3A | ARM_EXT2_V8_4A) +#define ARM_AEXT2_V8_4A (ARM_AEXT2_V8_3A | ARM_EXT2_FP16_FML | ARM_EXT2_V8_4A) #define ARM_AEXT_V8M_BASE (ARM_AEXT_V6SM | ARM_EXT_DIV) #define ARM_AEXT_V8M_MAIN ARM_AEXT_V7M #define ARM_AEXT_V8M_MAIN_DSP ARM_AEXT_V7EM |