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

Jonathan Wakely redi@gcc.gnu.org
Mon Mar 29 20:01:53 GMT 2021


https://gcc.gnu.org/g:d7216ea6c0cd6c4fef06e9501bd630c3161b14fd

commit r10-9576-gd7216ea6c0cd6c4fef06e9501bd630c3161b14fd
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.
    
    (cherry picked from commit 2ea62857a3fbdf091ba38cbb62e98dc76b198e2e)

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 16f7eba46d7..f22ee528555 100644
--- a/libstdc++-v3/include/std/bit
+++ b/libstdc++-v3/include/std/bit
@@ -129,8 +129,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);
     }
 
@@ -172,8 +170,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 Gcc-cvs mailing list