public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] aarch64: disable feature b16b16
@ 2024-07-12  8:02 yury.khrustalev
  2024-07-12 10:13 ` Richard Earnshaw (lists)
  2024-07-18  6:07 ` Jan Beulich
  0 siblings, 2 replies; 4+ messages in thread
From: yury.khrustalev @ 2024-07-12  8:02 UTC (permalink / raw)
  To: binutils
  Cc: yury.khrustalev, matthieu.longo, richard.earnshaw, nickc, Matthieu Longo

From: Matthieu Longo <Matthieu.Longo@arm.com>

Feature b16b16 is currently incomplete and requires re-work.

This patch disables the command line option for b16b16, and marks the
associated tests as XFAIL.

---
Feature b16b16 is currently incomplete and requires re-work.
This patch disables the command line option for b16b16, and marks the associated tests as XFAIL.

Regression tested on aarch64-unknown-linux-gnu, and no regression found.

Ok for binutils-master?

Regards,
Yury
---
 gas/config/tc-aarch64.c                        | 4 +++-
 gas/doc/c-aarch64.texi                         | 4 ++--
 gas/testsuite/gas/aarch64/bfloat16-1.d         | 1 +
 gas/testsuite/gas/aarch64/bfloat16-2-invalid.d | 1 +
 4 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 8690b8f9142..ed5ab762bc9 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10705,7 +10705,9 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
   {"rasv2",		AARCH64_FEATURE (RASv2), AARCH64_FEATURE (RAS)},
   {"ite",		AARCH64_FEATURE (ITE), AARCH64_NO_FEATURES},
   {"d128",		AARCH64_FEATURE (D128), D128_FEATURE_DEPS},
-  {"b16b16",		AARCH64_FEATURE (B16B16), AARCH64_FEATURE (SVE2)},
+  // Feature b16b16 is currently incomplete.
+  // TODO: finish implementation and enable relevant flags.
+  //{"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)},
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 212630477a1..8e46038a787 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -161,8 +161,8 @@ 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.
+@c @item @code{b16b16} @tab @code{sve2}
+@c  @tab Enable BFloat16 to BFloat16 arithmetic for SVE2 and SME2.
 @item @code{bf16} @tab @code{fp}
  @tab Enable BFloat16 extension.
 @item @code{brbe} @tab
diff --git a/gas/testsuite/gas/aarch64/bfloat16-1.d b/gas/testsuite/gas/aarch64/bfloat16-1.d
index 51f7e6cab20..9027f3c9e36 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/bfloat16-2-invalid.d b/gas/testsuite/gas/aarch64/bfloat16-2-invalid.d
index 1cd27454d42..8a9a56b10e5 100644
--- a/gas/testsuite/gas/aarch64/bfloat16-2-invalid.d
+++ b/gas/testsuite/gas/aarch64/bfloat16-2-invalid.d
@@ -2,3 +2,4 @@
 #as: -march=armv9.4-a+b16b16
 #source: bfloat16-2-invalid.s
 #error_output: bfloat16-2-invalid.l
+#xfail: *
-- 
2.39.2


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

* Re: [PATCH] aarch64: disable feature b16b16
  2024-07-12  8:02 [PATCH] aarch64: disable feature b16b16 yury.khrustalev
@ 2024-07-12 10:13 ` Richard Earnshaw (lists)
  2024-07-18  6:07 ` Jan Beulich
  1 sibling, 0 replies; 4+ messages in thread
From: Richard Earnshaw (lists) @ 2024-07-12 10:13 UTC (permalink / raw)
  To: yury.khrustalev, binutils; +Cc: matthieu.longo, nickc

On 12/07/2024 09:02, yury.khrustalev@arm.com wrote:
> From: Matthieu Longo <Matthieu.Longo@arm.com>
> 
> Feature b16b16 is currently incomplete and requires re-work.
> 
> This patch disables the command line option for b16b16, and marks the
> associated tests as XFAIL.
> 
> ---
> Feature b16b16 is currently incomplete and requires re-work.
> This patch disables the command line option for b16b16, and marks the associated tests as XFAIL.
> 
> Regression tested on aarch64-unknown-linux-gnu, and no regression found.
> 
> Ok for binutils-master?

I've made one small change to this and pushed it.  Conventionally we write 'xfail *-*-*' to match any triplet rather than just 'xfail *'.  I've also amended the commit message slightly, to remove 'This patch', with corresponding adjustments to the grammar in the rest of the sentence.

R.

