[llvm-branch-commits] [libc] [llvm] [libc] Make fmaximum_mag_num/fminimum_man_num functions use the emulated float128 type (PR #217549)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Aug 20 02:55:19 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-amdgpu

Author: Zorojuro (Sukumarsawant)

<details>
<summary>Changes</summary>



---

Patch is 29.52 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/217549.diff


32 Files Affected:

- (modified) libc/config/baremetal/aarch64/entrypoints.txt (+2-2) 
- (modified) libc/config/baremetal/arm/entrypoints.txt (+2-2) 
- (modified) libc/config/baremetal/riscv/entrypoints.txt (+2-2) 
- (modified) libc/config/darwin/aarch64/entrypoints.txt (+2-2) 
- (modified) libc/config/darwin/x86_64/entrypoints.txt (+2) 
- (modified) libc/config/freebsd/x86_64/entrypoints.txt (+2-2) 
- (modified) libc/config/gpu/amdgpu/entrypoints.txt (+2) 
- (modified) libc/config/gpu/nvptx/entrypoints.txt (+2) 
- (modified) libc/config/linux/aarch64/entrypoints.txt (+2-2) 
- (modified) libc/config/linux/arm/entrypoints.txt (+2) 
- (modified) libc/config/linux/riscv/entrypoints.txt (+2-2) 
- (modified) libc/config/linux/x86_64/entrypoints.txt (+2-2) 
- (modified) libc/config/windows/entrypoints.txt (+2) 
- (modified) libc/shared/math/fmaximum_mag_numf128.h (-6) 
- (modified) libc/shared/math/fminimum_mag_numf128.h (-6) 
- (modified) libc/src/__support/math/CMakeLists.txt (+2-2) 
- (modified) libc/src/__support/math/fmaximum_mag_numf128.h (+4-7) 
- (modified) libc/src/__support/math/fminimum_mag_numf128.h (+4-7) 
- (modified) libc/src/math/fmaximum_mag_numf128.h (+5) 
- (modified) libc/src/math/fminimum_mag_numf128.h (+5) 
- (modified) libc/src/math/generic/CMakeLists.txt (+2) 
- (modified) libc/src/math/generic/fmaximum_mag_numf128.cpp (+5-1) 
- (modified) libc/src/math/generic/fminimum_mag_numf128.cpp (+5-1) 
- (modified) libc/test/shared/shared_math_constexpr_test.cpp (+6-6) 
- (modified) libc/test/shared/shared_math_test.cpp (+4-4) 
- (modified) libc/test/src/math/smoke/CMakeLists.txt (+2) 
- (modified) libc/test/src/math/smoke/FMaximumMagNumTest.h (+1-1) 
- (modified) libc/test/src/math/smoke/FMinimumMagNumTest.h (+1-1) 
- (modified) libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp (+5) 
- (modified) libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp (+5) 
- (modified) utils/bazel/llvm-project-overlay/libc/BUILD.bazel (+6-2) 
- (modified) utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel (+6) 


``````````diff
diff --git a/libc/config/baremetal/aarch64/entrypoints.txt b/libc/config/baremetal/aarch64/entrypoints.txt
index 2d10fdf5f83eb..e461324171058 100644
--- a/libc/config/baremetal/aarch64/entrypoints.txt
+++ b/libc/config/baremetal/aarch64/entrypoints.txt
@@ -427,6 +427,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_mag
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fmaximum_magf
     libc.src.math.fmaximum_magf128
@@ -446,6 +447,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_mag
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fminimum_magf
     libc.src.math.fminimum_magf128
@@ -759,8 +761,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
     libc.src.math.fdimf128
     libc.src.math.fdivf128
     libc.src.math.ffmaf128
-    libc.src.math.fmaximum_mag_numf128
-    libc.src.math.fminimum_mag_numf128
     libc.src.math.fmodf128
     libc.src.math.fmulf128
     libc.src.math.frexpf128
diff --git a/libc/config/baremetal/arm/entrypoints.txt b/libc/config/baremetal/arm/entrypoints.txt
index 5dfa7138184a9..810d2bb277752 100644
--- a/libc/config/baremetal/arm/entrypoints.txt
+++ b/libc/config/baremetal/arm/entrypoints.txt
@@ -439,6 +439,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_mag
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fmaximum_magf
     libc.src.math.fmaximum_magf128
@@ -458,6 +459,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_mag
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fminimum_magf
     libc.src.math.fminimum_magf128
@@ -770,8 +772,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
     libc.src.math.fdimf128
     libc.src.math.fdivf128
     libc.src.math.ffmaf128
-    libc.src.math.fmaximum_mag_numf128
-    libc.src.math.fminimum_mag_numf128
     libc.src.math.fmodf128
     libc.src.math.fmulf128
     libc.src.math.frexpf128
diff --git a/libc/config/baremetal/riscv/entrypoints.txt b/libc/config/baremetal/riscv/entrypoints.txt
index 380db99cecb2b..579838fa5e659 100644
--- a/libc/config/baremetal/riscv/entrypoints.txt
+++ b/libc/config/baremetal/riscv/entrypoints.txt
@@ -435,6 +435,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_mag
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fmaximum_magf
     libc.src.math.fmaximum_magf128
@@ -454,6 +455,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_mag
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fminimum_magf
     libc.src.math.fminimum_magf128
@@ -767,8 +769,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
     libc.src.math.fdimf128
     libc.src.math.fdivf128
     libc.src.math.ffmaf128
-    libc.src.math.fmaximum_mag_numf128
-    libc.src.math.fminimum_mag_numf128
     # libc.src.math.fmodf128
     libc.src.math.fmulf128
     libc.src.math.frexpf128
diff --git a/libc/config/darwin/aarch64/entrypoints.txt b/libc/config/darwin/aarch64/entrypoints.txt
index 42c20685d588b..3dbc4010431b1 100644
--- a/libc/config/darwin/aarch64/entrypoints.txt
+++ b/libc/config/darwin/aarch64/entrypoints.txt
@@ -246,6 +246,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_mag
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fmaximum_magf
     libc.src.math.fmaximum_magf128
@@ -265,6 +266,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_mag
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fminimum_magf
     libc.src.math.fminimum_magf128
@@ -579,8 +581,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
     libc.src.math.fdimf128
     libc.src.math.fdivf128
     libc.src.math.ffmaf128
-    libc.src.math.fmaximum_mag_numf128
-    libc.src.math.fminimum_mag_numf128
     libc.src.math.fmodf128
     libc.src.math.fmulf128
     libc.src.math.frexpf128
diff --git a/libc/config/darwin/x86_64/entrypoints.txt b/libc/config/darwin/x86_64/entrypoints.txt
index 90e6134f72896..da5c8d91cb732 100644
--- a/libc/config/darwin/x86_64/entrypoints.txt
+++ b/libc/config/darwin/x86_64/entrypoints.txt
@@ -158,6 +158,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     #libc.src.math.fmax
     #libc.src.math.fmaxf
     #libc.src.math.fmaxf128
+    #libc.src.math.fmaximum_mag_numf128
     #libc.src.math.fmaximum_magf128
     #libc.src.math.fmaximum_numf128
     #libc.src.math.fmaximumf128
@@ -165,6 +166,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     #libc.src.math.fmin
     #libc.src.math.fminf
     #libc.src.math.fminf128
+    #libc.src.math.fminimum_mag_numf128
     #libc.src.math.fminimum_magf128
     #libc.src.math.fminimum_numf128
     #libc.src.math.fminimumf128
diff --git a/libc/config/freebsd/x86_64/entrypoints.txt b/libc/config/freebsd/x86_64/entrypoints.txt
index 7db5208705dd5..2cc7463626d39 100644
--- a/libc/config/freebsd/x86_64/entrypoints.txt
+++ b/libc/config/freebsd/x86_64/entrypoints.txt
@@ -195,6 +195,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_magl
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fminimum
     libc.src.math.fminimumf
@@ -210,6 +211,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_magl
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fmul
     libc.src.math.fmod
@@ -518,8 +520,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
     libc.src.math.fdimf128
     libc.src.math.fdivf128
     libc.src.math.ffmaf128
-    libc.src.math.fmaximum_mag_numf128
-    libc.src.math.fminimum_mag_numf128
     libc.src.math.fmodf128
     libc.src.math.fmulf128
     libc.src.math.frexpf128
diff --git a/libc/config/gpu/amdgpu/entrypoints.txt b/libc/config/gpu/amdgpu/entrypoints.txt
index 8c3b3e5178b31..bbb113009216d 100644
--- a/libc/config/gpu/amdgpu/entrypoints.txt
+++ b/libc/config/gpu/amdgpu/entrypoints.txt
@@ -380,6 +380,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_magl
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fmaximum_num
     libc.src.math.fmaximum_numf
@@ -399,6 +400,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_magl
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fminimum_num
     libc.src.math.fminimum_numf
diff --git a/libc/config/gpu/nvptx/entrypoints.txt b/libc/config/gpu/nvptx/entrypoints.txt
index dd71679f3ba37..6cd2b61b9b70a 100644
--- a/libc/config/gpu/nvptx/entrypoints.txt
+++ b/libc/config/gpu/nvptx/entrypoints.txt
@@ -376,6 +376,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_magl
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fmaximum_num
     libc.src.math.fmaximum_numf
@@ -395,6 +396,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_magl
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fminimum_num
     libc.src.math.fminimum_numf
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt
index 53c34096107e2..7a169dcedb766 100644
--- a/libc/config/linux/aarch64/entrypoints.txt
+++ b/libc/config/linux/aarch64/entrypoints.txt
@@ -586,6 +586,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_mag
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fmaximum_magf
     libc.src.math.fmaximum_magf128
@@ -605,6 +606,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_mag
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fminimum_magf
     libc.src.math.fminimum_magf128
@@ -912,8 +914,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
     libc.src.math.fdimf128
     libc.src.math.fdivf128
     libc.src.math.ffmaf128
-    libc.src.math.fmaximum_mag_numf128
-    libc.src.math.fminimum_mag_numf128
     libc.src.math.fmodf128
     libc.src.math.fmulf128
     libc.src.math.frexpf128
diff --git a/libc/config/linux/arm/entrypoints.txt b/libc/config/linux/arm/entrypoints.txt
index dcee44297c8bf..9be34aec16856 100644
--- a/libc/config/linux/arm/entrypoints.txt
+++ b/libc/config/linux/arm/entrypoints.txt
@@ -414,6 +414,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_mag
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fmaximum_magf
     libc.src.math.fmaximum_magf128
@@ -433,6 +434,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_mag
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fminimum_magf
     libc.src.math.fminimum_magf128
diff --git a/libc/config/linux/riscv/entrypoints.txt b/libc/config/linux/riscv/entrypoints.txt
index 1387ba6a17fe6..92f7eaf70c8d4 100644
--- a/libc/config/linux/riscv/entrypoints.txt
+++ b/libc/config/linux/riscv/entrypoints.txt
@@ -654,6 +654,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_mag
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fmaximum_magf
     libc.src.math.fmaximum_magf128
@@ -673,6 +674,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_mag
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fminimum_magf
     libc.src.math.fminimum_magf128
@@ -997,8 +999,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
     libc.src.math.fdimf128
     libc.src.math.fdivf128
     libc.src.math.ffmaf128
-    libc.src.math.fmaximum_mag_numf128
-    libc.src.math.fminimum_mag_numf128
     libc.src.math.fmodf128
     libc.src.math.fmulf128
     libc.src.math.frexpf128
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index 289f04f3edf62..4e25a228ebce6 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -664,6 +664,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_mag
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fmaximum_magf
     libc.src.math.fmaximum_magf128
@@ -683,6 +684,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_mag
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fminimum_magf
     libc.src.math.fminimum_magf128
@@ -1007,8 +1009,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
     libc.src.math.fdimf128
     libc.src.math.fdivf128
     libc.src.math.ffmaf128
-    libc.src.math.fmaximum_mag_numf128
-    libc.src.math.fminimum_mag_numf128
     libc.src.math.fmodf128
     libc.src.math.fmulf128
     libc.src.math.frexpf128
diff --git a/libc/config/windows/entrypoints.txt b/libc/config/windows/entrypoints.txt
index ed2ed0d375b11..5dc5dc8ed27a9 100644
--- a/libc/config/windows/entrypoints.txt
+++ b/libc/config/windows/entrypoints.txt
@@ -228,6 +228,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fmaximum_magl
     libc.src.math.fmaximum_mag_num
     libc.src.math.fmaximum_mag_numf
+    libc.src.math.fmaximum_mag_numf128
     libc.src.math.fmaximum_mag_numl
     libc.src.math.fminimum
     libc.src.math.fminimumf
@@ -243,6 +244,7 @@ set(TARGET_LIBM_ENTRYPOINTS
     libc.src.math.fminimum_magl
     libc.src.math.fminimum_mag_num
     libc.src.math.fminimum_mag_numf
+    libc.src.math.fminimum_mag_numf128
     libc.src.math.fminimum_mag_numl
     libc.src.math.fmul
     libc.src.math.fmod
diff --git a/libc/shared/math/fmaximum_mag_numf128.h b/libc/shared/math/fmaximum_mag_numf128.h
index de2d21e4244a5..d12909fbc476f 100644
--- a/libc/shared/math/fmaximum_mag_numf128.h
+++ b/libc/shared/math/fmaximum_mag_numf128.h
@@ -9,10 +9,6 @@
 #ifndef LLVM_LIBC_SHARED_MATH_FMAXIMUM_MAG_NUMF128_H
 #define LLVM_LIBC_SHARED_MATH_FMAXIMUM_MAG_NUMF128_H
 
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #include "shared/libc_common.h"
 #include "src/__support/math/fmaximum_mag_numf128.h"
 
@@ -24,6 +20,4 @@ using math::fmaximum_mag_numf128;
 } // namespace shared
 } // namespace LIBC_NAMESPACE_DECL
 
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #endif // LLVM_LIBC_SHARED_MATH_FMAXIMUM_MAG_NUMF128_H
diff --git a/libc/shared/math/fminimum_mag_numf128.h b/libc/shared/math/fminimum_mag_numf128.h
index 416a9c610bfe2..75e04f510f76d 100644
--- a/libc/shared/math/fminimum_mag_numf128.h
+++ b/libc/shared/math/fminimum_mag_numf128.h
@@ -9,10 +9,6 @@
 #ifndef LLVM_LIBC_SHARED_MATH_FMINIMUM_MAG_NUMF128_H
 #define LLVM_LIBC_SHARED_MATH_FMINIMUM_MAG_NUMF128_H
 
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #include "shared/libc_common.h"
 #include "src/__support/math/fminimum_mag_numf128.h"
 
