From 175eafaf378659f6798c5b1b7591e9a3b1abd042 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Thu, 2 Dec 2021 15:00:56 +0000 Subject: aarch64: Add support for Armv8.8-A 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. * 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 +++++ 4 files changed, 10 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 (limited to 'gas') diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 497c126..2181fa1 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 6c39963..3051b6f 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 0000000..50fb822 --- /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 0000000..f2568ef --- /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 -- cgit v1.1