This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [Aarch64] Add support for ARMv8.1 command line option
- From: Matthew Wahab <matthew dot wahab at arm dot com>
- To: binutils at sourceware dot org
- Date: Wed, 03 Jun 2015 15:12:29 +0100
- Subject: Re: [Aarch64] Add support for ARMv8.1 command line option
- Authentication-results: sourceware.org; auth=none
- References: <555DB48D dot 3080606 at arm dot com>
Ping.
I've attached an updated patch and also added to the gas/NEW to mention the ARMv8.1
support in the Aarch64 port. Updated change-log below.
Tested aarch64-none-linux-gnu with check-binutils and check-gas.
Ok for trunk?
Matthew
include/opcode/
2015-06-03 Matthew Wahab <matthew.wahab@arm.com>
* aarch64.h (AARCH64_V8_1): New.
gas/
2015-06-03 Matthew Wahab <matthew.wahab@arm.com>
* NEWS: Mention ARMv8.1 support in the Aarch64 port.
* config/tc-aarch64.c (aarch64_arch_option_table): Add
"armv8.1-a".
* doc/c-aarch64.texi (-march): Add "armv8.1-a".
diff --git a/gas/NEWS b/gas/NEWS
index 02a434c..986325d 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -2,6 +2,10 @@
Changes in 2.26:
+* Support for the ARMv8.1 architecture has been added to the Aarch64 port.
+ Support for the individual ARMv8.1 Adv.SIMD, LOR and PAN architecture
+ extensions has also been added to the Aarch64 port.
+
* Support for the ARMv8.1 architecture has been added to the ARM port. Support
for the individual ARMv8.1 Adv.SIMD and PAN architecture extensions has also
been added to the ARM port.
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 26df2f2..e95d5f6 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -7383,6 +7383,7 @@ struct aarch64_arch_option_table
static const struct aarch64_arch_option_table aarch64_archs[] = {
{"all", AARCH64_ANY},
{"armv8-a", AARCH64_ARCH_V8},
+ {"armv8.1-a", AARCH64_ARCH_V8_1},
{NULL, AARCH64_ARCH_NONE}
};
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 43c1a36..0fe3a84 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -81,7 +81,8 @@ extensions.
This option specifies the target architecture. The assembler will
issue an error message if an attempt is made to assemble an
instruction which will not execute on the target architecture. The
-only value for @var{architecture} is @code{armv8-a}.
+following architecture names are recognized: @code{armv8-a} and
+@code{armv8.1-a}.
If both @option{-mcpu} and @option{-march} are specified, the
assembler will use the setting for @option{-mcpu}. If neither are
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index c47f9dd..dcf0fef 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -47,6 +47,15 @@ typedef uint32_t aarch64_insn;
#define AARCH64_ARCH_V8 AARCH64_FEATURE (AARCH64_FEATURE_V8, \
AARCH64_FEATURE_FP \
| AARCH64_FEATURE_SIMD)
+#define AARCH64_ARCH_V8_1 AARCH64_FEATURE (AARCH64_FEATURE_V8, \
+ AARCH64_FEATURE_FP \
+ | AARCH64_FEATURE_SIMD \
+ | AARCH64_FEATURE_LSE \
+ | AARCH64_FEATURE_PAN \
+ | AARCH64_FEATURE_LOR \
+ | AARCH64_FEATURE_RDMA)
+
+
#define AARCH64_ARCH_NONE AARCH64_FEATURE (0, 0)
#define AARCH64_ANY AARCH64_FEATURE (-1, 0) /* Any basic core. */