[gcc r14-9003] libstdc++: Remove redundant zeroing in std::bitset::operator>>= [PR113806]
Jonathan Wakely
redi@gcc.gnu.org
Thu Feb 15 11:44:33 GMT 2024
https://gcc.gnu.org/g:bf883e6428a545d091319c8b71fcfb35e7dd7084
commit r14-9003-gbf883e6428a545d091319c8b71fcfb35e7dd7084
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Feb 8 15:47:19 2024 +0000
libstdc++: Remove redundant zeroing in std::bitset::operator>>= [PR113806]
The unused bits in the high word are already zero before this operation.
Shifting the used bits to the right cannot affect the unused bits, so we
don't need to sanitize them.
libstdc++-v3/ChangeLog:
PR libstdc++/113806
* include/std/bitset (bitset::operator>>=): Remove redundant
call to _M_do_sanitize.
Diff:
---
libstdc++-v3/include/std/bitset | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset
index 16c4040f532f..ccd6d19f7a40 100644
--- a/libstdc++-v3/include/std/bitset
+++ b/libstdc++-v3/include/std/bitset
@@ -1094,10 +1094,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
operator>>=(size_t __position) _GLIBCXX_NOEXCEPT
{
if (__builtin_expect(__position < _Nb, 1))
- {
- this->_M_do_right_shift(__position);
- this->_M_do_sanitize();
- }
+ this->_M_do_right_shift(__position);
else
this->_M_do_reset();
return *this;
More information about the Libstdc++-cvs
mailing list