[libc-commits] [libc] [llvm] [libc] Make totalorder functions use the emulated float128 type (PR #221085)

Muhammad Haris Awan via libc-commits libc-commits at lists.llvm.org
Fri Sep 4 08:16:15 PDT 2026


https://github.com/harisawan-bit updated https://github.com/llvm/llvm-project/pull/221085

>From 81f17bb01edc2d074bcbe86f4de983f8f7095b91 Mon Sep 17 00:00:00 2001
From: Muhammad Haris Awan <an25mbbs026.student at fui.edu.pk>
Date: Fri, 4 Sep 2026 15:16:01 +0000
Subject: [PATCH] [libc] Make totalorder functions use the emulated float128
 type

Part of #216576.

Modify `totalorderf128` and `totalordermagf128` to work with emulated
Float128 by removing native float128 guards, updating the implementation
headers, generic wrappers, CMake dependencies, Bazel overlays, and
smoke/shared tests.
---
 libc/config/gpu/amdgpu/entrypoints.txt         |  2 ++
 libc/config/gpu/nvptx/entrypoints.txt          |  2 ++
 libc/config/linux/arm/entrypoints.txt          |  2 ++
 libc/shared/math/totalorderf128.h              |  6 ------
 libc/shared/math/totalordermagf128.h           |  6 ------
 libc/src/__support/math/CMakeLists.txt         |  4 ++--
 libc/src/__support/math/totalorderf128.h       | 12 +++++-------
 libc/src/__support/math/totalordermagf128.h    | 13 +++++--------
 libc/src/math/generic/CMakeLists.txt           |  2 ++
 libc/src/math/generic/totalorderf128.cpp       |  9 +++++++++
 libc/src/math/generic/totalordermagf128.cpp    |  9 +++++++++
 libc/src/math/totalorderf128.h                 |  5 +++++
 libc/src/math/totalordermagf128.h              |  5 +++++
 .../test/shared/shared_math_constexpr_test.cpp | 18 +++++++++---------
 libc/test/shared/shared_math_test.cpp          | 16 ++++++++--------
 libc/test/src/math/smoke/CMakeLists.txt        |  4 ++++
 .../src/math/smoke/totalorderf128_test.cpp     |  5 +++++
 .../src/math/smoke/totalordermagf128_test.cpp  |  5 +++++
 .../llvm-project-overlay/libc/BUILD.bazel      |  6 ++++--
 19 files changed, 83 insertions(+), 48 deletions(-)

diff --git a/libc/config/gpu/amdgpu/entrypoints.txt b/libc/config/gpu/amdgpu/entrypoints.txt
index 5c5e5891da822..182adb81a7a6c 100644
--- a/libc/config/gpu/amdgpu/entrypoints.txt
+++ b/libc/config/gpu/amdgpu/entrypoints.txt
@@ -548,9 +548,11 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.tgammaf
     libc.src.math.totalorder
     libc.src.math.totalorderf
+    libc.src.math.totalorderf128
     libc.src.math.totalorderl
     libc.src.math.totalordermag
     libc.src.math.totalordermagf
+    libc.src.math.totalordermagf128
     libc.src.math.totalordermagl
     libc.src.math.trunc
     libc.src.math.truncf
diff --git a/libc/config/gpu/nvptx/entrypoints.txt b/libc/config/gpu/nvptx/entrypoints.txt
index afae725484a89..76c98deb60e14 100644
--- a/libc/config/gpu/nvptx/entrypoints.txt
+++ b/libc/config/gpu/nvptx/entrypoints.txt
@@ -545,9 +545,11 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.tgammaf
     libc.src.math.totalorder
     libc.src.math.totalorderf
+    libc.src.math.totalorderf128
     libc.src.math.totalorderl
     libc.src.math.totalordermag
     libc.src.math.totalordermagf
+    libc.src.math.totalordermagf128
     libc.src.math.totalordermagl
     libc.src.math.trunc
     libc.src.math.truncf
diff --git a/libc/config/linux/arm/entrypoints.txt b/libc/config/linux/arm/entrypoints.txt
index 7d2daae7a89c7..5d39bcee99783 100644
--- a/libc/config/linux/arm/entrypoints.txt
+++ b/libc/config/linux/arm/entrypoints.txt
@@ -593,9 +593,11 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.tanpif
     libc.src.math.totalorder
     libc.src.math.totalorderf
+    libc.src.math.totalorderf128
     libc.src.math.totalorderl
     libc.src.math.totalordermag
     libc.src.math.totalordermagf
+    libc.src.math.totalordermagf128
     libc.src.math.totalordermagl
     libc.src.math.trunc
     libc.src.math.truncf
diff --git a/libc/shared/math/totalorderf128.h b/libc/shared/math/totalorderf128.h
index 8427aa0df9889..6325c93a7216b 100644
--- a/libc/shared/math/totalorderf128.h
+++ b/libc/shared/math/totalorderf128.h
@@ -9,10 +9,6 @@
 #ifndef LLVM_LIBC_SHARED_MATH_TOTALORDERF128_H
 #define LLVM_LIBC_SHARED_MATH_TOTALORDERF128_H
 
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #include "shared/libc_common.h"
 #include "src/__support/math/totalorderf128.h"
 
@@ -24,6 +20,4 @@ using math::totalorderf128;
 } // namespace shared
 } // namespace LIBC_NAMESPACE_DECL
 
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #endif // LLVM_LIBC_SHARED_MATH_TOTALORDERF128_H
diff --git a/libc/shared/math/totalordermagf128.h b/libc/shared/math/totalordermagf128.h
index 663a3c4dc9fb2..235d060111223 100644
--- a/libc/shared/math/totalordermagf128.h
+++ b/libc/shared/math/totalordermagf128.h
@@ -9,10 +9,6 @@
 #ifndef LLVM_LIBC_SHARED_MATH_TOTALORDERMAGF128_H
 #define LLVM_LIBC_SHARED_MATH_TOTALORDERMAGF128_H
 
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #include "shared/libc_common.h"
 #include "src/__support/math/totalordermagf128.h"
 
