@@ -102,12 +102,12 @@ class AVX2Vector {
102
102
return AVX2Vector (_mm256_andnot_si256 (rhs.vector , vector));
103
103
}
104
104
105
- #ifdef CPU_FEATURES_ARCH_X86_64
105
+ #if (defined(_M_X64) || defined(__x86_64__)) && !defined(CPU_FEATURES_ARCH_VM)
106
106
inline uint16_t sum () const {
107
107
__m256i sum256 = _mm256_sad_epu8 (vector, _mm256_setzero_si256 ());
108
108
__m128i sum128 = _mm_add_epi64 (_mm256_extractf128_si256 (sum256, 1 ), _mm256_castsi256_si128 (sum256));
109
- /*
110
- uint16_t res32 = _mm_extract_epi32(sum128, 0) + _mm_extract_epi32(sum128, 1);
109
+
110
+ uint16_t res32 = _mm_extract_epi32 (sum128, 0 ) + _mm_extract_epi32 (sum128, 1 );
111
111
uint16_t res32_2 = _mm_extract_epi32 (sum128, 0 ) + _mm_extract_epi32 (sum128, 2 );
112
112
uint16_t res64 = _mm_extract_epi64 (sum128, 0 ) + _mm_extract_epi64 (sum128, 1 );
113
113
if (res32 != res64) {
@@ -121,7 +121,6 @@ class AVX2Vector {
121
121
std::cout << " uint16_t res64 = " << res64 << " \n " ;
122
122
exit (1 );
123
123
}
124
- */
125
124
126
125
127
126
return _mm_extract_epi64 (sum128, 0 ) + _mm_extract_epi64 (sum128, 1 );
@@ -137,6 +136,7 @@ class AVX2Vector {
137
136
#endif
138
137
139
138
139
+
140
140
#if (defined(_M_X64) || defined(__x86_64__))
141
141
std::cout << " defined(_M_X64) || defined(__x86_64__) \n " ;
142
142
#else
0 commit comments