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-07T13:55:11Z
Lists: pgsql-hackers
On Tue, Apr 07, 2026 at 05:02:04PM +0700, John Naylor wrote:
> Attached is how that would look. The idea is that small inputs will
> encounter fewer branches. It'd be tricky to prove a difference with a
> benchmark, and I see this as just making the small-input path more
> similar to PG 18, as a risk-avoidance maneuver.

Seems fine to me.  I believe we do similar things elsewhere.

-- 
nathan



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Use C11 alignas instead of pg_attribute_aligned

  2. Add missing guard for __builtin_constant_p

  3. Exit early from pg_comp_crc32c_pmull for small inputs

  4. Fix unused function warning on Arm platforms

  5. Compute CRC32C on ARM using the Crypto Extension where available