]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Use memchr to optimize std::find [PR88545]
authorJonathan Wakely <jwakely@redhat.com>
Wed, 5 Jun 2024 15:01:26 +0000 (16:01 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 5 Jul 2024 11:18:34 +0000 (12:18 +0100)
commitde19b516edbf919d31e9d22fdbf6066342d904a2
tree7df0d9a35c4a44b386c0978661fe1be559d7216a
parent97fcfeac3dcc433b792711fd840b92fa3e860733
libstdc++: Use memchr to optimize std::find [PR88545]

This optimizes std::find to use memchr when searching for an integer in
a range of bytes.

libstdc++-v3/ChangeLog:

PR libstdc++/88545
PR libstdc++/115040
* include/bits/cpp_type_traits.h (__can_use_memchr_for_find):
New variable template.
* include/bits/ranges_util.h (__find_fn): Use memchr when
possible.
* include/bits/stl_algo.h (find): Likewise.
* testsuite/25_algorithms/find/bytes.cc: New test.
libstdc++-v3/include/bits/cpp_type_traits.h
libstdc++-v3/include/bits/ranges_util.h
libstdc++-v3/include/bits/stl_algo.h
libstdc++-v3/testsuite/25_algorithms/find/bytes.cc [new file with mode: 0644]