From: Nathan Bossart Date: Fri, 8 Nov 2024 20:25:28 +0000 (-0600) Subject: Move check for USE_AVX512_POPCNT_WITH_RUNTIME_CHECK. X-Git-Tag: REL_18_BETA1~1516 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=4225276e25403e70de623ca9afd2c061cba24ccc;p=postgresql.git Move check for USE_AVX512_POPCNT_WITH_RUNTIME_CHECK. Unlike TRY_POPCNT_FAST, which is defined in pg_bitutils.h, this macro is defined in c.h (via pg_config.h), so we can check for it earlier and avoid some unnecessary #includes on systems that lack AVX-512 support. Oversight in commit f78667bd91. Discussion: https://postgr.es/m/Zy5K5Qmlb3Z4dsd4%40nathan --- diff --git a/src/port/pg_popcount_avx512.c b/src/port/pg_popcount_avx512.c index 1ab2847bf2d..c8a4f2b19fa 100644 --- a/src/port/pg_popcount_avx512.c +++ b/src/port/pg_popcount_avx512.c @@ -12,13 +12,13 @@ */ #include "c.h" +#ifdef USE_AVX512_POPCNT_WITH_RUNTIME_CHECK + #if defined(HAVE__GET_CPUID) || defined(HAVE__GET_CPUID_COUNT) #include #endif -#ifdef USE_AVX512_POPCNT_WITH_RUNTIME_CHECK #include -#endif #if defined(HAVE__CPUID) || defined(HAVE__CPUIDEX) #include @@ -31,7 +31,7 @@ * use AVX-512 intrinsics, but we check it anyway to be sure. We piggy-back on * the function pointers that are only used when TRY_POPCNT_FAST is set. */ -#if defined(TRY_POPCNT_FAST) && defined(USE_AVX512_POPCNT_WITH_RUNTIME_CHECK) +#ifdef TRY_POPCNT_FAST /* * Does CPUID say there's support for XSAVE instructions? @@ -219,5 +219,5 @@ pg_popcount_masked_avx512(const char *buf, int bytes, bits8 mask) return _mm512_reduce_add_epi64(accum); } -#endif /* TRY_POPCNT_FAST && - * USE_AVX512_POPCNT_WITH_RUNTIME_CHECK */ +#endif /* TRY_POPCNT_FAST */ +#endif /* USE_AVX512_POPCNT_WITH_RUNTIME_CHECK */