[libc-commits] [libc] e96687a - [libc][math][c23] Fix getpayloadf128 smoke test on RV32 (#101720)
via libc-commits
libc-commits at lists.llvm.org
Fri Aug 2 15:06:25 PDT 2024
Author: OverMighty
Date: 2024-08-03T00:06:22+02:00
New Revision: e96687acd23fef6ac2402f6933eb1751e0428a76
URL: https://github.com/llvm/llvm-project/commit/e96687acd23fef6ac2402f6933eb1751e0428a76
DIFF: https://github.com/llvm/llvm-project/commit/e96687acd23fef6ac2402f6933eb1751e0428a76.diff
LOG: [libc][math][c23] Fix getpayloadf128 smoke test on RV32 (#101720)
Fixes
https://github.com/llvm/llvm-project/pull/101285#issuecomment-2265765022.
Added:
Modified:
libc/test/src/math/smoke/GetPayloadTest.h
Removed:
################################################################################
diff --git a/libc/test/src/math/smoke/GetPayloadTest.h b/libc/test/src/math/smoke/GetPayloadTest.h
index 6e30de7643119..922a2f04f6fb3 100644
--- a/libc/test/src/math/smoke/GetPayloadTest.h
+++ b/libc/test/src/math/smoke/GetPayloadTest.h
@@ -38,7 +38,14 @@ class GetPayloadTestTemplate : public LIBC_NAMESPACE::testing::FEnvSafeTest {
EXPECT_FP_EQ(T(0.0), funcWrapper(func, aNaN));
EXPECT_FP_EQ(T(0.0), funcWrapper(func, neg_aNaN));
- T default_snan_payload = StorageType(1) << (FPBits::SIG_LEN - 2);
+ // Essentially this:
+ // T default_snan_payload = StorageType(1) << (FPBits::SIG_LEN - 2);
+ // but supports StorageType being a BigInt.
+ FPBits default_snan_payload_bits = FPBits::one();
+ default_snan_payload_bits.set_biased_exponent(FPBits::SIG_LEN - 2 +
+ FPBits::EXP_BIAS);
+ T default_snan_payload = default_snan_payload_bits.get_val();
+
EXPECT_FP_EQ(default_snan_payload, funcWrapper(func, sNaN));
EXPECT_FP_EQ(default_snan_payload, funcWrapper(func, neg_sNaN));
More information about the libc-commits
mailing list