Thread
-
[PATCH v12 1/3] cpuidex check: Support detecting newer GCC versions defining it in cpuid.h
Lukas Fittl <lukas@fittl.com> — 2025-07-27T17:45:49Z
Author: Lukas Fittl <lukas@fittl.com> Discussion: https://postgr.es/m/CAP53Pky-BN0Ui+A9no3TsU=GoMTFpxYSWYtp_LVaDH=y69BxNg@mail.gmail.com --- meson.build | 4 ++++ src/port/pg_crc32c_sse42_choose.c | 4 ++-- src/port/pg_popcount_avx512.c | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index 395416a6060..007ec30800f 100644 --- a/meson.build +++ b/meson.build @@ -2015,7 +2015,11 @@ if cc.links(''' args: test_c_args) cdata.set('HAVE__GET_CPUID_COUNT', 1) elif cc.links(''' + #if defined(_MSC_VER) #include <intrin.h> + #else + #include <cpuid.h> + #endif int main(int arg, char **argv) { unsigned int exx[4] = {0, 0, 0, 0}; diff --git a/src/port/pg_crc32c_sse42_choose.c b/src/port/pg_crc32c_sse42_choose.c index 74d2421ba2b..750f390bfdf 100644 --- a/src/port/pg_crc32c_sse42_choose.c +++ b/src/port/pg_crc32c_sse42_choose.c @@ -20,11 +20,11 @@ #include "c.h" -#if defined(HAVE__GET_CPUID) || defined(HAVE__GET_CPUID_COUNT) +#if defined(HAVE__GET_CPUID) || defined(HAVE__GET_CPUID_COUNT) || (defined(HAVE__CPUIDEX) && !defined(_MSC_VER)) #include <cpuid.h> #endif -#if defined(HAVE__CPUID) || defined(HAVE__CPUIDEX) +#if defined(HAVE__CPUID) || (defined(HAVE__CPUIDEX) && defined(_MSC_VER)) #include <intrin.h> #endif diff --git a/src/port/pg_popcount_avx512.c b/src/port/pg_popcount_avx512.c index 80c0aee3e73..80d9a372dd7 100644 --- a/src/port/pg_popcount_avx512.c +++ b/src/port/pg_popcount_avx512.c @@ -14,13 +14,13 @@ #ifdef USE_AVX512_POPCNT_WITH_RUNTIME_CHECK -#if defined(HAVE__GET_CPUID) || defined(HAVE__GET_CPUID_COUNT) +#if defined(HAVE__GET_CPUID) || defined(HAVE__GET_CPUID_COUNT) || (defined(HAVE__CPUIDEX) && !defined(_MSC_VER)) #include <cpuid.h> #endif #include <immintrin.h> -#if defined(HAVE__CPUID) || defined(HAVE__CPUIDEX) +#if defined(HAVE__CPUID) || (defined(HAVE__CPUIDEX) && defined(_MSC_VER)) #include <intrin.h> #endif -- 2.47.3 --vtqqtrpooseurzip Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v12-0002-Use-time-stamp-counter-to-measure-time-on-Linux-.patch"