@@ -24,6 +20,4 @@ using math::fminimum_mag_numf128;
 } // namespace shared
 } // namespace LIBC_NAMESPACE_DECL
 
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #endif // LLVM_LIBC_SHARED_MATH_FMINIMUM_MAG_NUMF128_H
diff --git a/libc/src/__support/math/CMakeLists.txt b/libc/src/__support/math/CMakeLists.txt
index 9fd437242ffef..618f29510bb7c 100644
--- a/libc/src/__support/math/CMakeLists.txt
+++ b/libc/src/__support/math/CMakeLists.txt
@@ -989,7 +989,7 @@ add_header_library(
   HDRS
     fmaximum_mag_numf128.h
   DEPENDS
-    libc.include.llvm-libc-types.float128
+    libc.src.__support.FPUtil.float128
     libc.src.__support.FPUtil.basic_operations
     libc.src.__support.macros.config
 )
@@ -1295,7 +1295,7 @@ add_header_library(
   HDRS
     fminimum_mag_numf128.h
   DEPENDS
-    libc.include.llvm-libc-types.float128
+    libc.src.__support.FPUtil.float128
     libc.src.__support.FPUtil.basic_operations
     libc.src.__support.macros.config
 )
diff --git a/libc/src/__support/math/fmaximum_mag_numf128.h b/libc/src/__support/math/fmaximum_mag_numf128.h
index 79e8842f81eca..d0aaeae0327e4 100644
--- a/libc/src/__support/math/fmaximum_mag_numf128.h
+++ b/libc/src/__support/math/fmaximum_mag_numf128.h
@@ -9,23 +9,20 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_MATH_FMAXIMUM_MAG_NUMF128_H
 #define LLVM_LIBC_SRC___SUPPORT_MATH_FMAXIMUM_MAG_NUMF128_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 float128 fmaximum_mag_numf128(float128 x, float128 y) {
