Don't use _mm_cvtsi128_si64 on 32 bit systems
Change-Id: I332afb8d9e35cd60f05915160a5b2e1dc8757de5
This commit is contained in:

committed by
Yaowu Xu

parent
410fee8de6
commit
2d5f752ae9
@@ -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)));
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user