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

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

From: "Devulapalli, Raghuveer" <raghuveer.devulapalli@intel.com>
To: "Devulapalli, Raghuveer" <raghuveer.devulapalli@intel.com>, 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-08T19:05:23Z
Lists: pgsql-hackers

Attachments

V3: With the suggested changes. 

Raghuveer

> -----Original Message-----
> From: Devulapalli, Raghuveer <raghuveer.devulapalli@intel.com>
> Sent: Friday, November 8, 2024 10:43 AM
> To: Nathan Bossart <nathandbossart@gmail.com>
> Cc: pgsql-hackers@lists.postgresql.org; Shankaran, Akash
> <akash.shankaran@intel.com>
> Subject: RE: Use __attribute__((target(sse4.2))) for SSE42 CRC32C
> 
> > I believe we expect MSVC builds to use meson at this point, which is
> > probably why there's this extra check:
> >
> >   if cc.get_id() == 'msvc'
> >     cdata.set('USE_SSE42_CRC32C', false)
> >     cdata.set('USE_SSE42_CRC32C_WITH_RUNTIME_CHECK', 1)
> >     have_optimized_crc = true
> >
> 
> Ah, I missed this. This makes sense.
> 

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