x86: tst-cpu-features-supports.c: Update AMX check

Message ID CAMe9rOoaV1vPMwxnULzOTQx2A54ixPgkoL5e62+TLn8_Ae5GqQ@mail.gmail.com
State Committed
Headers
Series x86: tst-cpu-features-supports.c: Update AMX check |

Commit Message

H.J. Lu April 22, 2021, 1:43 a.m. UTC
  On Wed, Apr 21, 2021 at 3:45 PM Joseph Myers <joseph@codesourcery.com> wrote:
>
> With GCC mainline, I'm seeing glibc testsuite build failures for x86_64
> and x86:
>
> ../sysdeps/x86/tst-cpu-features-supports.c: In function 'do_test':
> ../sysdeps/x86/tst-cpu-features-supports.c:62:3: error: parameter to builtin not valid: amx_bf16
>    62 |   fails += CHECK_SUPPORTS (amx_bf16, AMX_BF16);
>       |   ^~~~~
> ../sysdeps/x86/tst-cpu-features-supports.c:63:3: error: parameter to builtin not valid: amx_int8
>    63 |   fails += CHECK_SUPPORTS (amx_int8, AMX_INT8);
>       |   ^~~~~
> ../sysdeps/x86/tst-cpu-features-supports.c:64:3: error: parameter to builtin not valid: amx_tile
>    64 |   fails += CHECK_SUPPORTS (amx_tile, AMX_TILE);
>       |   ^~~~~
>
> https://sourceware.org/pipermail/libc-testresults/2021q2/007827.html
>
> The code in question is inside a conditional
>
> #if __GNUC_PREREQ (11, 1)
>
> so wasn't compiled until the GCC version number was increased to 12 (and
> would probably start failing with GCC 11 branch as soon as 11.1 is
> released).
>

Try this.
  

Comments

Joseph Myers April 22, 2021, 5:07 p.m. UTC | #1
On Wed, 21 Apr 2021, H.J. Lu via Libc-alpha wrote:

> On Wed, Apr 21, 2021 at 3:45 PM Joseph Myers <joseph@codesourcery.com> wrote:
> >
> > With GCC mainline, I'm seeing glibc testsuite build failures for x86_64
> > and x86:
> >
> > ../sysdeps/x86/tst-cpu-features-supports.c: In function 'do_test':
> > ../sysdeps/x86/tst-cpu-features-supports.c:62:3: error: parameter to builtin not valid: amx_bf16
> >    62 |   fails += CHECK_SUPPORTS (amx_bf16, AMX_BF16);
> >       |   ^~~~~
> > ../sysdeps/x86/tst-cpu-features-supports.c:63:3: error: parameter to builtin not valid: amx_int8
> >    63 |   fails += CHECK_SUPPORTS (amx_int8, AMX_INT8);
> >       |   ^~~~~
> > ../sysdeps/x86/tst-cpu-features-supports.c:64:3: error: parameter to builtin not valid: amx_tile
> >    64 |   fails += CHECK_SUPPORTS (amx_tile, AMX_TILE);
> >       |   ^~~~~
> >
> > https://sourceware.org/pipermail/libc-testresults/2021q2/007827.html
> >
> > The code in question is inside a conditional
> >
> > #if __GNUC_PREREQ (11, 1)
> >
> > so wasn't compiled until the GCC version number was increased to 12 (and
> > would probably start failing with GCC 11 branch as soon as 11.1 is
> > released).
> >
> 
> Try this.

That patch fixes the build failures for me.

(Note: the fix ought to go on 2.33 branch as well, otherwise that branch 
will fail to build the testsuite with GCC 11.1 release.)
  
H.J. Lu April 22, 2021, 5:08 p.m. UTC | #2
On Thu, Apr 22, 2021 at 10:08 AM Joseph Myers <joseph@codesourcery.com> wrote:
>
> On Wed, 21 Apr 2021, H.J. Lu via Libc-alpha wrote:
>
> > On Wed, Apr 21, 2021 at 3:45 PM Joseph Myers <joseph@codesourcery.com> wrote:
> > >
> > > With GCC mainline, I'm seeing glibc testsuite build failures for x86_64
> > > and x86:
> > >
> > > ../sysdeps/x86/tst-cpu-features-supports.c: In function 'do_test':
> > > ../sysdeps/x86/tst-cpu-features-supports.c:62:3: error: parameter to builtin not valid: amx_bf16
> > >    62 |   fails += CHECK_SUPPORTS (amx_bf16, AMX_BF16);
> > >       |   ^~~~~
> > > ../sysdeps/x86/tst-cpu-features-supports.c:63:3: error: parameter to builtin not valid: amx_int8
> > >    63 |   fails += CHECK_SUPPORTS (amx_int8, AMX_INT8);
> > >       |   ^~~~~
> > > ../sysdeps/x86/tst-cpu-features-supports.c:64:3: error: parameter to builtin not valid: amx_tile
> > >    64 |   fails += CHECK_SUPPORTS (amx_tile, AMX_TILE);
> > >       |   ^~~~~
> > >
> > > https://sourceware.org/pipermail/libc-testresults/2021q2/007827.html
> > >
> > > The code in question is inside a conditional
> > >
> > > #if __GNUC_PREREQ (11, 1)
> > >
> > > so wasn't compiled until the GCC version number was increased to 12 (and
> > > would probably start failing with GCC 11 branch as soon as 11.1 is
> > > released).
> > >
> >
> > Try this.
>
> That patch fixes the build failures for me.
>
> (Note: the fix ought to go on 2.33 branch as well, otherwise that branch
> will fail to build the testsuite with GCC 11.1 release.)

I will check it into master branch and backport it to 2.33 branch.

Thanks.
  

Patch

From 023f78e474f844068a9fb615976ea59a1437877f Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Wed, 21 Apr 2021 18:40:08 -0700
Subject: [PATCH] x86: tst-cpu-features-supports.c: Update AMX check

Pass "amx-bf16", "amx-int8" and "amx-tile", instead of "amx_bf16",
"amx_int8" and "amx_tile", to __builtin_cpu_supports for GCC 11.
---
 sysdeps/x86/tst-cpu-features-supports.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sysdeps/x86/tst-cpu-features-supports.c b/sysdeps/x86/tst-cpu-features-supports.c
index ce78a7d8bc..a2cabc90be 100644
--- a/sysdeps/x86/tst-cpu-features-supports.c
+++ b/sysdeps/x86/tst-cpu-features-supports.c
@@ -59,9 +59,9 @@  do_test (int argc, char **argv)
   fails += CHECK_SUPPORTS (aes, AES);
 #endif
 #if __GNUC_PREREQ (11, 1)
-  fails += CHECK_SUPPORTS (amx_bf16, AMX_BF16);
-  fails += CHECK_SUPPORTS (amx_int8, AMX_INT8);
-  fails += CHECK_SUPPORTS (amx_tile, AMX_TILE);
+  fails += CHECK_SUPPORTS (amx-bf16, AMX_BF16);
+  fails += CHECK_SUPPORTS (amx-int8, AMX_INT8);
+  fails += CHECK_SUPPORTS (amx-tile, AMX_TILE);
 #endif
   fails += CHECK_SUPPORTS (avx, AVX);
   fails += CHECK_SUPPORTS (avx2, AVX2);
-- 
2.30.2