+using LIBC_NAMESPACE::fputil::Float128;
+
+LIBC_INLINE constexpr Float128 fmaximum_mag_numf128(Float128 x, Float128 y) {
   return fputil::fmaximum_mag_num(x, y);
 }
 
 } // namespace math
 } // namespace LIBC_NAMESPACE_DECL
 
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #endif // LLVM_LIBC_SRC___SUPPORT_MATH_FMAXIMUM_MAG_NUMF128_H
diff --git a/libc/src/__support/math/fminimum_mag_numf128.h b/libc/src/__support/math/fminimum_mag_numf128.h
index d8b23a38247f8..b02f388f4a8fd 100644
--- a/libc/src/__support/math/fminimum_mag_numf128.h
+++ b/libc/src/__support/math/fminimum_mag_numf128.h
@@ -9,23 +9,20 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_MATH_FMINIMUM_MAG_NUMF128_H
 #define LLVM_LIBC_SRC___SUPPORT_MATH_FMINIMUM_MAG_NUMF128_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 float128 fminimum_mag_numf128(float128 x, float128 y) {
+using LIBC_NAMESPACE::fputil::Float128;
+
+LIBC_INLINE constexpr Float128 fminimum_mag_numf128(Float128 x, Float128 y) {
   return fputil::fminimum_mag_num(x, y);
 }
 
 } // namespace math
 } // namespace LIBC_NAMESPACE_DECL
 
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
 #endif // LLVM_LIBC_SRC___SUPPORT_MATH_FMINIMUM_MAG_NUMF128_H
