summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac15
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)