Skip to content

Commit bd5b218

Browse files
committed
Fix AVX2 function
1 parent ae78bbe commit bd5b218

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

source/Platform/x86/AVX2.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ class AVX2Vector {
102102
return AVX2Vector(_mm256_andnot_si256(rhs.vector, vector));
103103
}
104104

105-
#ifdef CPU_FEATURES_ARCH_X86_64
105+
#ifdef CPU_FEATURES_ARCH_X86_64
106106
inline uint16_t sum() const {
107107
__m256i sum256 = _mm256_sad_epu8(vector, _mm256_setzero_si256());
108108
__m128i sum128 = _mm_add_epi64(_mm256_extractf128_si256(sum256, 1), _mm256_castsi256_si128(sum256));
@@ -111,7 +111,7 @@ class AVX2Vector {
111111
#else
112112
inline uint16_t sum() const {
113113
__m256i sum256 = _mm256_sad_epu8(vector, _mm256_setzero_si256());
114-
__m128i sum128 = _mm_add_epi32(_mm256_extractf128_si256(sum256, 1), _mm256_castsi256_si128(sum256));
114+
__m128i sum128 = _mm_add_epi64(_mm256_extractf128_si256(sum256, 1), _mm256_castsi256_si128(sum256));
115115
return _mm_extract_epi32(sum128, 0) + _mm_extract_epi32(sum128, 1) + _mm_extract_epi32(sum128, 2) + _mm_extract_epi32(sum128, 3);
116116
}
117117
#endif

0 commit comments

Comments
 (0)