|
|
|
@ -316,7 +316,9 @@ namespace detail |
|
|
|
|
{ |
|
|
|
|
static bool call(vec<4, int32, Q> const& v1, vec<4, int32, Q> const& v2) |
|
|
|
|
{ |
|
|
|
|
return _mm_movemask_epi8(_mm_cmpeq_epi32(v1.data, v2.data)) != 0; |
|
|
|
|
//return _mm_movemask_epi8(_mm_cmpeq_epi32(v1.data, v2.data)) != 0; |
|
|
|
|
__m128i neq = _mm_xor_si128(v1.data, v2.data); |
|
|
|
|
return _mm_test_all_zeros(neq, neq) == 0; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
@ -334,7 +336,9 @@ namespace detail |
|
|
|
|
{ |
|
|
|
|
static bool call(vec<4, int32, Q> const& v1, vec<4, int32, Q> const& v2) |
|
|
|
|
{ |
|
|
|
|
return _mm_movemask_epi8(_mm_cmpneq_epi32(v1.data, v2.data)) != 0; |
|
|
|
|
//return _mm_movemask_epi8(_mm_cmpneq_epi32(v1.data, v2.data)) != 0; |
|
|
|
|
__m128i neq = _mm_xor_si128(v1.data, v2.data); |
|
|
|
|
return _mm_test_all_zeros(neq, neq) != 0; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
}//namespace detail |
|
|
|
|