[binutils-gdb] [ARM] Add ARMv8.3 command line option and feature flag

Szabolcs Nagy nsz@sourceware.org
Mon Dec 5 14:08:00 GMT 2016


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a12fd8e1b1c9c6a16e3cc9fc477d7e459776b587

commit a12fd8e1b1c9c6a16e3cc9fc477d7e459776b587
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Mon Dec 5 14:07:25 2016 +0000

    [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.

Diff:
---
 gas/ChangeLog        | 5 +++++
 gas/config/tc-arm.c  | 1 +
 gas/doc/c-arm.texi   | 1 +
 include/ChangeLog    | 5 +++++
 include/opcode/arm.h | 4 ++++
 5 files changed, 16 insertions(+)

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)



More information about the Binutils-cvs mailing list