public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH][Binutils] aarch64: Add support for Armv8.9-A and Armv9.4-A Architectures.
@ 2023-10-31 17:39 Srinath Parvathaneni
  2023-11-02 11:40 ` Nick Clifton
  2023-11-02 12:13 ` Richard Earnshaw
  0 siblings, 2 replies; 4+ messages in thread
From: Srinath Parvathaneni @ 2023-10-31 17:39 UTC (permalink / raw)
  To: binutils; +Cc: Richard Earnshaw, nickc

[-- Attachment #1: Type: text/plain, Size: 249 bytes --]

Hi,

This patch adds AArch64 support for Armv8.9-A architecture 
(-march=armv8.9-a)
and Armv9.4-A architecture (-march=armv9.4-a).

Regression testing for aarch64-none-elf target and found no regressions.

Ok for binutils-master?

Regards,
Srinath.

[-- Attachment #2: diff --]
[-- Type: text/plain, Size: 4080 bytes --]

diff --git a/gas/NEWS b/gas/NEWS
index 71a1269b893b0a99b7776c06f34713f717a30dbf..5b6bffcbdf58e3a3bcb34ba7875601cb67ca0db0 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,5 +1,7 @@
 -*- text -*-
 
+* Add support for 'armv8.9-a' and 'armv9.4-a' for -march in AArch64 GAS.
+
 * Add support for Intel AVX10.1.
 
 * Add support for Intel PBNDKB instructions.
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 14788ce180f47fb6ee183d31455a1593f4c33877..7d7e54965f12e074a5cc0437accd770e1f1776e1 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10241,11 +10241,13 @@ static const struct aarch64_arch_option_table aarch64_archs[] = {
   {"armv8.6-a", AARCH64_ARCH_FEATURES (V8_6A)},
   {"armv8.7-a", AARCH64_ARCH_FEATURES (V8_7A)},
   {"armv8.8-a", AARCH64_ARCH_FEATURES (V8_8A)},
+  {"armv8.9-a", AARCH64_ARCH_FEATURES (V8_9A)},
   {"armv8-r",	AARCH64_ARCH_FEATURES (V8R)},
   {"armv9-a",	AARCH64_ARCH_FEATURES (V9A)},
   {"armv9.1-a",	AARCH64_ARCH_FEATURES (V9_1A)},
   {"armv9.2-a",	AARCH64_ARCH_FEATURES (V9_2A)},
   {"armv9.3-a",	AARCH64_ARCH_FEATURES (V9_3A)},
+  {"armv9.4-a",	AARCH64_ARCH_FEATURES (V9_4A)},
   {NULL, AARCH64_NO_FEATURES}
 };
 
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index fd67c77bbf879376690c3d465dd2516622e04dd2..9b73fbf70b2af243c6583439eff8bd1338daa751 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -114,8 +114,8 @@ 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.8-a},
-@code{armv8-r}, @code{armv9-a}, @code{armv9.1-a}, @code{armv9.2-a},
-and @code{armv9.3-a}.
+@code{armv8.9-a}, @code{armv8-r}, @code{armv9-a}, @code{armv9.1-a},
+@code{armv9.2-a}, @code{armv9.3-a} and @code{armv9.4-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 d4ec60c1354f6910be8135f7a35a68b02d60abe0..dbfbb0a4ad7957eb4cc9b44378fc6a0058af08c3 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -157,6 +157,8 @@ enum aarch64_feature_bit {
   AARCH64_FEATURE_V8_8A,
   /* Common Short Sequence Compression instructions.  */
   AARCH64_FEATURE_CSSC,
+  /* Armv8.9-A processors.  */
+  AARCH64_FEATURE_V8_9A,
   /* SME2.  */
   AARCH64_FEATURE_SME2,
   DUMMY1,
@@ -216,6 +218,7 @@ enum aarch64_feature_bit {
 #define AARCH64_ARCH_V8_8A_FEATURES(X)	(AARCH64_FEATBIT (X, V8_8A)	\
 					 | AARCH64_FEATBIT (X, MOPS)	\
 					 | AARCH64_FEATBIT (X, HBC))
+#define AARCH64_ARCH_V8_9A_FEATURES(X)	(AARCH64_FEATBIT (X, V8_9A))
 
 #define AARCH64_ARCH_V9A_FEATURES(X)	(AARCH64_FEATBIT (X, V9A)	\
 					 | AARCH64_FEATBIT (X, F16)	\
@@ -224,6 +227,7 @@ enum aarch64_feature_bit {
 #define AARCH64_ARCH_V9_1A_FEATURES(X)	AARCH64_ARCH_V8_6A_FEATURES (X)
 #define AARCH64_ARCH_V9_2A_FEATURES(X)	AARCH64_ARCH_V8_7A_FEATURES (X)
 #define AARCH64_ARCH_V9_3A_FEATURES(X)	AARCH64_ARCH_V8_8A_FEATURES (X)
+#define AARCH64_ARCH_V9_4A_FEATURES(X)	AARCH64_ARCH_V8_9A_FEATURES (X)
 
 /* Architectures are the sum of the base and extensions.  */
 #define AARCH64_ARCH_V8A(X)	(AARCH64_FEATBIT (X, V8) \
@@ -244,6 +248,8 @@ enum aarch64_feature_bit {
 				 | AARCH64_ARCH_V8_7A_FEATURES (X))
 #define AARCH64_ARCH_V8_8A(X)	(AARCH64_ARCH_V8_7A (X)	\
 				 | AARCH64_ARCH_V8_8A_FEATURES (X))
+#define AARCH64_ARCH_V8_9A(X)	(AARCH64_ARCH_V8_8A (X)	\
+				 | AARCH64_ARCH_V8_9A_FEATURES (X))
 #define AARCH64_ARCH_V8R(X)	((AARCH64_ARCH_V8_4A (X)	\
 				  | AARCH64_FEATBIT (X, V8R))	\
 				 & ~AARCH64_FEATBIT (X, V8A)	\
@@ -257,6 +263,8 @@ enum aarch64_feature_bit {
 				 | AARCH64_ARCH_V9_2A_FEATURES (X))
 #define AARCH64_ARCH_V9_3A(X)	(AARCH64_ARCH_V9_2A (X) \
 				 | AARCH64_ARCH_V9_3A_FEATURES (X))
