[libc-commits] [compiler-rt] [libc] [compiler-rt][builtins] add libc-backed fixint/fixuint builtins (PR #207543)

via libc-commits libc-commits at lists.llvm.org
Sat Jul 4 14:09:25 PDT 2026


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff origin/main HEAD --extensions h,cpp -- compiler-rt/lib/builtins/fixdfdi.cpp compiler-rt/lib/builtins/fixdfsi.cpp compiler-rt/lib/builtins/fixdfti.cpp compiler-rt/lib/builtins/fixsfdi.cpp compiler-rt/lib/builtins/fixsfsi.cpp compiler-rt/lib/builtins/fixsfti.cpp compiler-rt/lib/builtins/fixunsdfdi.cpp compiler-rt/lib/builtins/fixunsdfsi.cpp compiler-rt/lib/builtins/fixunsdfti.cpp compiler-rt/lib/builtins/fixunssfdi.cpp compiler-rt/lib/builtins/fixunssfsi.cpp compiler-rt/lib/builtins/fixunssfti.cpp libc/shared/builtins/fixdfdi.h libc/shared/builtins/fixdfsi.h libc/shared/builtins/fixdfti.h libc/shared/builtins/fixsfdi.h libc/shared/builtins/fixsfsi.h libc/shared/builtins/fixsfti.h libc/shared/builtins/fixunsdfdi.h libc/shared/builtins/fixunsdfsi.h libc/shared/builtins/fixunsdfti.h libc/shared/builtins/fixunssfdi.h libc/shared/builtins/fixunssfsi.h libc/shared/builtins/fixunssfti.h libc/src/__support/builtins/fixdfdi.h libc/src/__support/builtins/fixdfsi.h libc/src/__support/builtins/fixdfti.h libc/src/__support/builtins/fixint_helper.h libc/src/__support/builtins/fixsfdi.h libc/src/__support/builtins/fixsfsi.h libc/src/__support/builtins/fixsfti.h libc/src/__support/builtins/fixunsdfdi.h libc/src/__support/builtins/fixunsdfsi.h libc/src/__support/builtins/fixunsdfti.h libc/src/__support/builtins/fixunssfdi.h libc/src/__support/builtins/fixunssfsi.h libc/src/__support/builtins/fixunssfti.h libc/shared/builtins.h libc/test/shared/shared_builtins_test.cpp --diff_from_common_commit
``````````

:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/libc/src/__support/builtins/fixdfdi.h b/libc/src/__support/builtins/fixdfdi.h
index c78d0fe66..9ca5afa20 100644
--- a/libc/src/__support/builtins/fixdfdi.h
+++ b/libc/src/__support/builtins/fixdfdi.h
@@ -24,9 +24,7 @@ namespace builtins {
 
 // Truncating double -> int64_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixdfdi.
-LIBC_INLINE int64_t fixdfdi(double x) {
-  return fixint<int64_t>(x);
-}
+LIBC_INLINE int64_t fixdfdi(double x) { return fixint<int64_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/builtins/fixdfsi.h b/libc/src/__support/builtins/fixdfsi.h
index 565eb018a..ef3884925 100644
--- a/libc/src/__support/builtins/fixdfsi.h
+++ b/libc/src/__support/builtins/fixdfsi.h
@@ -24,9 +24,7 @@ namespace builtins {
 
 // Truncating double -> int32_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixdfsi.
-LIBC_INLINE int32_t fixdfsi(double x) {
-  return fixint<int32_t>(x);
-}
+LIBC_INLINE int32_t fixdfsi(double x) { return fixint<int32_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/builtins/fixdfti.h b/libc/src/__support/builtins/fixdfti.h
index 0da1d0aab..36ddb039f 100644
--- a/libc/src/__support/builtins/fixdfti.h
+++ b/libc/src/__support/builtins/fixdfti.h
@@ -28,9 +28,7 @@ namespace builtins {
 
 // Truncating double -> __int128_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixdfti.
-LIBC_INLINE __int128_t fixdfti(double x) {
-  return fixint<__int128_t>(x);
-}
+LIBC_INLINE __int128_t fixdfti(double x) { return fixint<__int128_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/builtins/fixsfdi.h b/libc/src/__support/builtins/fixsfdi.h
index 3842640fb..87b10f3d8 100644
--- a/libc/src/__support/builtins/fixsfdi.h
+++ b/libc/src/__support/builtins/fixsfdi.h
@@ -24,9 +24,7 @@ namespace builtins {
 
 // Truncating float -> int64_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixsfdi.
-LIBC_INLINE int64_t fixsfdi(float x) {
-  return fixint<int64_t>(x);
-}
+LIBC_INLINE int64_t fixsfdi(float x) { return fixint<int64_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/builtins/fixsfsi.h b/libc/src/__support/builtins/fixsfsi.h
index e708931eb..1eded9719 100644
--- a/libc/src/__support/builtins/fixsfsi.h
+++ b/libc/src/__support/builtins/fixsfsi.h
@@ -24,9 +24,7 @@ namespace builtins {
 
 // Truncating float -> int32_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixsfsi.
-LIBC_INLINE int32_t fixsfsi(float x) {
-  return fixint<int32_t>(x);
-}
+LIBC_INLINE int32_t fixsfsi(float x) { return fixint<int32_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/builtins/fixsfti.h b/libc/src/__support/builtins/fixsfti.h
index bcf946e92..d024e63a2 100644
--- a/libc/src/__support/builtins/fixsfti.h
+++ b/libc/src/__support/builtins/fixsfti.h
@@ -28,9 +28,7 @@ namespace builtins {
 
 // Truncating float -> __int128_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixsfti.
-LIBC_INLINE __int128_t fixsfti(float x) {
-  return fixint<__int128_t>(x);
-}
+LIBC_INLINE __int128_t fixsfti(float x) { return fixint<__int128_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/builtins/fixunsdfdi.h b/libc/src/__support/builtins/fixunsdfdi.h
index 62279d0b7..c9531ceac 100644
--- a/libc/src/__support/builtins/fixunsdfdi.h
+++ b/libc/src/__support/builtins/fixunsdfdi.h
@@ -24,9 +24,7 @@ namespace builtins {
 
 // Truncating double -> uint64_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixunsdfdi.
-LIBC_INLINE uint64_t fixunsdfdi(double x) {
-  return fixuint<uint64_t>(x);
-}
+LIBC_INLINE uint64_t fixunsdfdi(double x) { return fixuint<uint64_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/builtins/fixunsdfsi.h b/libc/src/__support/builtins/fixunsdfsi.h
index c43f056d6..4a6117c40 100644
--- a/libc/src/__support/builtins/fixunsdfsi.h
+++ b/libc/src/__support/builtins/fixunsdfsi.h
@@ -24,9 +24,7 @@ namespace builtins {
 
 // Truncating double -> uint32_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixunsdfsi.
-LIBC_INLINE uint32_t fixunsdfsi(double x) {
-  return fixuint<uint32_t>(x);
-}
+LIBC_INLINE uint32_t fixunsdfsi(double x) { return fixuint<uint32_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/builtins/fixunsdfti.h b/libc/src/__support/builtins/fixunsdfti.h
index 7dda88016..70e191d9f 100644
--- a/libc/src/__support/builtins/fixunsdfti.h
+++ b/libc/src/__support/builtins/fixunsdfti.h
@@ -28,9 +28,7 @@ namespace builtins {
 
 // Truncating double -> __uint128_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixunsdfti.
-LIBC_INLINE __uint128_t fixunsdfti(double x) {
-  return fixuint<__uint128_t>(x);
-}
+LIBC_INLINE __uint128_t fixunsdfti(double x) { return fixuint<__uint128_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/builtins/fixunssfdi.h b/libc/src/__support/builtins/fixunssfdi.h
index f5f36d8bb..68befe833 100644
--- a/libc/src/__support/builtins/fixunssfdi.h
+++ b/libc/src/__support/builtins/fixunssfdi.h
@@ -24,9 +24,7 @@ namespace builtins {
 
 // Truncating float -> uint64_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixunssfdi.
-LIBC_INLINE uint64_t fixunssfdi(float x) {
-  return fixuint<uint64_t>(x);
-}
+LIBC_INLINE uint64_t fixunssfdi(float x) { return fixuint<uint64_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/builtins/fixunssfsi.h b/libc/src/__support/builtins/fixunssfsi.h
index 9c33a28ed..fe0dbe62d 100644
--- a/libc/src/__support/builtins/fixunssfsi.h
+++ b/libc/src/__support/builtins/fixunssfsi.h
@@ -24,9 +24,7 @@ namespace builtins {
 
 // Truncating float -> uint32_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixunssfsi.
-LIBC_INLINE uint32_t fixunssfsi(float x) {
-  return fixuint<uint32_t>(x);
-}
+LIBC_INLINE uint32_t fixunssfsi(float x) { return fixuint<uint32_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/builtins/fixunssfti.h b/libc/src/__support/builtins/fixunssfti.h
index 6d3a4d632..efa782369 100644
--- a/libc/src/__support/builtins/fixunssfti.h
+++ b/libc/src/__support/builtins/fixunssfti.h
@@ -28,9 +28,7 @@ namespace builtins {
 
 // Truncating float -> __uint128_t conversion, saturating on overflow.
 // Mirrors compiler-rt's __fixunssfti.
-LIBC_INLINE __uint128_t fixunssfti(float x) {
-  return fixuint<__uint128_t>(x);
-}
+LIBC_INLINE __uint128_t fixunssfti(float x) { return fixuint<__uint128_t>(x); }
 
 } // namespace builtins
 } // namespace LIBC_NAMESPACE_DECL

``````````

</details>


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


More information about the libc-commits mailing list