> 
> Regards,
> Yury
> ---
>  gas/config/tc-aarch64.c                        | 4 +++-
>  gas/doc/c-aarch64.texi                         | 4 ++--
>  gas/testsuite/gas/aarch64/bfloat16-1.d         | 1 +
>  gas/testsuite/gas/aarch64/bfloat16-2-invalid.d | 1 +
>  4 files changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
> index 8690b8f9142..ed5ab762bc9 100644
> --- a/gas/config/tc-aarch64.c
> +++ b/gas/config/tc-aarch64.c
> @@ -10705,7 +10705,9 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
>    {"rasv2",		AARCH64_FEATURE (RASv2), AARCH64_FEATURE (RAS)},
>    {"ite",		AARCH64_FEATURE (ITE), AARCH64_NO_FEATURES},
>    {"d128",		AARCH64_FEATURE (D128), D128_FEATURE_DEPS},
> -  {"b16b16",		AARCH64_FEATURE (B16B16), AARCH64_FEATURE (SVE2)},
> +  // Feature b16b16 is currently incomplete.
> +  // TODO: finish implementation and enable relevant flags.
> +  //{"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)},
> diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
> index 212630477a1..8e46038a787 100644
> --- a/gas/doc/c-aarch64.texi
> +++ b/gas/doc/c-aarch64.texi
> @@ -161,8 +161,8 @@ 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.
> +@c @item @code{b16b16} @tab @code{sve2}
> +@c  @tab Enable BFloat16 to BFloat16 arithmetic for SVE2 and SME2.
>  @item @code{bf16} @tab @code{fp}
>   @tab Enable BFloat16 extension.
>  @item @code{brbe} @tab
> diff --git a/gas/testsuite/gas/aarch64/bfloat16-1.d b/gas/testsuite/gas/aarch64/bfloat16-1.d
> index 51f7e6cab20..9027f3c9e36 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/bfloat16-2-invalid.d b/gas/testsuite/gas/aarch64/bfloat16-2-invalid.d
> index 1cd27454d42..8a9a56b10e5 100644
> --- a/gas/testsuite/gas/aarch64/bfloat16-2-invalid.d
> +++ b/gas/testsuite/gas/aarch64/bfloat16-2-invalid.d
> @@ -2,3 +2,4 @@
>  #as: -march=armv9.4-a+b16b16
>  #source: bfloat16-2-invalid.s
>  #error_output: bfloat16-2-invalid.l
> +#xfail: *


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

* Re: [PATCH] aarch64: disable feature b16b16
  2024-07-12  8:02 [PATCH] aarch64: disable feature b16b16 yury.khrustalev
  2024-07-12 10:13 ` Richard Earnshaw (lists)
@ 2024-07-18  6:07 ` Jan Beulich
  2024-07-18 10:07   ` Richard Earnshaw (lists)
  1 sibling, 1 reply; 4+ messages in thread
From: Jan Beulich @ 2024-07-18  6:07 UTC (permalink / raw)
  To: yury.khrustalev, richard.earnshaw; +Cc: matthieu.longo, nickc, binutils

On 12.07.2024 10:02, yury.khrustalev@arm.com wrote:
> From: Matthieu Longo <Matthieu.Longo@arm.com>
> 
> Feature b16b16 is currently incomplete and requires re-work.

Nevertheless the partial implementation was available in a release. The
change here therefore will break, in 2.43, code where the working parts
of the feature were already put in use.

Jan

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

* Re: [PATCH] aarch64: disable feature b16b16
  2024-07-18  6:07 ` Jan Beulich
@ 2024-07-18 10:07   ` Richard Earnshaw (lists)
  0 siblings, 0 replies; 4+ messages in thread
From: Richard Earnshaw (lists) @ 2024-07-18 10:07 UTC (permalink / raw)
  To: Jan Beulich, yury.khrustalev; +Cc: matthieu.longo, nickc, binutils

On 18/07/2024 07:07, Jan Beulich wrote:
> On 12.07.2024 10:02, yury.khrustalev@arm.com wrote:
>> From: Matthieu Longo <Matthieu.Longo@arm.com>
>>
>> Feature b16b16 is currently incomplete and requires re-work.
> 
> Nevertheless the partial implementation was available in a release. The
> change here therefore will break, in 2.43, code where the working parts
> of the feature were already put in use.
> 
> Jan

Fortunately, there's no silicon available yet with this feature, so I'd be very surprised if anybody is affected by it in practice.  Hopefully any distro using 2.42 as a LTS release will have picked up the post-release patches from the branch and thus disabled the option.

R.

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

end of thread, other threads:[~2024-07-18 10:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-12  8:02 [PATCH] aarch64: disable feature b16b16 yury.khrustalev
2024-07-12 10:13 ` Richard Earnshaw (lists)
2024-07-18  6:07 ` Jan Beulich
2024-07-18 10:07   ` Richard Earnshaw (lists)

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