* [PATCH 04/10] aarch64: Add support for Armv8.8-A
@ 2021-11-30 13:18 Richard Sandiford
2021-12-02 12:41 ` Nick Clifton
0 siblings, 1 reply; 2+ messages in thread
From: Richard Sandiford @ 2021-11-30 13:18 UTC (permalink / raw)
To: binutils; +Cc: rearnsha
This patch adds skeleton support for -march=armv8.8-a, testing only
that it correctly inherits from armv8.7-a.
Tested on aarch64-linux-gnu. OK to install?
Richard
include/
* opcode/aarch64.h (AARCH64_FEATURE_V8_8): New macro.
(AARCH64_ARCH_V8_8): Likewise.
gas/
* doc/c-aarch64.texi: Document armv8.8-a.
* config/tc-aarch64.c (aarch64_archs): Add armv8-8-a
* testsuite/gas/aarch64/v8-8-a.s,
* testsuite/gas/aarch64/v8-8-a.d: New test.
---
gas/config/tc-aarch64.c | 1 +
gas/doc/c-aarch64.texi | 4 ++--
gas/testsuite/gas/aarch64/v8-8-a.d | 2 ++
gas/testsuite/gas/aarch64/v8-8-a.s | 5 +++++
include/opcode/aarch64.h | 3 +++
5 files changed, 13 insertions(+), 2 deletions(-)
create mode 100644 gas/testsuite/gas/aarch64/v8-8-a.d
create mode 100644 gas/testsuite/gas/aarch64/v8-8-a.s
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 497c126ea83..2181fa12bfd 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -9820,6 +9820,7 @@ static const struct aarch64_arch_option_table aarch64_archs[] = {
{"armv8.5-a", AARCH64_ARCH_V8_5},
{"armv8.6-a", AARCH64_ARCH_V8_6},
{"armv8.7-a", AARCH64_ARCH_V8_7},
+ {"armv8.8-a", AARCH64_ARCH_V8_8},
{"armv8-r", AARCH64_ARCH_V8_R},
{"armv9-a", AARCH64_ARCH_V9},
{NULL, AARCH64_ARCH_NONE}
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 6c399636266..3051b6f6d76 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -110,8 +110,8 @@ issue an error message if an attempt is made to assemble an
instruction which will not execute on the target architecture. The
following architecture names are recognized: @code{armv8-a},
@code{armv8.1-a}, @code{armv8.2-a}, @code{armv8.3-a}, @code{armv8.4-a}
-@code{armv8.5-a}, @code{armv8.6-a}, @code{armv8.7-a}, @code{armv8-r}, and
-@code{armv9-a}.
+@code{armv8.5-a}, @code{armv8.6-a}, @code{armv8.7-a}, @code{armv8.8-a},
+@code{armv8-r}, and @code{armv9-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/gas/testsuite/gas/aarch64/v8-8-a.d b/gas/testsuite/gas/aarch64/v8-8-a.d
new file mode 100644
index 00000000000..50fb822e5a6
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/v8-8-a.d
@@ -0,0 +1,2 @@
+# objdump: -dr
+#...
diff --git a/gas/testsuite/gas/aarch64/v8-8-a.s b/gas/testsuite/gas/aarch64/v8-8-a.s
new file mode 100644
index 00000000000..f2568ef922b
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/v8-8-a.s
@@ -0,0 +1,5 @@
+ .arch armv8.8-a
+
+ ld64b x0, [x1]
+ dsb oshnxs
+ msr hcrx_el2, x0
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index fa79aa9c25a..493b7973f1c 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -94,6 +94,7 @@ typedef uint32_t aarch64_insn;
#define AARCH64_FEATURE_V9 (1ULL << 56) /* Armv9.0-A processors. */
#define AARCH64_FEATURE_SME_F64 (1ULL << 57) /* SME F64. */
#define AARCH64_FEATURE_SME_I64 (1ULL << 58) /* SME I64. */
+#define AARCH64_FEATURE_V8_8 (1ULL << 59) /* Armv8.8 processors. */
/* Crypto instructions are the combination of AES and SHA2. */
#define AARCH64_FEATURE_CRYPTO (AARCH64_FEATURE_SHA2 | AARCH64_FEATURE_AES)
@@ -141,6 +142,8 @@ typedef uint32_t aarch64_insn;
#define AARCH64_ARCH_V8_7 AARCH64_FEATURE (AARCH64_ARCH_V8_6, \
AARCH64_FEATURE_V8_7 \
| AARCH64_FEATURE_LS64)
+#define AARCH64_ARCH_V8_8 AARCH64_FEATURE (AARCH64_ARCH_V8_7, \
+ AARCH64_FEATURE_V8_8)
#define AARCH64_ARCH_V8_R (AARCH64_FEATURE (AARCH64_ARCH_V8_4, \
AARCH64_FEATURE_V8_R) \
& ~(AARCH64_FEATURE_V8_A | AARCH64_FEATURE_LOR))
--
2.25.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH 04/10] aarch64: Add support for Armv8.8-A
2021-11-30 13:18 [PATCH 04/10] aarch64: Add support for Armv8.8-A Richard Sandiford
@ 2021-12-02 12:41 ` Nick Clifton
0 siblings, 0 replies; 2+ messages in thread
From: Nick Clifton @ 2021-12-02 12:41 UTC (permalink / raw)
To: binutils, rearnsha, richard.sandiford
Hi Richard,
> This patch adds skeleton support for -march=armv8.8-a, testing only
> that it correctly inherits from armv8.7-a.
> include/
> * opcode/aarch64.h (AARCH64_FEATURE_V8_8): New macro.
> (AARCH64_ARCH_V8_8): Likewise.
>
> gas/
> * doc/c-aarch64.texi: Document armv8.8-a.
[I am going through these patches in order, so this comment may be addressed by a later patch...]
I think that an entry in gas/NEWS is also warranted here.
> * config/tc-aarch64.c (aarch64_archs): Add armv8-8-a
> * testsuite/gas/aarch64/v8-8-a.s,
> * testsuite/gas/aarch64/v8-8-a.d: New test.
Approved - please apply.
Cheers
Nick
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-12-02 12:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-30 13:18 [PATCH 04/10] aarch64: Add support for Armv8.8-A Richard Sandiford
2021-12-02 12:41 ` Nick Clifton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).