diff --git a/configure.ac b/configure.ac index 63ae932943710e818b313c4a8d668f6a49c49905..4bfcb6ecc0b2cee056023917b2faaf4c8a4091bc 100644 --- a/configure.ac +++ b/configure.ac @@ -691,10 +691,17 @@ AS_IF([test x"$enable_intrinsics" = x"yes"],[ #include <time.h> ]], [[ + unsigned char utest[16] = {1}; __m256 mtest; + __m256 mtest1; + __m256 mtest2; mtest = _mm256_set1_ps((float)time(NULL)); mtest = _mm256_fmadd_ps(mtest, mtest, mtest); - return _mm256_extract_epi16(_mm256_cvttps_epi32(mtest), 0); + mtest1 = _mm256_set_m128i(_mm_loadu_si64(utest)); + mtest2 = + _mm256_cvtepi16_epi32(_mm_loadu_si128((__m128i_u *)utest)); + return _mm256_extract_epi16(_mm256_xor_si256( + _mm256_xor_si256(mtest1, mtest2), _mm256_cvttps_epi32(mtest)), 0); ]] ) AS_IF([test x"$OPUS_X86_MAY_HAVE_AVX2" = x"1" && test x"$OPUS_X86_PRESUME_AVX2" != x"1"],