]> granicus.if.org Git - libvpx/commitdiff
Don't use _mm_cvtsi128_si64 on 32 bit systems
authorSteinar Midtskogen <stemidts@cisco.com>
Wed, 5 Oct 2016 21:09:21 +0000 (23:09 +0200)
committerYaowu Xu <yaowu@google.com>
Thu, 13 Oct 2016 21:35:00 +0000 (14:35 -0700)
Change-Id: I332afb8d9e35cd60f05915160a5b2e1dc8757de5

aom_dsp/simd/v128_intrinsics_x86.h
aom_dsp/simd/v64_intrinsics_x86.h

index 9a10f2055fadfe2a00a5be4b12e5e95917fef1db..8319f0357a11d453b6d2ece12b35a0af6df7070d 100644 (file)
@@ -270,7 +270,7 @@ SIMD_INLINE v128 v128_shuffle_8(v128 x, v128 pattern) {
 
 SIMD_INLINE int64_t v128_dotp_s16(v128 a, v128 b) {
   v128 r = _mm_madd_epi16(a, b);
-#if defined(__SSE4_1__)
+#if defined(__SSE4_1__) && defined(__x86_64__)
   v128 c = _mm_add_epi64(_mm_cvtepi32_epi64(r),
                          _mm_cvtepi32_epi64(_mm_srli_si128(r, 8)));
   return _mm_cvtsi128_si64(_mm_add_epi64(c, _mm_srli_si128(c, 8)));
index 09eb160f53709737091dc60619980894f96f9d61..bef43c467b33e8957019e608af8115ba3b508608 100644 (file)
@@ -265,7 +265,7 @@ SIMD_INLINE int64_t v64_dotp_su8(v64 a, v64 b) {
 
 SIMD_INLINE int64_t v64_dotp_s16(v64 a, v64 b) {
   __m128i r = _mm_madd_epi16(a, b);
-#if defined(__SSE4_1__)
+#if defined(__SSE4_1__) && defined(__x86_64__)
   __m128i x = _mm_cvtepi32_epi64(r);
   return _mm_cvtsi128_si64(_mm_add_epi64(x, _mm_srli_si128(x, 8)));
 #else