aboutsummaryrefslogtreecommitdiff
path: root/libcxx/test/std/algorithms
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/std/algorithms')
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
index e7f3994..55c9eea 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
@@ -184,5 +184,33 @@ int main(int, char**) {
}
}
+ { // check the tail of the vectorized loop
+ for (size_t vec_size = 1; vec_size != 256; ++vec_size) {
+ {
+ std::vector<char> lhs(256);
+ std::vector<char> rhs(256);
+
+ check<char*>(lhs, rhs, lhs.size());
+ lhs.back() = 1;
+ check<char*>(lhs, rhs, lhs.size() - 1);
+ lhs.back() = 0;
+ rhs.back() = 1;
+ check<char*>(lhs, rhs, lhs.size() - 1);
+ rhs.back() = 0;
+ }
+ {
+ std::vector<int> lhs(256);
+ std::vector<int> rhs(256);
+
+ check<int*>(lhs, rhs, lhs.size());
+ lhs.back() = 1;
+ check<int*>(lhs, rhs, lhs.size() - 1);
+ lhs.back() = 0;
+ rhs.back() = 1;
+ check<int*>(lhs, rhs, lhs.size() - 1);
+ rhs.back() = 0;
+ }
+ }
+ }
return 0;
}