@@ -63,15 +63,13 @@ __reverse_vector(__simd_vector<long long, _Np> __cmp_res) {
63
63
}(make_index_sequence<_Np>{});
64
64
}
65
65
template <class _ValueType , size_t _Np>
66
- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI __simd_vector<long , _Np>
67
- __reverse_vector (__simd_vector<long , _Np> __cmp_res) {
66
+ _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI __simd_vector<long , _Np> __reverse_vector (__simd_vector<long , _Np> __cmp_res) {
68
67
return [&]<size_t ... _Indices>(index_sequence<_Indices...>) {
69
68
return __builtin_shufflevector (__cmp_res, __cmp_res, (_Np - _Indices - 1 )...);
70
69
}(make_index_sequence<_Np>{});
71
70
}
72
71
template <class _ValueType , size_t _Np>
73
- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI __simd_vector<int , _Np>
74
- __reverse_vector (__simd_vector<int , _Np> __cmp_res) {
72
+ _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI __simd_vector<int , _Np> __reverse_vector (__simd_vector<int , _Np> __cmp_res) {
75
73
return [&]<size_t ... _Indices>(index_sequence<_Indices...>) {
76
74
return __builtin_shufflevector (__cmp_res, __cmp_res, (_Np - _Indices - 1 )...);
77
75
}(make_index_sequence<_Np>{});
@@ -106,7 +104,7 @@ __mismatch_vectorized(_Iter __first1, _Iter __last1, _Iter __first2) {
106
104
for (size_t __i = 0 ; __i != __unroll_count; ++__i) {
107
105
auto __cmp_res = __lhs[__i] == __rhs[__i];
108
106
# if defined(_LIBCPP_BIG_ENDIAN)
109
- __cmp_res = std::__reverse_vector<__value_type>(__cmp_res);
107
+ __cmp_res = std::__reverse_vector<__value_type>(__cmp_res);
110
108
# endif
111
109
if (!std::__all_of (__cmp_res)) {
112
110
auto __offset = __i * __vec_size + std::__find_first_not_set (__cmp_res);
@@ -122,7 +120,7 @@ __mismatch_vectorized(_Iter __first1, _Iter __last1, _Iter __first2) {
122
120
while (static_cast <size_t >(__last1 - __first1) >= __vec_size) {
123
121
auto __cmp_res = std::__load_vector<__vec>(__first1) == std::__load_vector<__vec>(__first2);
124
122
# if defined(_LIBCPP_BIG_ENDIAN)
125
- __cmp_res = std::__reverse_vector<__value_type>(__cmp_res);
123
+ __cmp_res = std::__reverse_vector<__value_type>(__cmp_res);
126
124
# endif
127
125
if (!std::__all_of (__cmp_res)) {
128
126
auto __offset = std::__find_first_not_set (__cmp_res);
@@ -142,9 +140,9 @@ __mismatch_vectorized(_Iter __first1, _Iter __last1, _Iter __first2) {
142
140
__first2 = __last2 - __vec_size;
143
141
auto __cmp_res = std::__load_vector<__vec>(__first1) == std::__load_vector<__vec>(__first2);
144
142
# if defined(_LIBCPP_BIG_ENDIAN)
145
- __cmp_res = std::__reverse_vector<__value_type>(__cmp_res);
143
+ __cmp_res = std::__reverse_vector<__value_type>(__cmp_res);
146
144
# endif
147
- auto __offset = std::__find_first_not_set (__cmp_res);
145
+ auto __offset = std::__find_first_not_set (__cmp_res);
148
146
return {__first1 + __offset, __first2 + __offset};
149
147
} // else loop over the elements individually
150
148
}
0 commit comments