summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorRaghuveer Devulapalli <raghuveer.devulapalli@intel.com>2019-07-21 07:31:11 -0700
committerRaghuveer Devulapalli <raghuveer.devulapalli@intel.com>2019-07-22 11:49:05 -0700
commitf615807da60f47848d20a2ec05fafa9941eabb09 (patch)
treea57248d45366d47d6577ba4710fe5c1eb6b7e236 /numpy
parentea965e4cd328fbcf76b03ff749ef06d2aa38c28b (diff)
downloadnumpy-f615807da60f47848d20a2ec05fafa9941eabb09.tar.gz
BUG: fix build issue on icc 2016
Test if compiler supports _builtin_supports("avx512f") before calling it
Diffstat (limited to 'numpy')
-rw-r--r--numpy/core/setup_common.py2
-rw-r--r--numpy/core/src/umath/cpuid.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/numpy/core/setup_common.py b/numpy/core/setup_common.py
index bf6abcf02..307fab334 100644
--- a/numpy/core/setup_common.py
+++ b/numpy/core/setup_common.py
@@ -138,6 +138,8 @@ OPTIONAL_INTRINSICS = [("__builtin_isnan", '5.'),
# broken on OSX 10.11, make sure its not optimized away
("volatile int r = __builtin_cpu_supports", '"sse"',
"stdio.h", "__BUILTIN_CPU_SUPPORTS"),
+ ("volatile int r = __builtin_cpu_supports", '"avx512f"',
+ "stdio.h", "__BUILTIN_CPU_SUPPORTS_AVX512F"),
# MMX only needed for icc, but some clangs don't have it
("_m_from_int64", '0', "emmintrin.h"),
("_mm_load_ps", '(float*)0', "xmmintrin.h"), # SSE
diff --git a/numpy/core/src/umath/cpuid.c b/numpy/core/src/umath/cpuid.c
index 51c540457..8673f1736 100644
--- a/numpy/core/src/umath/cpuid.c
+++ b/numpy/core/src/umath/cpuid.c
@@ -57,10 +57,10 @@ npy_cpu_supports(const char * feature)
{
#ifdef HAVE___BUILTIN_CPU_SUPPORTS
if (strcmp(feature, "avx512f") == 0) {
-#if defined(__GNUC__) && (__GNUC__ < 5)
- return 0;
-#else
+#ifdef HAVE___BUILTIN_CPU_SUPPORTS_AVX512F
return __builtin_cpu_supports("avx512f") && os_avx512_support();
+#else
+ return 0;
#endif
}
else if (strcmp(feature, "avx2") == 0) {