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

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


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

None

>From 475d62cee686ace8141ff63d6aa14f49bf7ea3fb Mon Sep 17 00:00:00 2001
From: Sukumarsawant <sawantsukumar at gmail.com>
Date: Tue, 24 Feb 2026 17:30:36 +0530
Subject: [PATCH] testing if + works

---
 .../src/__support/FPUtil/bfloat16_test.cpp    | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)

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);
+    }
+  }
+}



More information about the libc-commits mailing list