[PATCH v2] i386: Disable Intel Xeon Phi test for GCC 15 and higher (BZ 31782)

Sam James sam@gentoo.org
Tue May 28 00:40:05 GMT 2024


Sunil Pandey <skpgkp2@gmail.com> writes:

> Is it ok to backport this patch to older release branches?

Please do. Thank you!

>
> --Sunil
>
> On Mon, May 27, 2024 at 2:07 PM Sam James <sam@gentoo.org> wrote:
>
>  "H.J. Lu" <hjl.tools@gmail.com> writes:
>
>  > On Mon, May 27, 2024 at 12:42 PM Sam James <sam@gentoo.org> wrote:
>  >>
>  >> Sunil K Pandey <skpgkp2@gmail.com> writes:
>  >>
>  >> > This patch disable Intel Xeon Phi test for GCC 15 and above.
>  >> >
>  >> > GCC 15 removed Intel Xeon Phi ISA support.
>  >> > commit e1a7e2c54d52d0ba374735e285b617af44841ace
>  >> > Author: Haochen Jiang <haochen.jiang@intel.com>
>  >> > Date:   Mon May 20 10:43:44 2024 +0800
>  >> >
>  >> >     i386: Remove Xeon Phi ISA support
>  >> >
>  >> > Fixes BZ 31782.
>  >> > ---
>  >> >  sysdeps/x86/tst-cpu-features-supports.c | 8 +++++++-
>  >> >  1 file changed, 7 insertions(+), 1 deletion(-)
>  >> >
>  >> > diff --git a/sysdeps/x86/tst-cpu-features-supports.c b/sysdeps/x86/tst-cpu-features-supports.c
>  >> > index e270c29db7..a50afea2f9 100644
>  >> > --- a/sysdeps/x86/tst-cpu-features-supports.c
>  >> > +++ b/sysdeps/x86/tst-cpu-features-supports.c
>  >> > @@ -65,7 +65,7 @@ do_test (int argc, char **argv)
>  >> >  #endif
>  >> >    fails += CHECK_FEATURE_ACTIVE (avx, AVX);
>  >> >    fails += CHECK_FEATURE_ACTIVE (avx2, AVX2);
>  >> > -#if __GNUC_PREREQ (7, 0)
>  >> > +#if __GNUC_PREREQ (7, 0) && !__GNUC_PREREQ (15, 0)
>  >> >    fails += CHECK_FEATURE_ACTIVE (avx5124fmaps, AVX512_4FMAPS);
>  >> >    fails += CHECK_FEATURE_ACTIVE (avx5124vnniw, AVX512_4VNNIW);
>  >> >  #endif
>  >> > @@ -92,14 +92,18 @@ do_test (int argc, char **argv)
>  >> >  #if __GNUC_PREREQ (6, 0)
>  >> >    fails += CHECK_FEATURE_ACTIVE (avx512bw, AVX512BW);
>  >> >    fails += CHECK_FEATURE_ACTIVE (avx512cd, AVX512CD);
>  >> > +# if !__GNUC_PREREQ (15, 0)
>  >> >    fails += CHECK_FEATURE_ACTIVE (avx512er, AVX512ER);
>  >> > +# endif
>  >> >    fails += CHECK_FEATURE_ACTIVE (avx512dq, AVX512DQ);
>  >> >  #endif
>  >> >  #if __GNUC_PREREQ (5, 0)
>  >> >    fails += CHECK_FEATURE_ACTIVE (avx512f, AVX512F);
>  >> >  #endif
>  >> >  #if __GNUC_PREREQ (6, 0)
>  >> > +# if !__GNUC_PREREQ (15, 0)
>  >> >    fails += CHECK_FEATURE_ACTIVE (avx512pf, AVX512PF);
>  >> > +# endif
>  >> >    fails += CHECK_FEATURE_ACTIVE (avx512vl, AVX512VL);
>  >> >  #endif
>  >> >  #if __GNUC_PREREQ (5, 0)
>  >> > @@ -148,7 +152,9 @@ do_test (int argc, char **argv)
>  >> >  #endif
>  >> >    fails += CHECK_FEATURE_ACTIVE (popcnt, POPCNT);
>  >> >  #if __GNUC_PREREQ (11, 0)
>  >> > +# if !__GNUC_PREREQ (15, 0)
>  >> >    fails += CHECK_FEATURE_ACTIVE (prefetchwt1, PREFETCHWT1);
>  >> > +# endif
>  >>
>  >> I'm sure it's fine, but to satisfy my curiosity: why are we keeping the
>  >> test for this if we've ripped out the runtime support in the previous
>  >> patch?
>  >>
>  >> My assumption (from just looking at the diff on the ML, not additional
>  >> context from the source files) was that it'd fail tests with GCC 14.
>  >>
>  >> Or at the very least, is there really value in keeping this, even if it
>  >> works?
>  >
>  > These CPUID feature bits won't go away.  Even if their support
>  > has been removed from GCC 15, they can still be used with GCC
>  > 14 or older.
>
>  I was wondering because of the changes in cpu-features.c, but looking
>  again, I see support was retained in just one of the two tests - so that
>  makes sense. Thanks.
>
>  >
>  >> >    fails += CHECK_FEATURE_ACTIVE (ptwrite, PTWRITE);
>  >> >    fails += CHECK_FEATURE_ACTIVE (rdpid, RDPID);
>  >> >    fails += CHECK_FEATURE_ACTIVE (rdrnd, RDRAND);


More information about the Libc-alpha mailing list