[gcc r11-5922] libstdc++: Remove redundant branches in countl_one and countr_one [PR 98226]

Jonathan Wakely redi@gcc.gnu.org
Thu Dec 10 22:00:07 GMT 2020


https://gcc.gnu.org/g:2ea62857a3fbdf091ba38cbb62e98dc76b198e2e

commit r11-5922-g2ea62857a3fbdf091ba38cbb62e98dc76b198e2e
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Dec 10 21:57:42 2020 +0000

    libstdc++: Remove redundant branches in countl_one and countr_one [PR 98226]
    
    There's no need to explicitly check for the maximum value, because the
    function we call handles it correctly anyway.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/98226
            * include/std/bit (__countl_one, __countr_one): Remove redundant
            branches.

Diff:
---
 libstdc++-v3/include/std/bit | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/libstdc++-v3/include/std/bit b/libstdc++-v3/include/std/bit
index 1d99c807c4a..6f47f89ab03 100644
--- a/libstdc++-v3/include/std/bit
+++ b/libstdc++-v3/include/std/bit
@@ -141,8 +141,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     constexpr int
     __countl_one(_Tp __x) noexcept
     {
-      if (__x == __gnu_cxx::__int_traits<_Tp>::__max)
-	return __gnu_cxx::__int_traits<_Tp>::__digits;
       return std::__countl_zero<_Tp>((_Tp)~__x);
     }
 
@@ -184,8 +182,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     constexpr int
     __countr_one(_Tp __x) noexcept
     {
-      if (__x == __gnu_cxx::__int_traits<_Tp>::__max)
-	return __gnu_cxx::__int_traits<_Tp>::__digits;
       return std::__countr_zero((_Tp)~__x);
     }


More information about the Libstdc++-cvs mailing list