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 <[email protected]> Discussion: https://postgr.es/m/CANWCAZbgEUFw7LuYSVeJ=tj98r5hoob1ffeqk3alvbw5ru5...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/16743db061e431d40522547c6436af6616026caa Modified Files -------------- src/include/port/pg_cpu.h | 50 ++++++++++++++++++++++ src/port/pg_cpu_x86.c | 65 +++++++++++----------------- src/port/pg_crc32c_sse42.c | 32 ++++++++++++++ src/port/pg_popcount_x86.c | 91 ++-------------------------------------- src/tools/pgindent/typedefs.list | 1 + 5 files changed, 112 insertions(+), 127 deletions(-)