diff --git a/libc/src/math/fmaximum_mag_numf128.h b/libc/src/math/fmaximum_mag_numf128.h
index a263f98aabcf1..4525d7ba7b128 100644
--- a/libc/src/math/fmaximum_mag_numf128.h
+++ b/libc/src/math/fmaximum_mag_numf128.h
@@ -10,11 +10,16 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF128_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF128_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
+
 float128 fmaximum_mag_numf128(float128 x, float128 y);
 
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/fminimum_mag_numf128.h b/libc/src/math/fminimum_mag_numf128.h
index e3e69a770c667..73d91fdd40bb6 100644
--- a/libc/src/math/fminimum_mag_numf128.h
+++ b/libc/src/math/fminimum_mag_numf128.h
@@ -10,11 +10,16 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF128_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF128_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
+
 float128 fminimum_mag_numf128(float128 x, float128 y);
 
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/CMakeLists.txt b/libc/src/math/generic/CMakeLists.txt
index 281a739e98b86..2dcf252b28e99 100644
--- a/libc/src/math/generic/CMakeLists.txt
+++ b/libc/src/math/generic/CMakeLists.txt
@@ -2349,6 +2349,7 @@ add_entrypoint_object(
   HDRS
     ../fmaximum_mag_numf128.h
   DEPENDS
+    libc.src.__support.CPP.bit
     libc.src.__support.math.fmaximum_mag_numf128
 )
 
