Proper detection of _mm_cvtss_si32 for MS compiler
authorPavel P <pavlov.pavel@gmail.com>
Tue, 27 Feb 2018 21:16:14 +0000 (13:16 -0800)
committerJean-Marc Valin <jmvalin@jmvalin.ca>
Tue, 16 Oct 2018 19:59:48 +0000 (15:59 -0400)
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
celt/float_cast.h

index 98b40ab..f218e86 100644 (file)
@@ -96,7 +96,7 @@ static OPUS_INLINE opus_int32 float2int(float x) {return _mm_cvt_ss2si(_mm_set_s
 #include <math.h>
 #define float2int(x) lrint(x)
 
-#elif (defined(_MSC_VER) && _MSC_VER >= 1400) && defined (_M_X64)
+#elif (defined(_MSC_VER) && _MSC_VER >= 1400) && (defined(_M_X64) || (defined(_M_IX86_FP) && _M_IX86_FP >= 1))
         #include <xmmintrin.h>
 
         __inline long int float2int(float value)