From: Andrew Carlotti <andrew.carlotti@arm.com>
To: binutils@sourceware.org
Cc: Richard Earnshaw <richard.earnshaw@arm.com>,
Nick Clifton <nickc@redhat.com>, Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 1/3] [2.42 Backport] aarch64: Remove SME2p1
Date: Thu, 29 Feb 2024 17:35:40 +0000 [thread overview]
Message-ID: <bee9a590-7282-5c58-9779-ec336ea81345@e124511.cambridge.arm.com> (raw)
In-Reply-To: <ae9504d0-2e92-13fe-3739-073c1054f372@e124511.cambridge.arm.com>
Support for this extension is almost entirely missing in the 2.42
branch. This patch removes the flags and documentation, to avoid
any further suggestion that this support exists.
diff --git a/gas/NEWS b/gas/NEWS
index 67d806cbf89e07ea5507968086e84934649dfec6..86aa7d7334d3b58ee4e0abeba796b7214f356b30 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -6,8 +6,6 @@ Changes in 2.42:
* Add support for the AArch64 Scalable Vector Extension version 2.1 (SVE2.1).
-* Add support for the AArch64 Scalable Matrix Extension version 2.1 (SME2.1).
-
* Add support for the AArch64 BFloat16 to BFloat16 arithmetic for SVE2 and SME2
(B16B16).
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 0c6de289408f4c53633e468c610623c22a0fdec8..62c428cb80ba7114440c9c65f6042259e3f99df9 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10426,7 +10426,6 @@ static const struct aarch64_option_cpu_value_table aarch64_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 4f97768206cd9c7efcb0cc25af497c032d66dbf8..748e7263428115c56db76b39371f9777248850a7 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -263,8 +263,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}
diff --git a/gas/testsuite/gas/aarch64/sme2p1-1.d b/gas/testsuite/gas/aarch64/sme2p1-1.d
deleted file mode 100644
index a6e7b7664024e7f03ddd1d8ece9d6c3bd1c79042..0000000000000000000000000000000000000000
--- a/gas/testsuite/gas/aarch64/sme2p1-1.d
+++ /dev/null
@@ -1,42 +0,0 @@
-#name: Test of SME2.1 movaz instructions.
-#as: -march=armv9.4-a+sme2p1
-#objdump: -dr
-
-[^:]+: file format .*
-
-
-[^:]+:
-
-[^:]+:
-.*: c006c260 movaz {z0.b-z1.b}, za0v.b \[w14, 6:7\]
-.*: c046c260 movaz {z0.h-z1.h}, za0v.h \[w14, 6:7\]
-.*: c086c220 movaz {z0.s-z1.s}, za0v.s \[w14, 2:3\]
-.*: c0c6c200 movaz {z0.d-z1.d}, za0v.d \[w14, 0:1\]
-.*: c00602e0 movaz {z0.b-z1.b}, za0h.b \[w12, 14:15\]
-.*: c0462260 movaz {z0.h-z1.h}, za0h.h \[w13, 6:7\]
-.*: c0864220 movaz {z0.s-z1.s}, za0h.s \[w14, 2:3\]
-.*: c0c66200 movaz {z0.d-z1.d}, za0h.d \[w15, 0:1\]
-.*: c006c260 movaz {z0.b-z1.b}, za0v.b \[w14, 6:7\]
-.*: c046c2e0 movaz {z0.h-z1.h}, za1v.h \[w14, 6:7\]
-.*: c086c2a0 movaz {z0.s-z1.s}, za2v.s \[w14, 2:3\]
-.*: c0c6c260 movaz {z0.d-z1.d}, za3v.d \[w14, 0:1\]
-.*: c00602e0 movaz {z0.b-z1.b}, za0h.b \[w12, 14:15\]
-.*: c04622e0 movaz {z0.h-z1.h}, za1h.h \[w13, 6:7\]
-.*: c08642a0 movaz {z0.s-z1.s}, za2h.s \[w14, 2:3\]
-.*: c0c66260 movaz {z0.d-z1.d}, za3h.d \[w15, 0:1\]
-.*: c006c660 movaz {z0.b-z3.b}, za0v.b \[w14, 12:15\]
-.*: c046c620 movaz {z0.h-z3.h}, za0v.h \[w14, 4:7\]
-.*: c086c600 movaz {z0.s-z3.s}, za0v.s \[w14, 0:3\]
-.*: c0c6c600 movaz {z0.d-z3.d}, za0v.d \[w14, 0:3\]
-.*: c0060660 movaz {z0.b-z3.b}, za0h.b \[w12, 12:15\]
-.*: c0462620 movaz {z0.h-z3.h}, za0h.h \[w13, 4:7\]
-.*: c0864600 movaz {z0.s-z3.s}, za0h.s \[w14, 0:3\]
-.*: c0c66600 movaz {z0.d-z3.d}, za0h.d \[w15, 0:3\]
-.*: c006c640 movaz {z0.b-z3.b}, za0v.b \[w14, 8:11\]
-.*: c046c660 movaz {z0.h-z3.h}, za1v.h \[w14, 4:7\]
-.*: c086c640 movaz {z0.s-z3.s}, za2v.s \[w14, 0:3\]
-.*: c0c6c660 movaz {z0.d-z3.d}, za3v.d \[w14, 0:3\]
-.*: c0060660 movaz {z0.b-z3.b}, za0h.b \[w12, 12:15\]
-.*: c0462660 movaz {z0.h-z3.h}, za1h.h \[w13, 4:7\]
-.*: c0864640 movaz {z0.s-z3.s}, za2h.s \[w14, 0:3\]
-.*: c0c66660 movaz {z0.d-z3.d}, za3h.d \[w15, 0:3\]
diff --git a/gas/testsuite/gas/aarch64/sme2p1-1.s b/gas/testsuite/gas/aarch64/sme2p1-1.s
deleted file mode 100644
index 77481d4b874b4688e10c794e6ea9e1ff0c81ef3d..0000000000000000000000000000000000000000
--- a/gas/testsuite/gas/aarch64/sme2p1-1.s
+++ /dev/null
@@ -1,39 +0,0 @@
- movaz {z0.b - z1.b}, ZA0V.B [w14, 6:7]
- movaz {z0.h - z1.h}, ZA0V.H [w14, 6:7]
- movaz {z0.s - z1.s}, ZA0V.S [w14, 2:3]
- movaz {z0.d - z1.d}, ZA0V.D [w14, 0:1]
-
- movaz {z0.b - z1.b}, ZA0H.B [w12, 14:15]
- movaz {z0.h - z1.h}, ZA0H.H [w13, 6:7]
- movaz {z0.s - z1.s}, ZA0H.S [w14, 2:3]
- movaz {z0.d - z1.d}, ZA0H.D [w15, 0:1]
-
- movaz {z0.b - z1.b}, ZA0V.B [w14, 6:7]
- movaz {z0.h - z1.h}, ZA1V.H [w14, 6:7]
- movaz {z0.s - z1.s}, ZA2V.S [w14, 2:3]
- movaz {z0.d - z1.d}, ZA3V.D [w14, 0:1]
-
- movaz {z0.b - z1.b}, ZA0H.B [w12, 14:15]
- movaz {z0.h - z1.h}, ZA1H.H [w13, 6:7]
- movaz {z0.s - z1.s}, ZA2H.S [w14, 2:3]
- movaz {z0.d - z1.d}, ZA3H.D [w15, 0:1]
-
- movaz {z0.b - z3.b}, ZA0V.B [w14, 12:15]
- movaz {z0.h - z3.h}, ZA0V.H [w14, 4:7]
- movaz {z0.s - z3.s}, ZA0V.S [w14, 0:3]
- movaz {z0.d - z3.d}, ZA0V.D [w14, 0:3]
-
- movaz {z0.b - z3.b}, ZA0H.B [w12, 12:15]
- movaz {z0.h - z3.h}, ZA0H.H [w13, 4:7]
- movaz {z0.s - z3.s}, ZA0H.S [w14, 0:3]
- movaz {z0.d - z3.d}, ZA0H.D [w15, 0:3]
-
- movaz {z0.b - z3.b}, ZA0V.B [w14, 8:11]
- movaz {z0.h - z3.h}, ZA1V.H [w14, 4:7]
- movaz {z0.s - z3.s}, ZA2V.S [w14, 0:3]
- movaz {z0.d - z3.d}, ZA3V.D [w14, 0:3]
-
- movaz {z0.b - z3.b}, ZA0H.B [w12, 12:15]
- movaz {z0.h - z3.h}, ZA1H.H [w13, 4:7]
- movaz {z0.s - z3.s}, ZA2H.S [w14, 0:3]
- movaz {z0.d - z3.d}, ZA3H.D [w15, 0:3]
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 02ee0fc2566d500359a9e89de3dfb954100f63ce..bb3151d027ccd56f83298083a2e6c744eb1f4573 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -222,8 +222,6 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_SEBEP,
/* SVE2.1 and SME2.1 non-widening BFloat16 instructions. */
AARCH64_FEATURE_B16B16,
- /* SME2.1 instructions. */
- AARCH64_FEATURE_SME2p1,
/* SVE2.1 instructions. */
AARCH64_FEATURE_SVE2p1,
/* RCPC3 instructions. */
diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
index 66d68c00725a7d7383afaecc015bf3f9dd36923a..ae4363970b0b8bc6eaa342b4199d96cacac6fd8a 100644
--- a/opcodes/aarch64-tbl.h
+++ b/opcodes/aarch64-tbl.h
@@ -2643,8 +2643,6 @@ static const aarch64_feature_set aarch64_feature_d128_the =
AARCH64_FEATURES (2, D128, THE);
static const aarch64_feature_set aarch64_feature_b16b16 =
AARCH64_FEATURE (B16B16);
-static const aarch64_feature_set aarch64_feature_sme2p1 =
- AARCH64_FEATURE (SME2p1);
static const aarch64_feature_set aarch64_feature_sve2p1 =
AARCH64_FEATURE (SVE2p1);
static const aarch64_feature_set aarch64_feature_rcpc3 =
@@ -2713,7 +2711,6 @@ static const aarch64_feature_set aarch64_feature_rcpc3 =
#define THE &aarch64_feature_the
#define D128_THE &aarch64_feature_d128_the
#define B16B16 &aarch64_feature_b16b16
-#define SME2p1 &aarch64_feature_sme2p1
#define SVE2p1 &aarch64_feature_sve2p1
#define RCPC3 &aarch64_feature_rcpc3
@@ -2782,9 +2779,6 @@ static const aarch64_feature_set aarch64_feature_rcpc3 =
#define SVE2_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
{ NAME, OPCODE, MASK, CLASS, OP, SVE2, OPS, QUALS, \
FLAGS | F_STRICT, 0, TIED, NULL }
-#define SME2p1_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
- { NAME, OPCODE, MASK, CLASS, OP, SME2p1, OPS, QUALS, \
- FLAGS | F_STRICT, 0, TIED, NULL }
#define SVE2_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
{ NAME, OPCODE, MASK, CLASS, OP, SVE2, OPS, QUALS, \
FLAGS | F_STRICT, CONSTRAINTS, TIED, NULL }
@@ -6348,17 +6342,6 @@ const struct aarch64_opcode aarch64_opcode_table[] =
B16B16_INSN("bfmls", 0x64200c00, 0xffa0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_11_INDEX), OP_SVE_VVV_H, 0, 0),
B16B16_INSN("bfmul", 0x64202800, 0xffa0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_11_INDEX), OP_SVE_VVV_H, 0, 0),
-/* SME2.1 movaz instructions. */
- SME2p1_INSN ("movaz", 0xc0060600, 0xffff1f83, sme2_movaz, 0, OP2 (SME_Zdnx4, SME_ZA_array_vrsb_2), OP_SVE_BB, 0, 0),
- SME2p1_INSN ("movaz", 0xc0460600, 0xffff1f83, sme2_movaz, 0, OP2 (SME_Zdnx4, SME_ZA_array_vrsh_2), OP_SVE_HH, 0, 0),
- SME2p1_INSN ("movaz", 0xc0860600, 0xffff1f83, sme2_movaz, 0, OP2 (SME_Zdnx4, SME_ZA_array_vrss_2), OP_SVE_SS, 0, 0),
- SME2p1_INSN ("movaz", 0xc0c60600, 0xffff1f03, sme2_movaz, 0, OP2 (SME_Zdnx4, SME_ZA_array_vrsd_2), OP_SVE_DD, 0, 0),
-
- SME2p1_INSN ("movaz", 0xc0060200, 0xffff1f01, sme2_movaz, 0, OP2 (SME_Zdnx2, SME_ZA_array_vrsb_1), OP_SVE_BB, 0, 0),
- SME2p1_INSN ("movaz", 0xc0460200, 0xffff1f01, sme2_movaz, 0, OP2 (SME_Zdnx2, SME_ZA_array_vrsh_1), OP_SVE_HH, 0, 0),
- SME2p1_INSN ("movaz", 0xc0860200, 0xffff1f01, sme2_movaz, 0, OP2 (SME_Zdnx2, SME_ZA_array_vrss_1), OP_SVE_SS, 0, 0),
- SME2p1_INSN ("movaz", 0xc0c60200, 0xffff1f01, sme2_movaz, 0, OP2 (SME_Zdnx2, SME_ZA_array_vrsd_1), OP_SVE_DD, 0, 0),
-
/* SVE2p1 Instructions. */
SVE2p1_INSNC("addqv",0x04052000, 0xff3fe000, sve2_urqvs, 0, OP3 (Vd, SVE_Pg3, SVE_Zn), OP_SVE_vUS_BHSD_BHSD, F_OPD_SIZE, C_SCAN_MOVPRFX, 0),
SVE2p1_INSNC("andqv",0x041e2000, 0xff3fe000, sve2_urqvs, 0, OP3 (Vd, SVE_Pg3, SVE_Zn), OP_SVE_vUS_BHSD_BHSD, F_OPD_SIZE, C_SCAN_MOVPRFX, 0),
next prev parent reply other threads:[~2024-02-29 17:46 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-29 17:33 [0/3] [2.42 Backport] aarch64: Remove B16B16, SVE2p1 and SME2p1 Andrew Carlotti
2024-02-29 17:35 ` Andrew Carlotti [this message]
2024-03-01 17:11 ` [PATCH 1/3] [2.42 Backport] aarch64: Remove SME2p1 Richard Earnshaw (lists)
2024-03-01 17:33 ` Andrew Carlotti
2024-02-29 17:36 ` [PATCH 2/3] [2.42 Backport] aarch64: Remove SVE2p1 Andrew Carlotti
2024-02-29 17:36 ` [PATCH 3/3] [2.42 Backport] aarch64: Remove B16B16 Andrew Carlotti
2024-03-01 7:45 ` [0/3] [2.42 Backport] aarch64: Remove B16B16, SVE2p1 and SME2p1 Jan Beulich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bee9a590-7282-5c58-9779-ec336ea81345@e124511.cambridge.arm.com \
--to=andrew.carlotti@arm.com \
--cc=binutils@sourceware.org \
--cc=jbeulich@suse.com \
--cc=nickc@redhat.com \
--cc=richard.earnshaw@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).