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

Message ID 58455F17.1020609@arm.com
State New
Headers show

Commit Message

Szabolcs Nagy Dec. 5, 2016, 12:35 p.m.
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/
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".

include/opcode/
2016-12-05  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* arm.h (ARM_EXT2_V8_3A, ARM_AEXT2_V8_3A): New.
	(ARM_ARCH_V8_3A): New.

Comments

Nick Clifton Dec. 5, 2016, 1:14 p.m. | #1
Hi Szabolcs,

> gas/

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

> 

> include/opcode/

> 2016-12-05  Szabolcs Nagy  <szabolcs.nagy@arm.com>

> 

> 	* arm.h (ARM_EXT2_V8_3A, ARM_AEXT2_V8_3A): New.

> 	(ARM_ARCH_V8_3A): New.


Approved - please apply.

Cheers
  Nick

Patch hide | download patch | download mbox

diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index f28bf52..2fb39a2 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -25563,6 +25563,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 0cf7390..08b1706 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -230,6 +230,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/opcode/arm.h b/include/opcode/arm.h
index feace5c..8422603 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_AEXT2_V8M	(ARM_EXT2_V8M | ARM_EXT2_ATOMICS | ARM_EXT2_V6T2_V8M)
@@ -269,6 +271,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)