[binutils-gdb/binutils-2_42-branch] aarch64: Remove B16B16, SVE2p1 and SME2p1

Andrew Carlotti acarlotti@sourceware.org
Thu Mar 14 17:05:39 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d816fda3cbd83ff5c2700bf5f001d59fcaf75985

commit d816fda3cbd83ff5c2700bf5f001d59fcaf75985
Author: Andrew Carlotti <andrew.carlotti@arm.com>
Date:   Tue Feb 27 19:41:29 2024 +0000

    aarch64: Remove B16B16, SVE2p1 and SME2p1
    
    Support for these extensions is broken and incomplete in the 2.42
    branch, with a number of syntax and opcode bugs.  This patch removes the
    flags and documentation, to avoid any further suggestion that this
    extension is fully and correctly supported.

Diff:
---
 gas/NEWS                               | 13 ++++++-------
 gas/config/tc-aarch64.c                |  3 ---
 gas/doc/c-aarch64.texi                 |  6 ------
 gas/testsuite/gas/aarch64/bfloat16-1.d |  1 +
 gas/testsuite/gas/aarch64/sme2p1-1.d   |  1 +
 gas/testsuite/gas/aarch64/sve2p1-1.d   |  1 +
 6 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/gas/NEWS b/gas/NEWS
index 67d806cbf89..dfccd9f1dc7 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,15 +1,14 @@
 -*- text -*-
 
-Changes in 2.42:
-
-* Added support for AMD znver5 processor (available from GNU Binutils 2.42 release).
+Changes in 2.42.1:
 
-* Add support for the AArch64 Scalable Vector Extension version 2.1 (SVE2.1).
+* The options to enable the AArch64 SVE2.1, SME2.1 and B16B16 extensions have
+  been disabled, because of a number of known issues with their implementation
+  in the 2.42 release.
 
-* Add support for the AArch64 Scalable Matrix Extension version 2.1 (SME2.1).
+Changes in 2.42:
 
-* Add support for the AArch64 BFloat16 to BFloat16 arithmetic for SVE2 and SME2
-  (B16B16).
+* Added support for AMD znver5 processor (available from GNU Binutils 2.42 release).
 
 * Add support for the AArch64 Reliability, Availability and Serviceability
   extension v2 (RASv2).
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 0c6de289408..a7c29d2f03f 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10425,9 +10425,6 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
   {"ite",		AARCH64_FEATURE (ITE), AARCH64_NO_FEATURES},
   {"d128",		AARCH64_FEATURE (D128),
 			AARCH64_FEATURE (LSE128)},
-  {"b16b16",		AARCH64_FEATURE (B16B16), AARCH64_FEATURE (SVE2)},
-  {"sme2p1",		AARCH64_FEATURE (SME2p1), AARCH64_FEATURE (SME2)},
-  {"sve2p1",		AARCH64_FEATURE (SVE2p1), AARCH64_FEATURE (SVE2)},
   {"rcpc3",		AARCH64_FEATURE (RCPC3), AARCH64_FEATURE (RCPC2)},
   {NULL,		AARCH64_NO_FEATURES, AARCH64_NO_FEATURES},
 };
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 4f97768206c..77226a07973 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -161,8 +161,6 @@ automatically cause those extensions to be disabled.
 @headitem Extension @tab Depends upon @tab Description
 @item @code{aes} @tab @code{simd}
  @tab Enable the AES and PMULL cryptographic extensions.
-@item @code{b16b16} @tab @code{sve2}
- @tab Enable BFloat16 to BFloat16 arithmetic for SVE2 and SME2.
 @item @code{bf16} @tab @code{fp}
  @tab Enable BFloat16 extension.
 @item @code{chk} @tab
@@ -263,8 +261,6 @@ automatically cause those extensions to be disabled.
  @tab Enable SME I16I64 Extension.
 @item @code{sme2} @tab @code{sme}
  @tab Enable SME2.
-@item @code{sme2p1} @tab @code{sme2}
- @tab Enable SME2.1.
 @item @code{ssbs} @tab
  @tab Enable Speculative Store Bypassing Safe state read and write.
 @item @code{sve} @tab @code{fcma}
@@ -279,8 +275,6 @@ automatically cause those extensions to be disabled.
  @tab Enable the SVE2 SHA3 Extension.
 @item @code{sve2-sm4} @tab @code{sve2}, @code{sm4}
  @tab Enable the SVE2 SM4 Extension.
-@item @code{sve2p1} @tab @code{sve2}
- @tab Enable SVE2.1.
 @item @code{the} @tab
  @tab Enable the Translation Hardening Extension.
 @item @code{tme} @tab
diff --git a/gas/testsuite/gas/aarch64/bfloat16-1.d b/gas/testsuite/gas/aarch64/bfloat16-1.d
index f0d436bec58..0f4ab764d24 100644
--- a/gas/testsuite/gas/aarch64/bfloat16-1.d
+++ b/gas/testsuite/gas/aarch64/bfloat16-1.d
@@ -1,6 +1,7 @@
 #name: Test of SVE2.1 and SME2.1 non-widening BFloat16 instructions.
 #as: -march=armv9.4-a+b16b16
 #objdump: -dr
+#xfail: *-*-*
 
 [^:]+:     file format .*
 
diff --git a/gas/testsuite/gas/aarch64/sme2p1-1.d b/gas/testsuite/gas/aarch64/sme2p1-1.d
index a6e7b766402..4b94cc9e4a0 100644
--- a/gas/testsuite/gas/aarch64/sme2p1-1.d
+++ b/gas/testsuite/gas/aarch64/sme2p1-1.d
@@ -1,6 +1,7 @@
 #name: Test of SME2.1 movaz instructions.
 #as: -march=armv9.4-a+sme2p1
 #objdump: -dr
+#xfail: *-*-*
 
 [^:]+:     file format .*
 
diff --git a/gas/testsuite/gas/aarch64/sve2p1-1.d b/gas/testsuite/gas/aarch64/sve2p1-1.d
index daece899b38..72fac004141 100644
--- a/gas/testsuite/gas/aarch64/sve2p1-1.d
+++ b/gas/testsuite/gas/aarch64/sve2p1-1.d
@@ -1,6 +1,7 @@
 #name: Test of SVE2.1 min max instructions.
 #as: -march=armv9.4-a+sve2p1
 #objdump: -dr
+#xfail: *-*-*
 
 [^:]+:     file format .*


More information about the Binutils-cvs mailing list