Skip to content

Commit 1273591

Browse files
authored
Revert "[libc] Refactor BigInt" (llvm#87612)
Reverts llvm#86137 Some aarch64 compilers seem to consider that `uint128_t` is not `is_trivially_constructible` which prevents `bit_cast`-ing.
1 parent 47e996d commit 1273591

File tree

13 files changed

+762
-1011
lines changed

13 files changed

+762
-1011
lines changed

libc/fuzzing/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer")
22
add_custom_target(libc-fuzzer)
33

4-
add_subdirectory(__support)
54
# TODO(#85680): Re-enable math fuzzing after headers are sorted out
65
# add_subdirectory(math)
76
add_subdirectory(stdlib)

libc/fuzzing/__support/CMakeLists.txt

Lines changed: 0 additions & 7 deletions
This file was deleted.

libc/fuzzing/__support/uint_fuzz.cpp

Lines changed: 0 additions & 70 deletions
This file was deleted.

libc/src/__support/FPUtil/dyadic_float.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ template <size_t Bits> struct DyadicFloat {
5858
// significant bit.
5959
LIBC_INLINE constexpr DyadicFloat &normalize() {
6060
if (!mantissa.is_zero()) {
61-
int shift_length = cpp::countl_zero(mantissa);
61+
int shift_length = static_cast<int>(mantissa.clz());
6262
exponent -= shift_length;
63-
mantissa <<= static_cast<size_t>(shift_length);
63+
mantissa.shift_left(static_cast<size_t>(shift_length));
6464
}
6565
return *this;
6666
}
@@ -233,7 +233,7 @@ LIBC_INLINE constexpr DyadicFloat<Bits> quick_add(DyadicFloat<Bits> a,
233233
result.sign = a.sign;
234234
result.exponent = a.exponent;
235235
result.mantissa = a.mantissa;
236-
if (result.mantissa.add_overflow(b.mantissa)) {
236+
if (result.mantissa.add(b.mantissa)) {
237237
// Mantissa addition overflow.
238238
result.shift_right(1);
239239
result.mantissa.val[DyadicFloat<Bits>::MantissaType::WORD_COUNT - 1] |=

0 commit comments

Comments
 (0)