diff options
author | Raghuveer Devulapalli <raghuveer.devulapalli@intel.com> | 2019-07-21 07:31:11 -0700 |
---|---|---|
committer | Raghuveer Devulapalli <raghuveer.devulapalli@intel.com> | 2019-07-22 11:49:05 -0700 |
commit | f615807da60f47848d20a2ec05fafa9941eabb09 (patch) | |
tree | a57248d45366d47d6577ba4710fe5c1eb6b7e236 /numpy | |
parent | ea965e4cd328fbcf76b03ff749ef06d2aa38c28b (diff) | |
download | numpy-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.py | 2 | ||||
-rw-r--r-- | numpy/core/src/umath/cpuid.c | 6 |
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) { |