This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[ARM] Add ARMv8.2 architecture feature and command line option.
- From: Matthew Wahab <matthew dot wahab at foss dot arm dot com>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Wed, 18 Nov 2015 11:15:55 +0000
- Subject: [ARM] Add ARMv8.2 architecture feature and command line option.
- Authentication-results: sourceware.org; auth=none
Hello,
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.
Tested arm-none-linux-gnueabihf with cross-compiled check-binutils and
check-gas. Checked the HTML documentation in Firefox.
Ok for trunk?
Matthew
gas/
2015-11-18 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-18 Matthew Wahab <matthew.wahab@arm.com>
* arm.h (ARM_EXT2_V8_2A): New.
(ARM_ARCH_V8_2A): New.
>From fd8ea6c4c654059788e322bbe6324832d90e1c02 Mon Sep 17 00:00:00 2001
From: Matthew Wahab <matthew.wahab@arm.com>
Date: Fri, 13 Nov 2015 12:14:07 +0000
Subject: [PATCH] [ARM] Add ARMv8.2 architecture feature and command line
option.
Change-Id: I37d3f43d8a2954c22ca737684599eca593ac0b3e
---
gas/config/tc-arm.c | 1 +
gas/doc/c-arm.texi | 1 +
include/opcode/arm.h | 3 +++
3 files changed, 5 insertions(+)
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index de99d72..616af2a 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -24829,6 +24829,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),
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index e41943b..6fb0032 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -221,6 +221,7 @@ names are recognized:
@code{armv7e-m},
@code{armv8-a},
@code{armv8.1-a},
+@code{armv8.2-a},
@code{iwmmxt}
@code{iwmmxt2}
and
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index 41f0564..5e7d683 100644
--- a/include/opcode/arm.h
+++ b/include/opcode/arm.h
@@ -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. */
@@ -251,6 +252,8 @@
#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)
--
2.1.4