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

Sam James sam@gentoo.org
Mon May 27 21:07:07 GMT 2024


"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