@@ -24,6 +20,4 @@ using math::totalordermagf128;
 } // namespace shared
 } // namespace LIBC_NAMESPACE_DECL
 
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #endif // LLVM_LIBC_SHARED_MATH_TOTALORDERMAGF128_H
diff --git a/libc/src/__support/math/CMakeLists.txt b/libc/src/__support/math/CMakeLists.txt
index cf9bc11fce824..2ba4e34b43efd 100644
--- a/libc/src/__support/math/CMakeLists.txt
+++ b/libc/src/__support/math/CMakeLists.txt
@@ -5639,8 +5639,8 @@ add_header_library(
   HDRS
     totalorderf128.h
   DEPENDS
-    libc.include.llvm-libc-types.float128
     libc.src.__support.FPUtil.basic_operations
+    libc.src.__support.FPUtil.float128
     libc.src.__support.macros.config
 )
 
@@ -5696,8 +5696,8 @@ add_header_library(
   HDRS
     totalordermagf128.h
   DEPENDS
-    libc.include.llvm-libc-types.float128
     libc.src.__support.FPUtil.basic_operations
+    libc.src.__support.FPUtil.float128
     libc.src.__support.macros.config
 )
 
diff --git a/libc/src/__support/math/totalorderf128.h b/libc/src/__support/math/totalorderf128.h
index 3af00e711fab9..3efd9049aa199 100644
--- a/libc/src/__support/math/totalorderf128.h
+++ b/libc/src/__support/math/totalorderf128.h
@@ -9,23 +9,21 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_MATH_TOTALORDERF128_H
 #define LLVM_LIBC_SRC___SUPPORT_MATH_TOTALORDERF128_H
 
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #include "src/__support/FPUtil/BasicOperations.h"
+#include "src/__support/FPUtil/float128.h"
 #include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace math {
 
-LIBC_INLINE constexpr int totalorderf128(const float128 *x, const float128 *y) {
+using LIBC_NAMESPACE::fputil::Float128;
+
+LIBC_INLINE constexpr int totalorderf128(const Float128 *x,
+                                            const Float128 *y) {
   return static_cast<int>(fputil::totalorder(*x, *y));
 }
 
 } // namespace math
 } // namespace LIBC_NAMESPACE_DECL
 
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #endif // LLVM_LIBC_SRC___SUPPORT_MATH_TOTALORDERF128_H
diff --git a/libc/src/__support/math/totalordermagf128.h b/libc/src/__support/math/totalordermagf128.h
index ea79011f8b047..42b5b46f00a0e 100644
--- a/libc/src/__support/math/totalordermagf128.h
+++ b/libc/src/__support/math/totalordermagf128.h
@@ -9,24 +9,21 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_MATH_TOTALORDERMAGF128_H
 #define LLVM_LIBC_SRC___SUPPORT_MATH_TOTALORDERMAGF128_H
 
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #include "src/__support/FPUtil/BasicOperations.h"
+#include "src/__support/FPUtil/float128.h"
 #include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace math {
 
