libstdc++: Remove redundant check for zero in std::__popcount
authorJonathan Wakely <jwakely@redhat.com>
Mon, 9 Nov 2020 14:31:13 +0000 (14:31 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Mon, 9 Nov 2020 14:54:29 +0000 (14:54 +0000)
The popcount built-ins work fine for zero, so there's no need to check
for it.

libstdc++-v3/ChangeLog:

* include/std/bit (__popcount): Remove redundant check for zero.

libstdc++-v3/include/std/bit

index f4344820d5275856f604687b19e407cc5425723d..16f7eba46d7ba6e2c087e964618e04feb2db51a8 100644 (file)
@@ -184,9 +184,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       using __gnu_cxx::__int_traits;
       constexpr auto _Nd = __int_traits<_Tp>::__digits;
 
-      if (__x == 0)
-        return 0;
-
       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;