]> granicus.if.org Git - php/commitdiff
Attempt to fix build with gcc-4.8
authorXinchen Hui <laruence@gmail.com>
Thu, 1 Mar 2018 10:34:39 +0000 (18:34 +0800)
committerXinchen Hui <laruence@gmail.com>
Thu, 1 Mar 2018 10:34:39 +0000 (18:34 +0800)
Zend/zend_portability.h

index 02286da37b72ab26175c07d238b2d35cad65346f..4bbe023bdf0c08ad6df827dda1b80a8c0f5bb6cc 100644 (file)
@@ -538,7 +538,12 @@ static zend_always_inline double _zend_get_nan(void) /* {{{ */
 # define PHP_HAVE_SSE4_2
 # endif
 
-# if PHP_HAVE_AVX2_INSTRUCTIONS && defined(HAVE_IMMINTRIN_H)
+/*
+ * AVX2 support was added in gcc 4.7, but AVX2 intrinsics don't work in
+ * __attribute__((target("avx2"))) functions until gcc 4.9.
+ */
+# if PHP_HAVE_AVX2_INSTRUCTIONS && defined(HAVE_IMMINTRIN_H) && \
+  (defined(__llvm__) || defined(__clang__) || (defined(__GNUC__) && ZEND_GCC_VERSION >= 4009))
 # define PHP_HAVE_AVX2
 # endif
 #endif