Re: vectorized CRC on ARM64

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: John Naylor <johncnaylorls(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: vectorized CRC on ARM64
Date: 2026-04-02 16:17:00
Message-ID: ac6WfKIKshE3AmWr@nathan
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Apr 02, 2026 at 10:53:24AM -0500, Nathan Bossart wrote:
> I think the new pg_comp_crc32_choose() is infinitely recursing on macOS
> because USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK is not defined but
> pg_crc32c_armv8_available() returns false. If I trace through that
> function, I see that it's going straight to the
>
> #else
> return false;
> #endif
>
> at the end. And sure enough, both HAVE_ELF_AUX_INFO and HAVE_GETAUXVAL
> aren't defined in pg_config.h. I think we might need to use sysctlbyname()
> to determine PMULL support on macOS, but at this stage of the development
> cycle, I would probably lean towards just compiling in the sb8
> implementation.

Hm. On second thought, that probably regresses macOS builds because it was
presumably using the armv8 path without runtime checks before...

--
nathan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2026-04-02 16:27:12 Re: some more include removal from headers
Previous Message Robert Haas 2026-04-02 16:15:09 Re: pg_plan_advice