From 345897f096b022f905e7b15661222e567116cc5b Mon Sep 17 00:00:00 2001 From: Matthew Barr Date: Thu, 29 Jun 2017 11:05:21 +1000 Subject: [PATCH] cpuid: exclude AVX512 flag when target not enabled If we have a fat runtime build without AVX512 enabled, we should not pick up the AVX512 flag from cpuid. --- cmake/config.h.in | 3 +++ src/util/cpuid_flags.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cmake/config.h.in b/cmake/config.h.in index 9c250b4c..203f0afd 100644 --- a/cmake/config.h.in +++ b/cmake/config.h.in @@ -21,6 +21,9 @@ /* Define if building "fat" runtime. */ #cmakedefine FAT_RUNTIME +/* Define if building AVX-512 in the fat runtime. */ +#cmakedefine BUILD_AVX512 + /* Define to 1 if `backtrace' works. */ #cmakedefine HAVE_BACKTRACE diff --git a/src/util/cpuid_flags.c b/src/util/cpuid_flags.c index c0ab09af..3c62c07b 100644 --- a/src/util/cpuid_flags.c +++ b/src/util/cpuid_flags.c @@ -192,7 +192,8 @@ u64a cpuid_flags(void) { cap &= ~HS_CPU_FEATURES_AVX2; #endif -#if !defined(FAT_RUNTIME) && !defined(HAVE_AVX512) +#if (!defined(FAT_RUNTIME) && !defined(HAVE_AVX512)) || \ + (defined(FAT_RUNTIME) && !defined(BUILD_AVX512)) cap &= ~HS_CPU_FEATURES_AVX512; #endif