| 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 15:53:24 |
| Message-ID: | ac6Q9JduymhuxcNt@nathan |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Thu, Apr 02, 2026 at 08:16:27PM +0700, John Naylor wrote:
> For some reason, my CI builds with MacOS are failing on v3 (v2 skipped
> the runtime check to get some exposure on CI) with the following, and
> running CI from my Github account fails as well, so it's not a
> temporary glitch. Adding a __linux__ guard to the runtime check didn't
> help, so not yet sure what to make of it.
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.
--
nathan
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Vik Fearing | 2026-04-02 16:03:28 | Re: CAST(... ON DEFAULT) - WIP build on top of Error-Safe User Functions |
| Previous Message | Andres Freund | 2026-04-02 15:47:39 | Re: AIO / read stream heuristics adjustments for index prefetching |