-LIBC_INLINE constexpr int totalordermagf128(const float128 *x,
-                                            const float128 *y) {
+using LIBC_NAMESPACE::fputil::Float128;
+
+LIBC_INLINE constexpr int totalordermagf128(const Float128 *x,
+                                            const Float128 *y) {
   return static_cast<int>(fputil::totalordermag(*x, *y));
 }
 
 } // namespace math
 } // namespace LIBC_NAMESPACE_DECL
 
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #endif // LLVM_LIBC_SRC___SUPPORT_MATH_TOTALORDERMAGF128_H
diff --git a/libc/src/math/generic/CMakeLists.txt b/libc/src/math/generic/CMakeLists.txt
index 28b8e954530dd..d58f4282e6b23 100644
--- a/libc/src/math/generic/CMakeLists.txt
+++ b/libc/src/math/generic/CMakeLists.txt
@@ -4289,6 +4289,7 @@ add_entrypoint_object(
   HDRS
     ../totalorderf128.h
   DEPENDS
+    libc.src.__support.CPP.bit
     libc.src.__support.math.totalorderf128
 )
 
@@ -4349,6 +4350,7 @@ add_entrypoint_object(
   HDRS
     ../totalordermagf128.h
   DEPENDS
+    libc.src.__support.CPP.bit
     libc.src.__support.math.totalordermagf128
 )
 
diff --git a/libc/src/math/generic/totalorderf128.cpp b/libc/src/math/generic/totalorderf128.cpp
index ca521291e4924..fa03fd07872fa 100644
--- a/libc/src/math/generic/totalorderf128.cpp
+++ b/libc/src/math/generic/totalorderf128.cpp
@@ -7,13 +7,22 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/totalorderf128.h"
+#include "src/__support/CPP/bit.h"
 #include "src/__support/math/totalorderf128.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
+using LIBC_NAMESPACE::fputil::Float128;
+
 LLVM_LIBC_FUNCTION(int, totalorderf128,
                    (const float128 *x, const float128 *y)) {
+#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
+  Float128 x_f128 = cpp::bit_cast<Float128>(*x);
+  Float128 y_f128 = cpp::bit_cast<Float128>(*y);
+  return math::totalorderf128(&x_f128, &y_f128);
+#else
   return math::totalorderf128(x, y);
+#endif
 }
 
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/totalordermagf128.cpp b/libc/src/math/generic/totalordermagf128.cpp
index dfb6c794b0f1d..a1f53fce15354 100644
--- a/libc/src/math/generic/totalordermagf128.cpp
+++ b/libc/src/math/generic/totalordermagf128.cpp
@@ -7,13 +7,22 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/totalordermagf128.h"
+#include "src/__support/CPP/bit.h"
 #include "src/__support/math/totalordermagf128.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
+using LIBC_NAMESPACE::fputil::Float128;
+
 LLVM_LIBC_FUNCTION(int, totalordermagf128,
                    (const float128 *x, const float128 *y)) {
+#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
+  Float128 x_f128 = cpp::bit_cast<Float128>(*x);
+  Float128 y_f128 = cpp::bit_cast<Float128>(*y);
+  return math::totalordermagf128(&x_f128, &y_f128);
+#else
   return math::totalordermagf128(x, y);
+#endif
 }
 
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/totalorderf128.h b/libc/src/math/totalorderf128.h
index 958714849da67..c075f5899afa5 100644
--- a/libc/src/math/totalorderf128.h
+++ b/libc/src/math/totalorderf128.h
@@ -9,11 +9,16 @@
 #ifndef LLVM_LIBC_SRC_MATH_TOTALORDERF128_H
 #define LLVM_LIBC_SRC_MATH_TOTALORDERF128_H
 
+#include "src/__support/FPUtil/float128.h"
 #include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
+#ifndef LIBC_TYPES_HAS_NATIVE_FLOAT128
+using float128 = LIBC_NAMESPACE::fputil::Float128;
+#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
+
 int totalorderf128(const float128 *x, const float128 *y);
 
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/totalordermagf128.h b/libc/src/math/totalordermagf128.h
index 389d0596b9d4b..07b615ef38951 100644
--- a/libc/src/math/totalordermagf128.h
+++ b/libc/src/math/totalordermagf128.h
@@ -9,11 +9,16 @@
 #ifndef LLVM_LIBC_SRC_MATH_TOTALORDERMAGF128_H
 #define LLVM_LIBC_SRC_MATH_TOTALORDERMAGF128_H
 
+#include "src/__support/FPUtil/float128.h"
 #include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
