[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 b3e1610..cbcae45 100644 (file)
@@ -1,5 +1,10 @@
 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".
        * doc/c-aarch64.texi (-march): Likewise.
 
index 3b0a021..23c506d 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 9a34f5e..ee26e6d 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 a4d4673..16feca1 100644 (file)
@@ -1,5 +1,10 @@
 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.
        (AARCH64_ARCH_V8_2): New.
 
index 41f0564..5e7d683 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)