Re: Improve CRC32C performance on SSE4.2

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: John Naylor <johncnaylorls(at)gmail(dot)com>, Andy Fan <zhihuifan1213(at)163(dot)com>, "Devulapalli, Raghuveer" <raghuveer(dot)devulapalli(at)intel(dot)com>, Jesper Pedersen <jesperpedersen(dot)db(at)gmail(dot)com>, Tomas Vondra <tomas(at)vondra(dot)me>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "Shankaran, Akash" <akash(dot)shankaran(at)intel(dot)com>
Subject: Re: Improve CRC32C performance on SSE4.2
Date: 2025-06-23 15:15:26
Message-ID: aFlvjuCZGdRTUOPf@nathan
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jun 23, 2025 at 11:10:45AM -0400, Tom Lane wrote:
> Nathan Bossart <nathandbossart(at)gmail(dot)com> writes:
>> On Mon, Jun 23, 2025 at 10:51:21AM -0400, Tom Lane wrote:
>>> This has broken the build completely on my RHEL8 x86_64 box,
>>> with gcc 8.5.0:
>
>> Unfortunately, this will probably require more than replacing
>> _mm512_castsi512_si128 with _mm512_zextsi512_si128 because the latter
>> doesn't exist.
>
> I was imagining just including _mm512_zextsi128_si512() in the
> code being tested during configure, so that we fall back to
> the non-AVX-512 code if the compiler is too old to have it.
> I don't really feel a need to work harder than that.

Sorry, my note wasn't clear. Right now, the configure test uses
_mm512_castsi512_si128(), so we can't just do a simple s/cast/zext. We'll
need to make a slightly bigger modification to the test to make sure the
zext intrinsics are understood. I agree that we needn't work any harder
than that.

--
nathan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Christoph Berg 2025-06-23 15:20:12 Re: pgsql: Introduce pg_shmem_allocations_numa view
Previous Message Andres Freund 2025-06-23 15:14:54 Re: pgsql: Introduce pg_shmem_allocations_numa view