[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