On 16/01/2025 21:14, Bruno Haible via GNU coreutils Bug Reports wrote:
Testing a current coreutils with a current gnulib on CentOS 8 and
CentOS 8 Stream, I see the same compilation error on both:
CC src/libcksum_avx512_a-cksum_avx512.o
../src/cksum_avx512.c: In function 'cksum_avx512':
../src/cksum_avx512.c:60:22: warning: implicit declaration of function
'_mm512_set_epi8'; did you mean '_mm512_set1_epi8'?
[-Wimplicit-function-declaration]
shuffle_constant = _mm512_set_epi8 (0, 1, 2, 3, 4, 5, 6, 7, 8,
^~~~~~~~~~~~~~~
_mm512_set1_epi8
../src/cksum_avx512.c:60:20: error: incompatible types when assigning to type
'__m512i' {aka '__vector(8) long long int'} from type 'int'
shuffle_constant = _mm512_set_epi8 (0, 1, 2, 3, 4, 5, 6, 7, 8,
^
make[2]: *** [Makefile:20396: src/libcksum_avx512_a-cksum_avx512.o] Error 1
The cause is that USE_AVX512_CRC32 was determined to be true at configure
time, although the compiler does not support all builtin functions used
by cksum_avx512.c.
This proposed patch fixed it. I verified that on Ubuntu 24.04 and
CentOS Stream 9, USE_AVX512_CRC32 remains true.
Ah right, it seems this fails on GCC 8 without your patch.
Pushed.
Marking this as done.
thanks!
Pádraig