diff options
author | Matthew Wahab <matthew.wahab@arm.com> | 2016-03-04 11:28:28 +0000 |
---|---|---|
committer | Matthew Wahab <matthew.wahab@arm.com> | 2016-03-04 11:32:04 +0000 |
commit | 643afb90da9066e9d3c6dc721920b14ed343bec9 (patch) | |
tree | 67d5efb6d7a8235a120bd9a55b41c68c275737a8 /include | |
parent | dc1c8a16a38dec431c77f49cf50a9b62d6366138 (diff) | |
download | gdb-643afb90da9066e9d3c6dc721920b14ed343bec9.zip gdb-643afb90da9066e9d3c6dc721920b14ed343bec9.tar.gz gdb-643afb90da9066e9d3c6dc721920b14ed343bec9.tar.bz2 |
[ARM] Add feature check for ARMv8.1 AdvSIMD instructions.
gas/
2016-03-04 Matthew Wahab <matthew.wahab@arm.com>
* config/gas/tc-arm.c (fpu_neon_ext_v8_1): Restrict to the ARMv8.1 RDMA
feature.
(record_feature_use): New.
(mark_feature_used): Use record_feature_use.
(do_neon_qrdmlah): New.
(insns): Use do_neon_qrdmlah for vqrdmlah and vqrdmlsh and
variants.
(arm_extensions): Put into alphabetical order. Re-indent "simd"
and "rdma" entries. Fix the incorrect merge value for "+rdma".
* testsuite/gas/arm/armv8-a+rdma-warning.d: New.
* testsuite/gas/arm/armv8-a+rdma.d: Add assembler command line options.
Make source file explicit.
* testsuite/gas/arm/armv8-a+rdma.l: New.
* testsuite/gas/arm/armv8-a+rdma.s: Remove .arch and .arch_extension
directives. Fix white-space.
* testsuite/gas/arm/armv8_1-a+simd.d: New.
include/opcode
2016-03-04 Matthew Wahab <matthew.wahab@arm.com>
* arm.h (ARM_ARCH_V8_1A): Add FPU_NEON_EXT_RDMA.
(ARM_CPU_HAS_FEATURE): Add comment.
Change-Id: Ie19250e8fa50aed44e44ab40ff30b04b38bc1a3d
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 6a54ba2..70f62cf 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2016-03-04 Matthew Wahab <matthew.wahab@arm.com> + + * arm.h (ARM_ARCH_V8_1A): Add FPU_NEON_EXT_RDMA. + (ARM_CPU_HAS_FEATURE): Add comment. + 2015-03-03 Evgenii Stepanov <eugenis@google.com> * plugin-api.h (enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V3. diff --git a/include/opcode/arm.h b/include/opcode/arm.h index 1dc301e..b19b500 100644 --- a/include/opcode/arm.h +++ b/include/opcode/arm.h @@ -261,7 +261,7 @@ #define ARM_ARCH_V7EM ARM_FEATURE_CORE (ARM_AEXT_V7EM, ARM_EXT2_V6T2_V8M) #define ARM_ARCH_V8A ARM_FEATURE_CORE (ARM_AEXT_V8A, ARM_AEXT2_V8A) #define ARM_ARCH_V8_1A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_1A, \ - CRC_EXT_ARMV8) + CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA) #define ARM_ARCH_V8_2A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_2A, \ CRC_EXT_ARMV8) #define ARM_ARCH_V8M_BASE ARM_FEATURE_CORE (ARM_AEXT_V8M_BASE, ARM_AEXT2_V8M) @@ -321,6 +321,7 @@ typedef struct unsigned long coproc; } arm_feature_set; +/* Test whether CPU and FEAT have any features in common. */ #define ARM_CPU_HAS_FEATURE(CPU,FEAT) \ (((CPU).core[0] & (FEAT).core[0]) != 0 \ || ((CPU).core[1] & (FEAT).core[1]) != 0 \ |