Check for __cpuidex and __get_cpuid_count separately Previously we would only check for the availability of __cpuidex if the related __get_cpuid_count was not available on a platform.
Future commits will need to access hypervisor information about the TSC frequency of x86 CPUs. For that case __cpuidex is the only viable option for accessing a high leaf (e.g. 0x40000000), since __get_cpuid_count does not allow that. __cpuidex is defined in cpuid.h for gcc/clang, but in intrin.h for MSVC, so adjust tests to suite. We also need to cast the array of unsigned ints to signed, since gcc (with -Wall) and clang emit warnings otherwise. Author: Lukas Fittl <[email protected]> Reviewed-by: Andres Freund <[email protected]> Reviewed-by: John Naylor <[email protected]> Discussion: https://postgr.es/m/CAP53PkyooCeR8YV0BUD_xC7oTZESHz8OdA=tp7pbrhfvq9x...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/effaa464afd355e8927bf430cfe6a0ddd2ee5695 Modified Files -------------- configure | 20 ++++++++++++-------- configure.ac | 30 +++++++++++++++++------------- meson.build | 13 ++++++++++--- src/port/pg_cpu_x86.c | 8 +++----- 4 files changed, 42 insertions(+), 29 deletions(-)
