RE: Use __attribute__((target(sse4.2))) for SSE42 CRC32C

Devulapalli, Raghuveer <raghuveer.devulapalli@intel.com>

From: "Devulapalli, Raghuveer" <raghuveer.devulapalli@intel.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2024-11-07T21:42:58Z
Lists: pgsql-hackers

Attachments

Here is the updated patch with the #if defined(__has_attribute) && __has_attribute (target) guard. 

> Oh, you are right, sorry.

No worries! ๐Ÿ˜Š

> Is the idea that we will put both "choose" functions in one file and the actual
> CRC-32C code in another?  I'm okay with that.

Yup, there can only be one choose function that has to pick between avx512, sse42 and scalar code. 

Raghuveer

Commits

  1. Use __attribute__((target(...))) for SSE4.2 CRC-32C support.

  2. Move check for USE_AVX512_POPCNT_WITH_RUNTIME_CHECK.

  3. Remove MSVC scripts