[libc-commits] [libc] testing if + works (PR #183035)

via libc-commits libc-commits at lists.llvm.org
Tue Feb 24 04:16:10 PST 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libc

Author: Zorojuro (Sukumarsawant)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/183035.diff


1 Files Affected:

- (modified) libc/test/src/__support/FPUtil/bfloat16_test.cpp (+21) 


``````````diff
diff --git a/libc/test/src/__support/FPUtil/bfloat16_test.cpp b/libc/test/src/__support/FPUtil/bfloat16_test.cpp
index a71d971a9ad3d..77958720dd260 100644
--- a/libc/test/src/__support/FPUtil/bfloat16_test.cpp
+++ b/libc/test/src/__support/FPUtil/bfloat16_test.cpp
@@ -67,3 +67,24 @@ TEST_F(LlvmLibcBfloat16ConversionTest, FromInteger) {
     EXPECT_FP_EQ_ALL_ROUNDING(mpfr_bfloat, libc_bfloat);
   }
 }
+
+TEST_F(LlvmLibcBfloat16ConversionTest, MultiplyAssign) {
+
+  static constexpr BFloat16 val[] = {
+      zero,           neg_zero,        inf,
+      neg_inf,        min_normal,      max_normal,
+      bfloat16(1.0f), bfloat16(-1.0f), bfloat16(2.0f),
+      bfloat16(3.0f)};
+  for (const bfloat16 &x : val) {
+    for (const bfloat16 &y : val) {
+      BFloat16 a = x, b = y;
+      MPFRNumber mpfr_a{a}, mpfr_b{b};
+      MPFRNumber mpfr_c = mpfr_a;
+      mpfr_c.add(mpfr_b);
+      BFloat16 mpfr_bfloat = mpfr_c.as<BFloat16>();
+      BFloat16 c = a + b;
+      BFloat16 libc_bfloat = c;
+      EXPECT_FP_EQ_ALL_ROUNDING(mpfr_bfloat, libc_bfloat);
+    }
+  }
+}

``````````

</details>


https://github.com/llvm/llvm-project/pull/183035


More information about the libc-commits mailing list