diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac index 8370844..2178126 100644 --- a/configure.ac +++ b/configure.ac @@ -347,14 +347,21 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ #error "Need GCC >= 3.4 for MMX intrinsics" #endif #include <mmintrin.h> -#include <xmmintrin.h> int main () { __m64 v = _mm_cvtsi32_si64 (1); __m64 w; - /* Test some intrinsics from xmmintrin.h */ - w = _mm_shuffle_pi16(v, 5); - w = _mm_mulhi_pu16(w, w); + /* Some versions of clang will choke on K */ + asm ("pshufw %2, %1, %0\n\t" + : "=y" (w) + : "y" (v), "K" (5) + ); + + /* Some versions of clang will choke on this */ + asm ("pmulhuw %1, %0\n\t" + : "+y" (w) + : "y" (v) + ); return _mm_cvtsi64_si32 (v); }]])], have_mmx_intrinsics=yes) |