[ARM] Add ARMv8.2 architecture feature and command line option.
authorMatthew Wahab <matthew.wahab@arm.com>
Thu, 19 Nov 2015 09:24:14 +0000 (09:24 +0000)
committerMatthew Wahab <matthew.wahab@arm.com>
Thu, 19 Nov 2015 09:24:14 +0000 (09:24 +0000)
ARMv8.2 is an architectural extension of ARMv8. This patch adds an
architecture feature macro for ARMv8.2 to the binutils ARM target
with GAS command line option -march=armv8.2-a.

gas/
2015-11-19  Matthew Wahab  <matthew.wahab@arm.com>

* config/tc-arm.c (arm_archs): Add "armv8.2-a".
* doc/c-arm.texi (-march): Add "armv8.2-a".

include/opcode/
2015-11-19  Matthew Wahab  <matthew.wahab@arm.com>

* arm.h (ARM_EXT2_V8_2A): New.
(ARM_ARCH_V8_2A): New.

Change-Id: I9e0f50e3c6cea24e6b87b8b862fd4e1cdcc1052e

gas/ChangeLog
gas/config/tc-arm.c
gas/doc/c-arm.texi
include/opcode/ChangeLog
include/opcode/arm.h

index b3e1610e1699096f1a8362780817dcb2980539f2..cbcae455b83fbca6c4cc85d61e9e93d75b757c5d 100644 (file)
@@ -1,3 +1,8 @@
+2015-11-19  Matthew Wahab  <matthew.wahab@arm.com>
+
+       * config/tc-arm.c (arm_archs): Add "armv8.2-a".
+       * doc/c-arm.texi (-march): Add "armv8.2-a".
+
 2015-11-19  Matthew Wahab  <matthew.wahab@arm.com>
 
        * config/tc-aarch64.c (aarch64_archs): Add "armv8.2-a".
index 3b0a021a379bc72c21ba8f0c312789fc25dd2d5e..23c506de39736fa3e1852a0442a4a31bc614e909 100644 (file)
@@ -24826,6 +24826,7 @@ static const struct arm_arch_option_table arm_archs[] =
   ARM_ARCH_OPT ("armv7e-m",    ARM_ARCH_V7EM,   FPU_ARCH_VFP),
   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 ("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),
index 9a34f5e7dfb2efd83636f44123c5a40d5e511c6f..ee26e6dc0a11f35b23550ae52e318785257b5cfc 100644 (file)
@@ -223,6 +223,7 @@ names are recognized:
 @code{armv7e-m},
 @code{armv8-a},
 @code{armv8.1-a},
+@code{armv8.2-a},
 @code{iwmmxt}
 @code{iwmmxt2}
 and
index a4d4673769bcb6c748babf58c8a0ca6d305e84ce..16feca1110046d643d2286b960d2e4fc48b98be5 100644 (file)
@@ -1,3 +1,8 @@
+2015-11-19  Matthew Wahab  <matthew.wahab@arm.com>
+
+       * arm.h (ARM_EXT2_V8_2A): New.
+       (ARM_ARCH_V8_2A): New.
+
 2015-11-19  Matthew Wahab  <matthew.wahab@arm.com>
 
        * aarch64.h (AARCH64_FEATURE_V8_2): New.
index 41f056424a74703e197cec8f04c8d9d0f1cc96c7..5e7d6837958b122bb9d62eeb22c4c739baee8167 100644 (file)
@@ -58,6 +58,7 @@
 #define ARM_EXT_VIRT    0x80000000     /* Virtualization extensions.  */
 
 #define ARM_EXT2_PAN    0x00000001     /* PAN extension.  */
+#define ARM_EXT2_V8_2A  0x00000002     /* ARM V8.2A.  */
 
 /* Co-processor space extensions.  */
 #define ARM_CEXT_XSCALE   0x00000001   /* Allow MIA etc.          */
 #define ARM_ARCH_V7EM  ARM_FEATURE_CORE_LOW (ARM_AEXT_V7EM)
 #define ARM_ARCH_V8A   ARM_FEATURE_CORE_LOW (ARM_AEXT_V8A)
 #define ARM_ARCH_V8_1A ARM_FEATURE_CORE (ARM_AEXT_V8A, ARM_EXT2_PAN)
+#define ARM_ARCH_V8_2A ARM_FEATURE_CORE (ARM_AEXT_V8A, \
+                                         ARM_EXT2_PAN | ARM_EXT2_V8_2A)
 
 /* Some useful combinations:  */
 #define ARM_ARCH_NONE  ARM_FEATURE_LOW (0, 0)