+
+ # SSE3
+ AC_CACHE_CHECK([if $CC groks SSE3 inline assembly],
+ [ac_cv_sse3_inline],
+ [CFLAGS="${CFLAGS_save} -O -msse3"
+ AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));],
+ ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)
+ ARCH="${ARCH} sse3"
+ ])
+ AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
+ AC_DEFINE(CAN_COMPILE_SSE3, 1,
+ [Define to 1 if SSE3 inline assembly is available.]) ])
+ # SSSE3
+ AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly],
+ [ac_cv_ssse3_inline],
+ [CFLAGS="${CFLAGS_save} -O -mssse3"
+ AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));],
+ ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)
+ ARCH="${ARCH} ssse3"
+ ])
+
+ AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
+ AC_DEFINE(CAN_COMPILE_SSSE3, 1,
+ [Define to 1 if SSSE3 inline assembly is available.]) ])
+
+ # SSE4
+ AC_CACHE_CHECK([if $CC groks SSE4 inline assembly],
+ [ac_cv_sse4_inline],
+ [CFLAGS="${CFLAGS_save} -O -msse4"
+ AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));],
+ ac_cv_sse4_inline=yes, ac_cv_sse4_inline=no)
+ ARCH="${ARCH} sse4"
+ ])
+ AS_IF([test "${ac_cv_sse4_inline}" != "no"], [
+ AC_DEFINE(CAN_COMPILE_SSE4, 1,
+ [Define to 1 if SSE4 inline assembly is available.]) ])