+#ifndef LIBC_TYPES_HAS_NATIVE_FLOAT128
+using float128 = LIBC_NAMESPACE::fputil::Float128;
+#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
+
 int totalordermagf128(const float128 *x, const float128 *y);
 
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/shared/shared_math_constexpr_test.cpp b/libc/test/shared/shared_math_constexpr_test.cpp
index 862c056411f5c..37018b633b7b9 100644
--- a/libc/test/shared/shared_math_constexpr_test.cpp
+++ b/libc/test/shared/shared_math_constexpr_test.cpp
@@ -386,6 +386,15 @@ static_assert(Float128(0.0) ==
                                                    Float128(0.0)));
 static_assert(Float128(1.0) ==
               LIBC_NAMESPACE::shared::fabsf128(Float128(-1.0)));
+constexpr Float128 TOTALORDERF128_X = Float128(0.0);
+constexpr Float128 TOTALORDERF128_Y = Float128(0.0);
+static_assert(1 == LIBC_NAMESPACE::shared::totalorderf128(&TOTALORDERF128_X,
+                                                          &TOTALORDERF128_Y));
+constexpr Float128 TOTALORDERMAGF128_X = Float128(0.0);
+constexpr Float128 TOTALORDERMAGF128_Y = Float128(0.0);
+static_assert(1 ==
+              LIBC_NAMESPACE::shared::totalordermagf128(&TOTALORDERMAGF128_X,
+                                                        &TOTALORDERMAGF128_Y));
 static_assert(Float128(1.0) ==
               LIBC_NAMESPACE::shared::fdimf128(Float128(1.0), Float128(0.0)));
 static_assert(Float128(0.0) ==
@@ -469,15 +478,6 @@ static_assert(float128(0.0) ==
               LIBC_NAMESPACE::shared::ufromfpf128(float128(0.0), 0, 32));
 static_assert(float128(0.0) ==
               LIBC_NAMESPACE::shared::ufromfpxf128(float128(0.0), 0, 32));
-constexpr float128 TOTALORDERF128_X = float128(0.0);
-constexpr float128 TOTALORDERF128_Y = float128(0.0);
-static_assert(1 == LIBC_NAMESPACE::shared::totalorderf128(&TOTALORDERF128_X,
-                                                          &TOTALORDERF128_Y));
-constexpr float128 TOTALORDERMAGF128_X = float128(0.0);
-constexpr float128 TOTALORDERMAGF128_Y = float128(0.0);
-static_assert(1 ==
-              LIBC_NAMESPACE::shared::totalordermagf128(&TOTALORDERMAGF128_X,
-                                                        &TOTALORDERMAGF128_Y));
 static_assert(0 ==
               LIBC_NAMESPACE::shared::fmodf128(float128(4.0), float128(2.0)));
 static_assert(float128(0.0) == [] {
diff --git a/libc/test/shared/shared_math_test.cpp b/libc/test/shared/shared_math_test.cpp
index 7b785331f36c6..b5a432ddaf1d0 100644
--- a/libc/test/shared/shared_math_test.cpp
+++ b/libc/test/shared/shared_math_test.cpp
@@ -587,6 +587,14 @@ TEST(LlvmLibcSharedMathTest, AllEmuFloat128) {
   EXPECT_FP_EQ(Float128(0.0), LIBC_NAMESPACE::shared::copysignf128(
                                   Float128(0.0), Float128(0.0)));
   EXPECT_FP_EQ(Float128(0.0), LIBC_NAMESPACE::shared::fabsf128(Float128(0.0)));
+  Float128 totalorderf128_x = Float128(0.0);
+  Float128 totalorderf128_y = Float128(0.0);
+  EXPECT_EQ(1, LIBC_NAMESPACE::shared::totalorderf128(&totalorderf128_x,
+                                                      &totalorderf128_y));
+  Float128 totalordermagf128_x = Float128(0.0);
+  Float128 totalordermagf128_y = Float128(0.0);
+  EXPECT_EQ(1, LIBC_NAMESPACE::shared::totalordermagf128(&totalordermagf128_x,
+                                                         &totalordermagf128_y));
   EXPECT_FP_EQ(Float128(0.0),
                LIBC_NAMESPACE::shared::fdimf128(Float128(0.0), Float128(0.0)));
   EXPECT_FP_EQ(Float128(0.0), LIBC_NAMESPACE::shared::floorf128(Float128(0.0)));
@@ -726,14 +734,6 @@ TEST(LlvmLibcSharedMathTest, AllFloat128) {
                LIBC_NAMESPACE::shared::ufromfpf128(float128(0.0), 0, 32));
   EXPECT_FP_EQ(float128(0.0),
                LIBC_NAMESPACE::shared::ufromfpxf128(float128(0.0), 0, 32));
-  float128 totalorderf128_x = float128(0.0);
-  float128 totalorderf128_y = float128(0.0);
-  EXPECT_EQ(1, LIBC_NAMESPACE::shared::totalorderf128(&totalorderf128_x,
-                                                      &totalorderf128_y));
-  float128 totalordermagf128_x = float128(0.0);
-  float128 totalordermagf128_y = float128(0.0);
-  EXPECT_EQ(1, LIBC_NAMESPACE::shared::totalordermagf128(&totalordermagf128_x,
-                                                         &totalordermagf128_y));
   LIBC_NAMESPACE::shared::fmodf128(float128(1.0), float128(1.0));
   float128 modff128_iptr = float128(0.0);
   EXPECT_FP_EQ(float128(0.0),
diff --git a/libc/test/src/math/smoke/CMakeLists.txt b/libc/test/src/math/smoke/CMakeLists.txt
index a61b854a85fb2..3d2771b1337db 100644
--- a/libc/test/src/math/smoke/CMakeLists.txt
+++ b/libc/test/src/math/smoke/CMakeLists.txt
@@ -5426,6 +5426,8 @@ add_fp_unittest(
     TotalOrderTest.h
   DEPENDS
     libc.src.math.totalorderf128
+    libc.src.__support.FPUtil.float128
+    libc.src.__support.FPUtil.fp_bits
 )
 
 add_fp_unittest(
@@ -5499,6 +5501,8 @@ add_fp_unittest(
     TotalOrderMagTest.h
   DEPENDS
     libc.src.math.totalordermagf128
+    libc.src.__support.FPUtil.float128
+    libc.src.__support.FPUtil.fp_bits
 )
 
 add_fp_unittest(
diff --git a/libc/test/src/math/smoke/totalorderf128_test.cpp b/libc/test/src/math/smoke/totalorderf128_test.cpp
index 6f7fd6a94fcf9..616ded618e8b8 100644
--- a/libc/test/src/math/smoke/totalorderf128_test.cpp
+++ b/libc/test/src/math/smoke/totalorderf128_test.cpp
@@ -8,6 +8,11 @@
 
 #include "TotalOrderTest.h"
 
+#include "src/__support/FPUtil/float128.h"
 #include "src/math/totalorderf128.h"
 
+#ifndef LIBC_TYPES_HAS_NATIVE_FLOAT128
+using float128 = LIBC_NAMESPACE::fputil::Float128;
+#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
+
 LIST_TOTALORDER_TESTS(float128, LIBC_NAMESPACE::totalorderf128)
diff --git a/libc/test/src/math/smoke/totalordermagf128_test.cpp b/libc/test/src/math/smoke/totalordermagf128_test.cpp
index 6cbe24ff8778f..c6ceb072a36fc 100644
--- a/libc/test/src/math/smoke/totalordermagf128_test.cpp
+++ b/libc/test/src/math/smoke/totalordermagf128_test.cpp
@@ -8,6 +8,11 @@
 
 #include "TotalOrderMagTest.h"
 
+#include "src/__support/FPUtil/float128.h"
 #include "src/math/totalordermagf128.h"
 
+#ifndef LIBC_TYPES_HAS_NATIVE_FLOAT128
+using float128 = LIBC_NAMESPACE::fputil::Float128;
+#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
+
 LIST_TOTALORDERMAG_TESTS(float128, LIBC_NAMESPACE::totalordermagf128)
diff --git a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
index fc1164d88d111..47acc9fcd68fb 100644
--- a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
@@ -10043,8 +10043,8 @@ libc_support_library(
     hdrs = ["src/__support/math/totalorderf128.h"],
     deps = [
         ":__support_fputil_basic_operations",
+        ":__support_fputil_float128",
         ":__support_macros_config",
-        ":llvm_libc_types_float128",
     ],
 )
 
@@ -10100,8 +10100,8 @@ libc_support_library(
     hdrs = ["src/__support/math/totalordermagf128.h"],
     deps = [
         ":__support_fputil_basic_operations",
+        ":__support_fputil_float128",
         ":__support_macros_config",
-        ":llvm_libc_types_float128",
     ],
 )
 
@@ -13836,6 +13836,7 @@ libc_math_function(
 libc_math_function(
     name = "totalorderf128",
     additional_deps = [
+        ":__support_cpp_bit",
         ":__support_math_totalorderf128",
     ],
 )
@@ -13878,6 +13879,7 @@ libc_math_function(
 libc_math_function(
     name = "totalordermagf128",
     additional_deps = [
+        ":__support_cpp_bit",
         ":__support_math_totalordermagf128",
     ],
 )



More information about the libc-commits mailing list