aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2016-12-05 14:07:25 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2016-12-05 14:07:25 +0000
commita12fd8e1b1c9c6a16e3cc9fc477d7e459776b587 (patch)
tree75d5c0d7cc80fe2c01e18d01a1198c3cefd6a114
parent597e138ca0cf96889a1965d06d28552c1d1174d2 (diff)
downloadgdb-a12fd8e1b1c9c6a16e3cc9fc477d7e459776b587.zip
gdb-a12fd8e1b1c9c6a16e3cc9fc477d7e459776b587.tar.gz
gdb-a12fd8e1b1c9c6a16e3cc9fc477d7e459776b587.tar.bz2
[ARM] Add ARMv8.3 command line option and feature flag
ARMv8.3 is an architectural extension of ARMv8. Add the feature macro and -march=armv8.3-a gas command line option for the ARM target. https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions gas/ * config/tc-arm.c (arm_archs): Add "armv8.3-a". * doc/c-arm.texi (-march): Add "armv8.3-a". include/ * opcode/arm.h (ARM_EXT2_V8_3A, ARM_AEXT2_V8_3A): New. (ARM_ARCH_V8_3A): New.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-arm.c1
-rw-r--r--gas/doc/c-arm.texi1
-rw-r--r--include/ChangeLog5
-rw-r--r--include/opcode/arm.h4
5 files changed, 16 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3a43fba..3f3a10e 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2016-12-05 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/tc-arm.c (arm_archs): Add "armv8.3-a".
+ * doc/c-arm.texi (-march): Add "armv8.3-a".
+
2016-12-02 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/gas/arc/cpu-em-err.s: New file.
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 4adcfda..b139b5e 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -25573,6 +25573,7 @@ static const struct arm_arch_option_table arm_archs[] =
ARM_ARCH_OPT ("armv8-a", ARM_ARCH_V8A, FPU_ARCH_VFP),
ARM_ARCH_OPT ("armv8.1-a", ARM_ARCH_V8_1A, FPU_ARCH_VFP),
ARM_ARCH_OPT ("armv8.2-a", ARM_ARCH_V8_2A, FPU_ARCH_VFP),
+ ARM_ARCH_OPT ("armv8.3-a", ARM_ARCH_V8_3A, FPU_ARCH_VFP),
ARM_ARCH_OPT ("xscale", ARM_ARCH_XSCALE, FPU_ARCH_VFP),
ARM_ARCH_OPT ("iwmmxt", ARM_ARCH_IWMMXT, FPU_ARCH_VFP),
ARM_ARCH_OPT ("iwmmxt2", ARM_ARCH_IWMMXT2,FPU_ARCH_VFP),
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index 547950a..dd37220 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -233,6 +233,7 @@ names are recognized:
@code{armv8-a},
@code{armv8.1-a},
@code{armv8.2-a},
+@code{armv8.3-a},
@code{iwmmxt}
@code{iwmmxt2}
and
diff --git a/include/ChangeLog b/include/ChangeLog
index 30c66c2..bb748fe 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2016-12-05 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * opcode/arm.h (ARM_EXT2_V8_3A, ARM_AEXT2_V8_3A): New.
+ (ARM_ARCH_V8_3A): New.
+
2016-11-29 Claudiu Zissulescu <claziss@synopsys.com>
* opcode/arc.h (insn_class_t): Add DIVREM, LOAD, MOVE, MPY, STORE
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index 3b0d061..ac362f1 100644
--- a/include/opcode/arm.h
+++ b/include/opcode/arm.h
@@ -64,6 +64,7 @@
#define ARM_EXT2_FP16_INST 0x00000020 /* ARM V8.2A FP16 instructions. */
#define ARM_EXT2_V8M_MAIN 0x00000040 /* ARMv8-M Mainline. */
#define ARM_EXT2_RAS 0x00000080 /* RAS extension. */
+#define ARM_EXT2_V8_3A 0x00000100 /* ARM V8.3A. */
/* Co-processor space extensions. */
#define ARM_CEXT_XSCALE 0x00000001 /* Allow MIA etc. */
@@ -149,6 +150,7 @@
#define ARM_AEXT2_V8A (ARM_EXT2_V6T2_V8M | ARM_EXT2_ATOMICS)
#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_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
@@ -271,6 +273,8 @@
CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA)
#define ARM_ARCH_V8_2A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_2A, \
CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA)
+#define ARM_ARCH_V8_3A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_3A, \
+ CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA)
#define ARM_ARCH_V8M_BASE ARM_FEATURE_CORE (ARM_AEXT_V8M_BASE, ARM_AEXT2_V8M)
#define ARM_ARCH_V8M_MAIN ARM_FEATURE_CORE (ARM_AEXT_V8M_MAIN, \
ARM_AEXT2_V8M_MAIN)