@@ -109,31 +109,13 @@ class AVX2Vector {
109
109
inline uint16_t sum () const {
110
110
__m256i sum256 = _mm256_sad_epu8 (vector, _mm256_setzero_si256 ());
111
111
__m128i sum128 = _mm_add_epi64 (_mm256_extractf128_si256 (sum256, 1 ), _mm256_castsi256_si128 (sum256));
112
- uint16_t res32 = _mm_extract_epi32 (sum128, 0 ) + _mm_extract_epi32 (sum128, 1 );
113
- uint16_t res32_2 = _mm_extract_epi32 (sum128, 0 ) + _mm_extract_epi32 (sum128, 2 );
114
- uint16_t res64 = _mm_extract_epi64 (sum128, 0 ) + _mm_extract_epi64 (sum128, 1 );
115
- if (res32 != res64) {
116
- std::cout << " uint16_t res32 = " << res32 << " \n " ;
117
- std::cout << " uint16_t res32_2 = " << res32_2 << " \n " ;
118
- std::cout << " uint16_t res64 = " << res64 << " \n " ;
119
- exit (1 );
120
- } else if (res32_2 != res64) {
121
- std::cout << " uint16_t res32 = " << res32 << " \n " ;
122
- std::cout << " uint16_t res32_2 = " << res32_2 << " \n " ;
123
- std::cout << " uint16_t res64 = " << res64 << " \n " ;
124
- exit (1 );
125
- }
126
-
127
-
128
112
return _mm_extract_epi64 (sum128, 0 ) + _mm_extract_epi64 (sum128, 1 );
129
113
}
130
114
#else
131
115
inline uint16_t sum () const {
132
116
__m256i sum256 = _mm256_sad_epu8 (vector, _mm256_setzero_si256 ());
133
117
__m128i sum128 = _mm_add_epi64 (_mm256_extractf128_si256 (sum256, 1 ), _mm256_castsi256_si128 (sum256));
134
- std::cout << " NOT CPU_FEATURES_ARCH_X86_64 \n " ;
135
118
136
- exit (1 );
137
119
return _mm_extract_epi32 (sum128, 0 ) + _mm_extract_epi32 (sum128, 2 );
138
120
}
139
121
#endif
0 commit comments