[libc][math] Fix broken aarch64 due to clz refactoring.
authorKirill Okhotnikov <okir@google.com>
Fri, 24 Jun 2022 21:59:26 +0000 (23:59 +0200)
committerKirill Okhotnikov <okir@google.com>
Fri, 24 Jun 2022 21:59:26 +0000 (23:59 +0200)
libc/src/__support/FPUtil/generic/sqrt.h

index ed6b624..8761e86 100644 (file)
@@ -51,8 +51,8 @@ inline void normalize<long double>(int &exponent, uint64_t &mantissa) {
 template <>
 inline void normalize<long double>(int &exponent, UInt128 &mantissa) {
   const uint64_t hi_bits = static_cast<uint64_t>(mantissa >> 64);
-  const int shift = hi_bits ? (clz(hi_bits) - 15)
-                            : (clz(static_cast<uint64_t>(mantissa)) + 49);
+  const int shift = hi_bits ? (unsafe_clz(hi_bits) - 15)
+                            : (unsafe_clz(static_cast<uint64_t>(mantissa)) + 49);
   exponent -= shift;
   mantissa <<= shift;
 }