Re: Improve CRC32C performance on SSE4.2 - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Improve CRC32C performance on SSE4.2
Date
Msg-id 3350336.1750690281@sss.pgh.pa.us
Whole thread Raw
In response to Re: Improve CRC32C performance on SSE4.2  (John Naylor <johncnaylorls@gmail.com>)
Responses Re: Improve CRC32C performance on SSE4.2
List pgsql-hackers
John Naylor <johncnaylorls@gmail.com> writes:
> Pushed, thanks everyone!

This has broken the build completely on my RHEL8 x86_64 box,
with gcc 8.5.0:

$ ./configure ...
$ make -s
pg_crc32c_sse42.c: In function 'pg_comp_crc32c_avx512':
pg_crc32c_sse42.c:126:25: warning: implicit declaration of function '_mm512_zextsi128_si512'; did you mean
'_mm512_castsi128_si512'?[-Wimplicit-function-declaration] 
   x0 = _mm512_xor_si512(_mm512_zextsi128_si512(_mm_cvtsi32_si128(crc0)), x0);
                         ^~~~~~~~~~~~~~~~~~~~~~
                         _mm512_castsi128_si512
pg_crc32c_sse42.c:126:25: error: incompatible type for argument 1 of '_mm512_xor_si512'
   x0 = _mm512_xor_si512(_mm512_zextsi128_si512(_mm_cvtsi32_si128(crc0)), x0);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-redhat-linux/8/include/immintrin.h:45,
                 from pg_crc32c_sse42.c:19:
/usr/lib/gcc/x86_64-redhat-linux/8/include/avx512fintrin.h:7267:27: note: expected '__m512i' {aka '__vector(8) long
longint'} but argument is of type 'int' 
 _mm512_xor_si512 (__m512i __A, __m512i __B)
                   ~~~~~~~~^~~
make[2]: *** [<builtin>: pg_crc32c_sse42.o] Error 1

I see similar symptoms on buildfarm animal conchuela, which
is DragonFly BSD of some vintage or other.  Not sure why
more animals aren't complaining.  Anyway, it seems that the
configure probe to see if this facility is available had
better be adjusted to match the new code.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Christoph Berg
Date:
Subject: Re: pgsql: Introduce pg_shmem_allocations_numa view
Next
From: Nathan Bossart
Date:
Subject: Re: Improve CRC32C performance on SSE4.2