libstdc++: Remove redundant branches in countl_one and countr_one [PR 98226]
authorJonathan Wakely <jwakely@redhat.com>
Thu, 10 Dec 2020 21:57:42 +0000 (21:57 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 10 Dec 2020 21:57:42 +0000 (21:57 +0000)
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.

libstdc++-v3/include/std/bit

index 1d99c807c4a231efd8168956183063bd88273c9b..6f47f89ab0332f5975e2172e24cbec469f130d06 100644 (file)
@@ -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);
     }