[libc-commits] [libc] 637e92b - [libc] Fix asin_test smoke test for DAZ modes due to mis-optimization on newer clang. (#141996)
via libc-commits
libc-commits at lists.llvm.org
Thu May 29 10:59:18 PDT 2025
Author: lntue
Date: 2025-05-29T13:59:15-04:00
New Revision: 637e92bf47de03ddc7b9ec08694f268a51ea7550
URL: https://github.com/llvm/llvm-project/commit/637e92bf47de03ddc7b9ec08694f268a51ea7550
DIFF: https://github.com/llvm/llvm-project/commit/637e92bf47de03ddc7b9ec08694f268a51ea7550.diff
LOG: [libc] Fix asin_test smoke test for DAZ modes due to mis-optimization on newer clang. (#141996)
Added:
Modified:
libc/test/src/math/smoke/asin_test.cpp
Removed:
################################################################################
diff --git a/libc/test/src/math/smoke/asin_test.cpp b/libc/test/src/math/smoke/asin_test.cpp
index f341b928cd055..fdd1ba15d23b7 100644
--- a/libc/test/src/math/smoke/asin_test.cpp
+++ b/libc/test/src/math/smoke/asin_test.cpp
@@ -31,22 +31,26 @@ TEST_F(LlvmLibcAsinTest, SpecialNumbers) {
using namespace LIBC_NAMESPACE::testing;
+// With FTZ/DAZ flags are set, when the inputs are denormal, the output bit
+// pattern might not be exactly 0, but they should all be equal to 0 as floating
+// points.
+
TEST_F(LlvmLibcAsinTest, FTZMode) {
ModifyMXCSR mxcsr(FTZ);
- EXPECT_FP_EQ(zero, LIBC_NAMESPACE::asin(min_denormal));
+ EXPECT_TRUE(zero == LIBC_NAMESPACE::asin(min_denormal));
}
TEST_F(LlvmLibcAsinTest, DAZMode) {
ModifyMXCSR mxcsr(DAZ);
- EXPECT_FP_EQ(zero, LIBC_NAMESPACE::asin(min_denormal));
+ EXPECT_TRUE(zero == LIBC_NAMESPACE::asin(min_denormal));
}
TEST_F(LlvmLibcAsinTest, FTZDAZMode) {
ModifyMXCSR mxcsr(FTZ | DAZ);
- EXPECT_FP_EQ(zero, LIBC_NAMESPACE::asin(min_denormal));
+ EXPECT_TRUE(zero == LIBC_NAMESPACE::asin(min_denormal));
}
#endif
More information about the libc-commits
mailing list