+#define AARCH64_ARCH_V9_4A(X)	(AARCH64_ARCH_V9_3A (X) \
+				 | AARCH64_ARCH_V9_4A_FEATURES (X))
 
 #define AARCH64_ARCH_NONE(X)	0
 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH][Binutils] aarch64: Add support for Armv8.9-A and Armv9.4-A Architectures.
  2023-10-31 17:39 [PATCH][Binutils] aarch64: Add support for Armv8.9-A and Armv9.4-A Architectures Srinath Parvathaneni
@ 2023-11-02 11:40 ` Nick Clifton
  2023-11-02 12:13 ` Richard Earnshaw
  1 sibling, 0 replies; 4+ messages in thread
From: Nick Clifton @ 2023-11-02 11:40 UTC (permalink / raw)
  To: Srinath Parvathaneni, binutils; +Cc: Richard Earnshaw

Hi Srinath,

> This patch adds AArch64 support for Armv8.9-A architecture (-march=armv8.9-a)
> and Armv9.4-A architecture (-march=armv9.4-a).
> 
> Regression testing for aarch64-none-elf target and found no regressions.
> 
> Ok for binutils-master?

Approved - please apply.

Cheers
   Nick



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH][Binutils] aarch64: Add support for Armv8.9-A and Armv9.4-A Architectures.
  2023-10-31 17:39 [PATCH][Binutils] aarch64: Add support for Armv8.9-A and Armv9.4-A Architectures Srinath Parvathaneni
  2023-11-02 11:40 ` Nick Clifton
@ 2023-11-02 12:13 ` Richard Earnshaw
  2023-11-03  0:28   ` Richard Sandiford
  1 sibling, 1 reply; 4+ messages in thread
From: Richard Earnshaw @ 2023-11-02 12:13 UTC (permalink / raw)
  To: Srinath Parvathaneni, binutils, richard.sandiford; +Cc: Richard Earnshaw, nickc



On 31/10/2023 17:39, Srinath Parvathaneni wrote:
> Hi,
> 
> This patch adds AArch64 support for Armv8.9-A architecture 
> (-march=armv8.9-a)
> and Armv9.4-A architecture (-march=armv9.4-a).
> 
> Regression testing for aarch64-none-elf target and found no regressions.
> 
> Ok for binutils-master?
> 
> Regards,
> Srinath.

@@ -157,6 +157,8 @@ enum aarch64_feature_bit {
    AARCH64_FEATURE_V8_8A,
    /* Common Short Sequence Compression instructions.  */
    AARCH64_FEATURE_CSSC,
+  /* Armv8.9-A processors.  */
+  AARCH64_FEATURE_V8_9A,
    /* SME2.  */
    AARCH64_FEATURE_SME2,
    DUMMY1,
    ^^^^^^

I think that means you can drop one of the DUMMY<n> placeholders below 
now.  Richard S?

R.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH][Binutils] aarch64: Add support for Armv8.9-A and Armv9.4-A Architectures.
  2023-11-02 12:13 ` Richard Earnshaw
@ 2023-11-03  0:28   ` Richard Sandiford
  0 siblings, 0 replies; 4+ messages in thread
From: Richard Sandiford @ 2023-11-03  0:28 UTC (permalink / raw)
  To: Richard Earnshaw; +Cc: Srinath Parvathaneni, binutils, Richard Earnshaw, nickc

Richard Earnshaw <Richard.Earnshaw@foss.arm.com> writes:
> On 31/10/2023 17:39, Srinath Parvathaneni wrote:
>> Hi,
>> 
>> This patch adds AArch64 support for Armv8.9-A architecture 
>> (-march=armv8.9-a)
>> and Armv9.4-A architecture (-march=armv9.4-a).
>> 
>> Regression testing for aarch64-none-elf target and found no regressions.
>> 
>> Ok for binutils-master?
>> 
>> Regards,
>> Srinath.
>
> @@ -157,6 +157,8 @@ enum aarch64_feature_bit {
>     AARCH64_FEATURE_V8_8A,
>     /* Common Short Sequence Compression instructions.  */
>     AARCH64_FEATURE_CSSC,
> +  /* Armv8.9-A processors.  */
> +  AARCH64_FEATURE_V8_9A,
>     /* SME2.  */
>     AARCH64_FEATURE_SME2,
>     DUMMY1,
>     ^^^^^^
>
> I think that means you can drop one of the DUMMY<n> placeholders below 
> now.  Richard S?

Yeah, that's right.  There are a few features in the works, so it might
be easier sequencing-wise to add the new ones first, then remove the DUMMYs
once we've got enough real features.  Not a strong opinion though.

Thanks,
Richard

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-11-03  0:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-31 17:39 [PATCH][Binutils] aarch64: Add support for Armv8.9-A and Armv9.4-A Architectures Srinath Parvathaneni
2023-11-02 11:40 ` Nick Clifton
2023-11-02 12:13 ` Richard Earnshaw
2023-11-03  0:28   ` Richard Sandiford

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).