Re: vectorized CRC on ARM64
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: John Naylor <johncnaylorls@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-03T13:54:36Z
Lists: pgsql-hackers
On Fri, Apr 03, 2026 at 03:22:59PM +0700, John Naylor wrote: > I went with the following for v5, and it passes MacOS on my Github CI: > > + /* set fallbacks */ > +#ifdef USE_ARMV8_CRC32C > + /* On e.g. MacOS, our runtime feature detection doesn't work */ > + pg_comp_crc32c = pg_comp_crc32c_armv8; > +#else > + pg_comp_crc32c = pg_comp_crc32c_sb8; > +#endif > + [...crc and pmull checks] > > That should keep scalar hardware support working, but now it'll only > use direct calls for constant inputs. v5 LGTM -- nathan
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Use C11 alignas instead of pg_attribute_aligned
- 182f6944d3d0 19 (unreleased) landed
- 8061bfd15abe master landed
-
Add missing guard for __builtin_constant_p
- 936d8974c3bc 18.4 landed
- 676626426285 19 (unreleased) landed
-
Exit early from pg_comp_crc32c_pmull for small inputs
- 948ef7cdc499 19 (unreleased) landed
-
Fix unused function warning on Arm platforms
- 2849fe4c9785 19 (unreleased) landed
-
Compute CRC32C on ARM using the Crypto Extension where available
- fbc57f2bc2ee 19 (unreleased) landed