Centralize detection of x86 CPU features
John Naylor <john.naylor@postgresql.org>
Author:
John Naylor <john.naylor@postgresql.org>
Date: 2026-02-27T13:30:41Z
Releases:
19 (unreleased)
Centralize detection of x86 CPU features We now maintain an array of booleans that indicate which features were detected at runtime. When code wants to check for a given feature, the array is automatically checked if it has been initialized and if not, a single function checks all features at once. Move all x86 feature detection to pg_cpu_x86.c, and move the CRC function choosing logic to the file where the hardware-specific functions are defined, consistent with more recent hardware-specific files in src/port. Reviewed-by: Zsolt Parragi <zsolt.parragi@percona.com> Discussion: https://postgr.es/m/CANWCAZbgEUFw7LuYSVeJ=Tj98R5HoOB1Ffeqk3aLvbw5rU5NTw@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/include/port/pg_cpu.h | added | +50 −0 |
| src/port/pg_cpu_x86.c | modified | +25 −40 |
| src/port/pg_crc32c_sse42.c | modified | +32 −0 |
| src/port/pg_popcount_x86.c | modified | +4 −87 |
| src/tools/pgindent/typedefs.list | modified | +1 −0 |
Discussion
- centralize CPU feature detection 13 messages · 2026-02-15 → 2026-02-27