[libc-commits] [compiler-rt] [libc] [compiler-rt][builtins] libc-backed single-float comparison builtins (PR #212651)
via libc-commits
libc-commits at lists.llvm.org
Sun Sep 6 14:11:23 PDT 2026
https://github.com/hulxv updated https://github.com/llvm/llvm-project/pull/212651
>From ceed71e4b3b1597d2bfeb502e39cef553e94d1a0 Mon Sep 17 00:00:00 2001
From: hulxv <hulxxv at gmail.com>
Date: Wed, 29 Jul 2026 01:24:14 +0300
Subject: [PATCH 1/6] [compiler-rt][builtins] libc-backed single-float
comparison builtins
---
compiler-rt/lib/builtins/CMakeLists.txt | 1 +
compiler-rt/lib/builtins/comparesf2.cpp | 54 ++++++++++++++++++++++
libc/shared/builtins.h | 3 ++
libc/shared/builtins/gesf2.h | 29 ++++++++++++
libc/shared/builtins/lesf2.h | 29 ++++++++++++
libc/shared/builtins/unordsf2.h | 29 ++++++++++++
libc/src/__support/builtins/CMakeLists.txt | 17 +++++++
libc/src/__support/builtins/gesf2.h | 30 ++++++++++++
libc/src/__support/builtins/lesf2.h | 30 ++++++++++++
libc/src/__support/builtins/unordsf2.h | 30 ++++++++++++
libc/test/shared/CMakeLists.txt | 3 ++
libc/test/shared/shared_builtins_test.cpp | 15 ++++++
12 files changed, 270 insertions(+)
create mode 100644 compiler-rt/lib/builtins/comparesf2.cpp
create mode 100644 libc/shared/builtins/gesf2.h
create mode 100644 libc/shared/builtins/lesf2.h
create mode 100644 libc/shared/builtins/unordsf2.h
create mode 100644 libc/src/__support/builtins/gesf2.h
create mode 100644 libc/src/__support/builtins/lesf2.h
create mode 100644 libc/src/__support/builtins/unordsf2.h
diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt
index 12a3b068b3373..7f1a76ee5873d 100644
--- a/compiler-rt/lib/builtins/CMakeLists.txt
+++ b/compiler-rt/lib/builtins/CMakeLists.txt
@@ -288,6 +288,7 @@ if(COMPILER_RT_USE_LIBC_MATH)
use_libc_builtin(GENERIC_SOURCES adddf3)
use_libc_builtin(GENERIC_SOURCES addsf3)
use_libc_builtin(GENERIC_TF_SOURCES addtf3)
+ use_libc_builtin(GENERIC_SOURCES comparesf2)
use_libc_builtin(GENERIC_SOURCES divdf3)
use_libc_builtin(GENERIC_SOURCES divsf3)
use_libc_builtin(GENERIC_TF_SOURCES divtf3)
diff --git a/compiler-rt/lib/builtins/comparesf2.cpp b/compiler-rt/lib/builtins/comparesf2.cpp
new file mode 100644
index 0000000000000..4db28588f4afc
--- /dev/null
+++ b/compiler-rt/lib/builtins/comparesf2.cpp
@@ -0,0 +1,54 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// This file implements compiler-rt's float comparison routines
+/// (__lesf2/__gesf2/__unordsf2 and their aliases) on top of LLVM-libc's shared
+/// comparison builtins.
+///
+//===----------------------------------------------------------------------===//
+
+#define SINGLE_PRECISION
+#include "fp_lib.h"
+
+#include "fp_compare_impl.inc"
+#include "fp_libc_config.h"
+#include "shared/builtins/gesf2.h"
+#include "shared/builtins/lesf2.h"
+#include "shared/builtins/unordsf2.h"
+
+extern "C" {
+
+COMPILER_RT_ABI CMP_RESULT __lesf2(fp_t a, fp_t b) {
+ return LIBC_NAMESPACE::shared::lesf2(a, b);
+}
+#if defined(__ELF__)
+COMPILER_RT_ALIAS(__lesf2, __cmpsf2)
+#endif
+COMPILER_RT_ALIAS(__lesf2, __eqsf2)
+COMPILER_RT_ALIAS(__lesf2, __ltsf2)
+COMPILER_RT_ALIAS(__lesf2, __nesf2)
+
+COMPILER_RT_ABI CMP_RESULT __gesf2(fp_t a, fp_t b) {
+ return LIBC_NAMESPACE::shared::gesf2(a, b);
+}
+COMPILER_RT_ALIAS(__gesf2, __gtsf2)
+
+COMPILER_RT_ABI CMP_RESULT __unordsf2(fp_t a, fp_t b) {
+ return LIBC_NAMESPACE::shared::unordsf2(a, b);
+}
+
+#if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
+AEABI_RTABI int __aeabi_fcmpun(fp_t a, fp_t b) { return __unordsf2(a, b); }
+#else
+COMPILER_RT_ALIAS(__unordsf2, __aeabi_fcmpun)
+#endif
+#endif
+
+} // extern "C"
diff --git a/libc/shared/builtins.h b/libc/shared/builtins.h
index 21c2bed4a0af1..592ba3589dc47 100644
--- a/libc/shared/builtins.h
+++ b/libc/shared/builtins.h
@@ -51,6 +51,8 @@
#include "builtins/floatunsisf.h"
#include "builtins/floatuntidf.h"
#include "builtins/floatuntisf.h"
+#include "builtins/gesf2.h"
+#include "builtins/lesf2.h"
#include "builtins/muldf3.h"
#include "builtins/mulsf3.h"
#include "builtins/multf3.h"
@@ -63,5 +65,6 @@
#include "builtins/trunctfdf2.h"
#include "builtins/trunctfsf2.h"
#include "builtins/trunctfxf2.h"
+#include "builtins/unordsf2.h"
#endif // LLVM_LIBC_SHARED_BUILTINS_H
diff --git a/libc/shared/builtins/gesf2.h b/libc/shared/builtins/gesf2.h
new file mode 100644
index 0000000000000..81b0d3972d280
--- /dev/null
+++ b/libc/shared/builtins/gesf2.h
@@ -0,0 +1,29 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// This header exposes LLVM-libc's __gesf2 implementation as shared::gesf2 so
+/// that it can be reused by compiler-rt's builtins.
+///
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SHARED_BUILTINS_GESF2_H
+#define LLVM_LIBC_SHARED_BUILTINS_GESF2_H
+
+#include "shared/libc_common.h"
+#include "src/__support/builtins/gesf2.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace shared {
+
+using builtins::gesf2;
+
+} // namespace shared
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SHARED_BUILTINS_GESF2_H
diff --git a/libc/shared/builtins/lesf2.h b/libc/shared/builtins/lesf2.h
new file mode 100644
index 0000000000000..3fec6d3f0366f
--- /dev/null
+++ b/libc/shared/builtins/lesf2.h
@@ -0,0 +1,29 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// This header exposes LLVM-libc's __lesf2 implementation as shared::lesf2 so
+/// that it can be reused by compiler-rt's builtins.
+///
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SHARED_BUILTINS_LESF2_H
+#define LLVM_LIBC_SHARED_BUILTINS_LESF2_H
+
+#include "shared/libc_common.h"
+#include "src/__support/builtins/lesf2.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace shared {
+
+using builtins::lesf2;
+
+} // namespace shared
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SHARED_BUILTINS_LESF2_H
diff --git a/libc/shared/builtins/unordsf2.h b/libc/shared/builtins/unordsf2.h
new file mode 100644
index 0000000000000..eb2c4d4c0483e
--- /dev/null
+++ b/libc/shared/builtins/unordsf2.h
@@ -0,0 +1,29 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// This header exposes LLVM-libc's __unordsf2 implementation as
+/// shared::unordsf2 so that it can be reused by compiler-rt's builtins.
+///
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SHARED_BUILTINS_UNORDSF2_H
+#define LLVM_LIBC_SHARED_BUILTINS_UNORDSF2_H
+
+#include "shared/libc_common.h"
+#include "src/__support/builtins/unordsf2.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace shared {
+
+using builtins::unordsf2;
+
+} // namespace shared
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SHARED_BUILTINS_UNORDSF2_H
diff --git a/libc/src/__support/builtins/CMakeLists.txt b/libc/src/__support/builtins/CMakeLists.txt
index 366b35bd0de3a..436fd5e401ef6 100644
--- a/libc/src/__support/builtins/CMakeLists.txt
+++ b/libc/src/__support/builtins/CMakeLists.txt
@@ -253,6 +253,11 @@ add_header_library(
DEPENDS
libc.hdr.stdint_proxy
libc.src.__support.builtins.fixint_helper
+ lesf2
+ HDRS
+ lesf2.h
+ DEPENDS
+ libc.src.__support.builtins.cmp_helper
libc.src.__support.macros.config
)
@@ -275,6 +280,11 @@ add_header_library(
DEPENDS
libc.hdr.stdint_proxy
libc.src.__support.builtins.fixint_helper
+ gesf2
+ HDRS
+ gesf2.h
+ DEPENDS
+ libc.src.__support.builtins.cmp_helper
libc.src.__support.macros.config
)
@@ -496,4 +506,11 @@ add_header_library(
libc.src.__support.builtins.floatint_helper
libc.src.__support.macros.config
libc.src.__support.macros.properties.types
+)
+ unordsf2
+ HDRS
+ unordsf2.h
+ DEPENDS
+ libc.src.__support.builtins.cmp_helper
+ libc.src.__support.macros.config
)
diff --git a/libc/src/__support/builtins/gesf2.h b/libc/src/__support/builtins/gesf2.h
new file mode 100644
index 0000000000000..14523acce5be7
--- /dev/null
+++ b/libc/src/__support/builtins/gesf2.h
@@ -0,0 +1,30 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// This header exposes LLVM-libc's __gesf2 implementation as builtins::gesf2 so
+/// that it can be reused by compiler-rt's builtins.
+///
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC___SUPPORT_BUILTINS_GESF2_H
+#define LLVM_LIBC_SRC___SUPPORT_BUILTINS_GESF2_H
+
+#include "src/__support/builtins/cmp_helper.h"
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace builtins {
+
+// Greater-equal comparison of float; mirrors compiler-rt's __gesf2.
+LIBC_INLINE int gesf2(float a, float b) { return cmp_ge(a, b); }
+
+} // namespace builtins
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC___SUPPORT_BUILTINS_GESF2_H
diff --git a/libc/src/__support/builtins/lesf2.h b/libc/src/__support/builtins/lesf2.h
new file mode 100644
index 0000000000000..8358198d90df1
--- /dev/null
+++ b/libc/src/__support/builtins/lesf2.h
@@ -0,0 +1,30 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// This header exposes LLVM-libc's __lesf2 implementation as builtins::lesf2 so
+/// that it can be reused by compiler-rt's builtins.
+///
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC___SUPPORT_BUILTINS_LESF2_H
+#define LLVM_LIBC_SRC___SUPPORT_BUILTINS_LESF2_H
+
+#include "src/__support/builtins/cmp_helper.h"
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace builtins {
+
+// Less-equal comparison of float; mirrors compiler-rt's __lesf2.
+LIBC_INLINE int lesf2(float a, float b) { return cmp_le(a, b); }
+
+} // namespace builtins
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC___SUPPORT_BUILTINS_LESF2_H
diff --git a/libc/src/__support/builtins/unordsf2.h b/libc/src/__support/builtins/unordsf2.h
new file mode 100644
index 0000000000000..23268413863e5
--- /dev/null
+++ b/libc/src/__support/builtins/unordsf2.h
@@ -0,0 +1,30 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// This header exposes LLVM-libc's __unordsf2 implementation as
+/// builtins::unordsf2 so that it can be reused by compiler-rt's builtins.
+///
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC___SUPPORT_BUILTINS_UNORDSF2_H
+#define LLVM_LIBC_SRC___SUPPORT_BUILTINS_UNORDSF2_H
+
+#include "src/__support/builtins/cmp_helper.h"
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace builtins {
+
+// Unordered comparison of float; mirrors compiler-rt's __unordsf2.
+LIBC_INLINE int unordsf2(float a, float b) { return cmp_unord(a, b); }
+
+} // namespace builtins
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC___SUPPORT_BUILTINS_UNORDSF2_H
diff --git a/libc/test/shared/CMakeLists.txt b/libc/test/shared/CMakeLists.txt
index 74eda7cdaf065..ac452301c9725 100644
--- a/libc/test/shared/CMakeLists.txt
+++ b/libc/test/shared/CMakeLists.txt
@@ -864,6 +864,8 @@ add_fp_unittest(
libc.src.__support.builtins.floatunsisf
libc.src.__support.builtins.floatuntidf
libc.src.__support.builtins.floatuntisf
+ libc.src.__support.builtins.gesf2
+ libc.src.__support.builtins.lesf2
libc.src.__support.builtins.muldf3
libc.src.__support.builtins.mulsf3
libc.src.__support.builtins.multf3
@@ -877,6 +879,7 @@ add_fp_unittest(
libc.src.__support.builtins.trunctfsf2
libc.src.__support.builtins.trunctfxf2
libc.src.__support.uint128
+ libc.src.__support.builtins.unordsf2
)
add_fp_unittest(
diff --git a/libc/test/shared/shared_builtins_test.cpp b/libc/test/shared/shared_builtins_test.cpp
index a5c0a674c360e..4c3f825187227 100644
--- a/libc/test/shared/shared_builtins_test.cpp
+++ b/libc/test/shared/shared_builtins_test.cpp
@@ -61,3 +61,18 @@ TEST(LlvmLibcSharedBuiltinsTest, TruncateConversion) {
#endif // LIBC_TYPES_LONG_DOUBLE_IS_X86_FLOAT80
#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
}
+
+TEST(LlvmLibcSharedBuiltinsTest, SingleCompare) {
+ const float aNaN =
+ LIBC_NAMESPACE::fputil::FPBits<float>::quiet_nan().get_val();
+ EXPECT_EQ(-1, shared::gesf2(1.0f, 2.0f));
+ EXPECT_EQ(0, shared::gesf2(1.0f, 1.0f));
+ EXPECT_EQ(1, shared::gesf2(2.0f, 1.0f));
+ EXPECT_EQ(-1, shared::gesf2(aNaN, 1.0f));
+ EXPECT_EQ(-1, shared::lesf2(1.0f, 2.0f));
+ EXPECT_EQ(0, shared::lesf2(1.0f, 1.0f));
+ EXPECT_EQ(1, shared::lesf2(2.0f, 1.0f));
+ EXPECT_EQ(1, shared::lesf2(aNaN, 1.0f));
+ EXPECT_EQ(0, shared::unordsf2(1.0f, 2.0f));
+ EXPECT_EQ(1, shared::unordsf2(aNaN, 1.0f));
+}
>From 890dbf11dc3b2690238d4c37d35f3ae9c2e0637b Mon Sep 17 00:00:00 2001
From: hulxv <hulxxv at gmail.com>
Date: Sun, 9 Aug 2026 00:49:29 +0300
Subject: [PATCH 2/6] conflict
---
libc/src/__support/builtins/CMakeLists.txt | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/libc/src/__support/builtins/CMakeLists.txt b/libc/src/__support/builtins/CMakeLists.txt
index 436fd5e401ef6..7eea29a21cf37 100644
--- a/libc/src/__support/builtins/CMakeLists.txt
+++ b/libc/src/__support/builtins/CMakeLists.txt
@@ -243,6 +243,16 @@ add_header_library(
truncdfsf2.h
DEPENDS
libc.src.__support.builtins.fpconvert_helper
+)
+
+add_header_library(
+ cmp_helper
+ HDRS
+ cmp_helper.h
+ DEPENDS
+ libc.src.__support.FPUtil.comparison_operations
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.macros.attributes
libc.src.__support.macros.config
)
>From ea3b368c0bb73cafa58516687def2a288ce8297d Mon Sep 17 00:00:00 2001
From: hulxv <hulxxv at gmail.com>
Date: Sun, 9 Aug 2026 01:16:58 +0300
Subject: [PATCH 3/6] fix conflict
---
libc/src/__support/builtins/CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libc/src/__support/builtins/CMakeLists.txt b/libc/src/__support/builtins/CMakeLists.txt
index 7eea29a21cf37..4d5853d2bc933 100644
--- a/libc/src/__support/builtins/CMakeLists.txt
+++ b/libc/src/__support/builtins/CMakeLists.txt
@@ -517,6 +517,8 @@ add_header_library(
libc.src.__support.macros.config
libc.src.__support.macros.properties.types
)
+
+add_header_library(
unordsf2
HDRS
unordsf2.h
>From 1e1f7b3de0a4e913425ec40cc283edb185110928 Mon Sep 17 00:00:00 2001
From: hulxv <hulxxv at gmail.com>
Date: Mon, 24 Aug 2026 21:36:47 +0300
Subject: [PATCH 4/6] conflict
---
libc/src/__support/builtins/CMakeLists.txt | 28 ++++++++++++++--------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/libc/src/__support/builtins/CMakeLists.txt b/libc/src/__support/builtins/CMakeLists.txt
index 4d5853d2bc933..a3181e5f94742 100644
--- a/libc/src/__support/builtins/CMakeLists.txt
+++ b/libc/src/__support/builtins/CMakeLists.txt
@@ -263,11 +263,6 @@ add_header_library(
DEPENDS
libc.hdr.stdint_proxy
libc.src.__support.builtins.fixint_helper
- lesf2
- HDRS
- lesf2.h
- DEPENDS
- libc.src.__support.builtins.cmp_helper
libc.src.__support.macros.config
)
@@ -290,11 +285,6 @@ add_header_library(
DEPENDS
libc.hdr.stdint_proxy
libc.src.__support.builtins.fixint_helper
- gesf2
- HDRS
- gesf2.h
- DEPENDS
- libc.src.__support.builtins.cmp_helper
libc.src.__support.macros.config
)
@@ -526,3 +516,21 @@ add_header_library(
libc.src.__support.builtins.cmp_helper
libc.src.__support.macros.config
)
+
+add_header_library(
+ gesf2
+ HDRS
+ gesf2.h
+ DEPENDS
+ libc.src.__support.builtins.cmp_helper
+ libc.src.__support.macros.config
+)
+
+add_header_library(
+ lesf2
+ HDRS
+ lesf2.h
+ DEPENDS
+ libc.src.__support.builtins.cmp_helper
+ libc.src.__support.macros.config
+)
>From b2c7ec09ec73ac2af5ddbfe48a6abb6965a1a28b Mon Sep 17 00:00:00 2001
From: hulxv <hulxxv at gmail.com>
Date: Sun, 6 Sep 2026 23:51:22 +0300
Subject: [PATCH 5/6] missed dep
---
libc/src/__support/builtins/CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/libc/src/__support/builtins/CMakeLists.txt b/libc/src/__support/builtins/CMakeLists.txt
index a3181e5f94742..b6dc65b83f90e 100644
--- a/libc/src/__support/builtins/CMakeLists.txt
+++ b/libc/src/__support/builtins/CMakeLists.txt
@@ -243,6 +243,7 @@ add_header_library(
truncdfsf2.h
DEPENDS
libc.src.__support.builtins.fpconvert_helper
+ libc.src.__support.macros.config
)
add_header_library(
>From a459ef5f146619a34a31b6bd0e5719cba382966b Mon Sep 17 00:00:00 2001
From: hulxv <hulxxv at gmail.com>
Date: Mon, 7 Sep 2026 00:10:58 +0300
Subject: [PATCH 6/6] fix duplication
---
libc/src/__support/builtins/CMakeLists.txt | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/libc/src/__support/builtins/CMakeLists.txt b/libc/src/__support/builtins/CMakeLists.txt
index b6dc65b83f90e..0169a0b36fb0e 100644
--- a/libc/src/__support/builtins/CMakeLists.txt
+++ b/libc/src/__support/builtins/CMakeLists.txt
@@ -246,17 +246,6 @@ add_header_library(
libc.src.__support.macros.config
)
-add_header_library(
- cmp_helper
- HDRS
- cmp_helper.h
- DEPENDS
- libc.src.__support.FPUtil.comparison_operations
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.macros.attributes
- libc.src.__support.macros.config
-)
-
add_header_library(
fixdfdi
HDRS
More information about the libc-commits
mailing list