Re: vectorized CRC on ARM64

John Naylor <johncnaylorls@gmail.com>

From: John Naylor <johncnaylorls@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-08T07:22:27Z
Lists: pgsql-hackers
On Tue, Apr 7, 2026 at 8:55 PM Nathan Bossart <nathandbossart@gmail.com> wrote:
>
> 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.

Pushed, thanks for looking!

-- 
John Naylor
Amazon Web Services



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