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>, "Shankaran, Akash" <akash.shankaran@intel.com>
Date: 2024-11-21T23:07:59Z
Lists: pgsql-hackers

Attachments

> I think it is in pretty good shape.  After a read-through, the only thing that stands
> out to me is the difference in configure tests between autoconf and meson.  I
> think we should consider picking one approach, although I'm not sure I have a
> strong preference.

Thanks for the review! We can actually leverage meson's built in option to check for a macro: cc.get_define('__SSE4_2__') != ''. This should keep the logic consistent across configure and meson. 

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