Skip to content

Commit bd890b8

Browse files
cyb70289serge-sans-paille
authored andcommitted
Fix build error on mingw32
Mingw32 build failed with missing _mm_cvtsi128_si64 definition, which is only available on 64bit platform.
1 parent fa4abe7 commit bd890b8

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

include/xsimd/arch/xsimd_avx2.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,15 @@ namespace xsimd {
173173
__m256i tmp2 = _mm256_add_epi64(self, tmp1);
174174
__m128i tmp3 = _mm256_extracti128_si256(tmp2, 1);
175175
__m128i res = _mm_add_epi64(_mm256_castsi256_si128(tmp2), tmp3);
176+
#if defined(__x86_64__)
176177
return _mm_cvtsi128_si64(res);
178+
#else
179+
__m128i m;
180+
_mm_storel_epi64(&m, res);
181+
int64_t i;
182+
std::memcpy(&i, &m, sizeof(i));
183+
return i;
184+
#endif
177185
}
178186
default: return hadd(self, avx{});
179187
}

0 commit comments

Comments
 (0)