@@ -2592,6 +2593,7 @@ add_entrypoint_object(
   HDRS
     ../fminimum_mag_numf128.h
   DEPENDS
+    libc.src.__support.CPP.bit
     libc.src.__support.math.fminimum_mag_numf128
 )
 
diff --git a/libc/src/math/generic/fmaximum_mag_numf128.cpp b/libc/src/math/generic/fmaximum_mag_numf128.cpp
index e3fac9dbbadf4..d9a192c076a74 100644
--- a/libc/src/math/generic/fmaximum_mag_numf128.cpp
+++ b/libc/src/math/generic/fmaximum_mag_numf128.cpp
@@ -7,12 +7,16 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fmaximum_mag_numf128.h"
+#include "src/__support/CPP/bit.h"
 #include "src/__support/math/fmaximum_mag_numf128.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
+using LIBC_NAMESPACE::fputil::Float128;
+
 LLVM_LIBC_FUNCTION(float128, fmaximum_mag_numf128, (float128 x, float128 y)) {
-  return math::fmaximum_mag_numf128(x, y);
+  return cpp::bit_cast<float128>(math::fmaximum_mag_numf128(
+      cpp::bit_cast<Float128>(x), cpp::bit_cast<Float128>(y)));
 }
 
 } // namespace LIBC_NAM...
[truncated]

``````````

</details>


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


More information about the llvm-branch-commits mailing list