postgresql/src/include
John Naylor 16743db061 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
2026-02-27 20:30:41 +07:00
..
access Don't include proc.h in shm_mq.h 2026-02-27 10:53:47 +01:00
archive Update copyright for 2026 2026-01-01 13:24:10 -05:00
backup Update copyright for 2026 2026-01-01 13:24:10 -05:00
bootstrap Simplify creation of built-in functions with default arguments. 2026-02-18 14:14:44 -05:00
catalog Cope with AIX's alignment woes by using _Pragma("pack"). 2026-02-23 12:34:54 -05:00
commands Harden _int_matchsel() against being attached to the wrong operator. 2026-02-09 10:14:22 -05:00
common Use fallthrough attribute instead of comment 2026-02-19 08:51:12 +01:00
datatype Update copyright for 2026 2026-01-01 13:24:10 -05:00
executor Use a bitmask for ExecInsertIndexTuples options 2026-02-17 17:59:45 +01:00
fe_utils Update copyright for 2026 2026-01-01 13:24:10 -05:00
foreign Update copyright for 2026 2026-01-01 13:24:10 -05:00
jit Fix typos and inconsistencies in code and comments 2026-01-05 09:19:15 +09:00
lib Make use of pg_popcount() in more places. 2026-02-23 09:26:00 -06:00
libpq Don't include proc.h in shm_mq.h 2026-02-27 10:53:47 +01:00
mb Replace pg_mblen() with bounds-checked versions. 2026-02-09 12:44:04 +13:00
nodes Fix variety of typos and grammar mistakes 2026-02-24 13:26:37 +09:00
optimizer Store information about Append node consolidation in the final plan. 2026-02-10 17:55:59 -05:00
parser Use LOCKMODE in parse_relation.c/.h 2026-02-23 21:25:55 +01:00
partitioning Update copyright for 2026 2026-01-01 13:24:10 -05:00
pch Update copyright for 2026 2026-01-01 13:24:10 -05:00
port Centralize detection of x86 CPU features 2026-02-27 20:30:41 +07:00
portability instrumentation: Drop INSTR_TIME_SET_CURRENT_LAZY macro 2026-02-26 10:39:29 -05:00
postmaster Cleanup for log_min_messages changes in 38e0190ced 2026-02-11 16:38:18 +01:00
regex Update copyright for 2026 2026-01-01 13:24:10 -05:00
replication Avoid including utils/timestamp.h in conflict.h. 2026-02-23 10:19:05 +05:30
rewrite Update copyright for 2026 2026-01-01 13:24:10 -05:00
snowball Update to latest Snowball sources. 2026-01-05 15:22:37 -05:00
statistics Add support for "mcv" in pg_restore_extended_stats() 2026-01-29 12:14:08 +09:00
storage Don't include proc.h in shm_mq.h 2026-02-27 10:53:47 +01:00
tcop Separate RecoveryConflictReasons from procsignals 2026-02-10 16:23:08 +02:00
tsearch Replace pg_mblen() with bounds-checked versions. 2026-02-09 12:44:04 +13:00
utils Switch SysCacheIdentifier to a typedef enum 2026-02-18 09:58:38 +09:00
.gitignore Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
c.h Cope with AIX's alignment woes by using _Pragma("pack"). 2026-02-23 12:34:54 -05:00
fmgr.h Improve type handling of varlena structures 2026-02-11 07:33:24 +09:00
funcapi.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
getopt_long.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
Makefile Fix build inconsistency due to the generation of wait-event code 2026-02-02 08:02:39 +09:00
meson.build Ensure that all three build methods install the same set of files. 2026-02-16 15:20:15 -05:00
miscadmin.h Add password expiration warnings. 2026-02-11 10:36:15 -06:00
pg_config.h.in Cope with AIX's alignment woes by using _Pragma("pack"). 2026-02-23 12:34:54 -05:00
pg_config_manual.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_getopt.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_trace.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pgstat.h Reduce includes in pgstat.h 2026-02-26 13:50:24 +01:00
pgtar.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pgtime.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
port.h strnlen() is now required 2026-01-08 08:51:20 +01:00
postgres.h Rename AssertVariableIsOfType to StaticAssertVariableIsOfType 2026-02-03 08:45:24 +01:00
postgres_ext.h Move pg_int64 back to postgres_ext.h 2025-09-16 10:48:56 +02:00
postgres_fe.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
varatt.h Improve type handling of varlena structures 2026-02-11 07:33:24 +09:00
windowapi.h Update copyright for 2026 2026-01-01 13:24:10 -05:00