[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