aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMatthew Wahab <matthew.wahab@arm.com>2016-03-04 11:28:28 +0000
committerMatthew Wahab <matthew.wahab@arm.com>2016-03-04 11:32:04 +0000
commit643afb90da9066e9d3c6dc721920b14ed343bec9 (patch)
tree67d5efb6d7a8235a120bd9a55b41c68c275737a8 /include
parentdc1c8a16a38dec431c77f49cf50a9b62d6366138 (diff)
downloadgdb-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/ChangeLog5
-rw-r--r--include/opcode/arm.h3
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 \