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

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

Commit Message

H.J. Lu via Libc-alpha April 22, 2021, 1:43 a.m.
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.

-- 
H.J.

Comments

Joseph Myers April 22, 2021, 5:07 p.m. | #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.)

-- 
Joseph S. Myers
joseph@codesourcery.com
H.J. Lu via Libc-alpha April 22, 2021, 5:08 p.m. | #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.

-- 
H.J.

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