[libc-commits] [libc] [llvm] [libc][math] Refactor canonicalize family to header-only (PR #181467)

Muhammad Bassiouni via libc-commits libc-commits at lists.llvm.org
Sat Feb 14 19:11:42 PST 2026


================
@@ -192,6 +216,21 @@ TEST(LlvmLibcSharedMathTest, AllFloat128) {
 
   EXPECT_FP_EQ(bfloat16(5.0), LIBC_NAMESPACE::shared::bf16addf128(
                                   float128(2.0), float128(3.0)));
+
+  float128 canonicalizef128_cx = float128(0.0);
+  float128 canonicalizef128_x = float128(0.0);
+  EXPECT_EQ(0, LIBC_NAMESPACE::shared::canonicalizef128(&canonicalizef128_cx,
+                                                        &canonicalizef128_x));
+  EXPECT_FP_EQ(float128(0.0), canonicalizef128_cx);
 }
 
 #endif // LIBC_TYPES_HAS_FLOAT128
+
+TEST(LlvmLibcSharedMathTest, AllBFloat16) {
+
+  bfloat16 canonicalizebf16_cx = bfloat16(0.0);
+  bfloat16 canonicalizebf16_x = bfloat16(0.0);
+  EXPECT_EQ(0, LIBC_NAMESPACE::shared::canonicalizebf16(&canonicalizebf16_cx,
+                                                        &canonicalizebf16_x));
+  EXPECT_FP_EQ(bfloat16(0.0), canonicalizebf16_cx);
+}
----------------
bassiounix wrote:

Since you've created a dedicated section for `bf16` .. could you please move other `bfloat16` functions to this section?

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


More information about the libc-commits mailing list