This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH][GAS][ARM] Command line support for -march=armv8.4-a [Patch (1/3)]
- From: Tamar Christina <tamar dot christina at arm dot com>
- To: binutils at sourceware dot org
- Cc: nd at arm dot com, Richard dot Earnshaw at arm dot com, nickc at redhat dot com, ramana dot radhakrishnan at arm dot com
- Date: Wed, 8 Nov 2017 10:07:57 +0000
- Subject: [PATCH][GAS][ARM] Command line support for -march=armv8.4-a [Patch (1/3)]
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Tamar dot Christina at arm dot com;
- Nodisclaimer: True
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
Hi All,
This patch adds command line support for Armv8.4-A.
It can be enabled through the new command line option -march=armv8.4-a.
Checked with check-gas on arm-none-eabi and armeb-none-eabi, no regressions.
Ok for master?
Ps. I do not have commit access so if OK can someone apply for me?
Thanks,
Tamar
gas/
2017-11-08 Jiong Wang <jiong.wang@arm.com>
* config/tc-arm.c (arm_archs): New entry for "armv8.4-a".
* doc/c-arm.texi (-march): Document "armv8.4-a".
include/
2017-11-08 Jiong Wang <jiong.wang@arm.com>
* opcode/arm.h (ARM_EXT2_V8_4A): New macro.
(ARM_AEXT2_V8_4A): Likewise.
(ARM_ARCH_V8_4A): Likewise.
--
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index f52cf7fac27f6e3fc43e36863438aec3f7e3bc2a..b51d50553ff947040e855660324c48978beafc19 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -26028,6 +26028,7 @@ static const struct arm_arch_option_table arm_archs[] =
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 ("armv8-r", ARM_ARCH_V8R, FPU_ARCH_VFP),
+ ARM_ARCH_OPT ("armv8.4-a", ARM_ARCH_V8_4A, 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 9606de4b2ede8729e4fccdd4a16fc8106a59cad7..5e518c69fed6d9750ad13462e89ef2ca34614fc7 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -237,6 +237,7 @@ names are recognized:
@code{armv8.2-a},
@code{armv8.3-a},
@code{armv8-r},
+@code{armv8.4-a},
@code{iwmmxt}
@code{iwmmxt2}
and
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index e11ac7c40bc3495888fbc502eef070320e30a92a..5fc81bf29ad5907c79bbd5906b8d34fb9562f48c 100644
--- a/include/opcode/arm.h
+++ b/include/opcode/arm.h
@@ -66,6 +66,7 @@
#define ARM_EXT2_RAS 0x00000080 /* RAS extension. */
#define ARM_EXT2_V8_3A 0x00000100 /* ARM V8.3A. */
#define ARM_EXT2_V8A 0x00000200 /* ARMv8-A. */
+#define ARM_EXT2_V8_4A 0x00000400 /* ARM V8.4A. */
/* Co-processor space extensions. */
#define ARM_CEXT_XSCALE 0x00000001 /* Allow MIA etc. */
@@ -156,6 +157,7 @@
#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_AEXT2_V8_4A (ARM_AEXT2_V8_3A | ARM_EXT2_V8_4A)
#define ARM_AEXT_V8M_BASE (ARM_AEXT_V6SM | ARM_EXT_DIV)
#define ARM_AEXT_V8M_MAIN ARM_AEXT_V7M
#define ARM_AEXT_V8M_MAIN_DSP ARM_AEXT_V7EM
@@ -284,6 +286,8 @@
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_V8_4A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_4A, \
+ 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)