Improve implementation of parallel equal()
authorThomas Rodgers <trodgers@redhat.com>
Fri, 19 Apr 2019 22:44:11 +0000 (22:44 +0000)
committerThomas Rodgers <rodgertq@gcc.gnu.org>
Fri, 19 Apr 2019 22:44:11 +0000 (22:44 +0000)
commita34d6343a758f651064d81abb1534971fa4170e7
treeea92d5ec05b6f7ef385ba805218fe1e2d941f2a8
parent53db57ccaf3081bf8981f5d4d821a02429414145
Improve implementation of parallel equal()

* include/pstl/algorithm_impl.h
(__internal::__brick_equal): use "4 iterator" version of
std::equal().
(__internal::__brick_equal): use simd for random access
iterators on unsequenced execution policies.
(__internal::__pattern_equal): add "4 iterator" version
(__internal::__pattern_equal): dispatch to simd __brick_equal
for vector-only execution policies.
(__internal::__pattern_equal): dispatch to __parallel_or for
parallel execution policies.
* include/pstl/glue_algorithm_impl.h
(std::equal): dispatch to "4 iterator" version of
__internal::__pattern_equal().

From-SVN: r270463
libstdc++-v3/ChangeLog
libstdc++-v3/include/pstl/algorithm_impl.h
libstdc++-v3/include/pstl/glue_algorithm_impl.h