summaryrefslogtreecommitdiff
path: root/numpy/distutils/checks/cpu_avx512_cnl.c
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/distutils/checks/cpu_avx512_cnl.c')
-rw-r--r--numpy/distutils/checks/cpu_avx512_cnl.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/numpy/distutils/checks/cpu_avx512_cnl.c b/numpy/distutils/checks/cpu_avx512_cnl.c
index f2ff3725e..5799f122b 100644
--- a/numpy/distutils/checks/cpu_avx512_cnl.c
+++ b/numpy/distutils/checks/cpu_avx512_cnl.c
@@ -1,3 +1,16 @@
+#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER)
+ /*
+ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics,
+ * whether or not the build options for those features are specified.
+ * Therefore, we must test #definitions of CPU features when option native/host
+ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise
+ * the test will be broken and leads to enable all possible features.
+ */
+ #if !defined(__AVX512VBMI__) || !defined(__AVX512IFMA__)
+ #error "HOST/ARCH doesn't support CannonLake AVX512 features"
+ #endif
+#endif
+
#include <immintrin.h>
int main(int argc, char **argv)