This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[ARM][2.26] Backport 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: Thu, 10 Dec 2015 12:34:06 +0000
- Subject: [ARM][2.26] Backport ARMv8.2 architecture feature and command line option
- Authentication-results: sourceware.org; auth=none
Hello,
This is a backport of the ARMv8.2 command line option and feature flag
added by https://sourceware.org/ml/binutils-cvs/2015-11/msg00115.html
The original patch submission is at
https://sourceware.org/ml/binutils/2015-11/msg00129.html
Tested arm-none-linux-gnueabihf with cross-compiled check-binutils and
check-gas. Checked the HTML documentation in Firefox.
Ok for the branch?
Matthew
gas/
2015-12-09 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-12-09 Matthew Wahab <matthew.wahab@arm.com>
* arm.h (ARM_EXT2_V8_2A): New.
(ARM_ARCH_V8_2A): New.
>From 1a4f7a9df0d070c662fd944f945435052f425ce1 Mon Sep 17 00:00:00 2001
From: Matthew Wahab <matthew.wahab@arm.com>
Date: Thu, 19 Nov 2015 09:24:14 +0000
Subject: [PATCH] [ARM] Add ARMv8.2 architecture feature and command line
option.
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: I81b72118f0b99611f0c9eb1d067e48172f2320e2
---
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 3b0a021..23c506d 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -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),
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index 9a34f5e..ee26e6d 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -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
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