[libc-commits] [libc] [llvm] [libc] Modify NaN/payload functions for emulated float128 type (#221574) (PR #221946)
via libc-commits
libc-commits at lists.llvm.org
Tue Sep 8 03:04:47 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libc
Author: Popie (Popie52)
<details>
<summary>Changes</summary>
Updated `nanf128`, `getpayloadf128`, `setpayloadf128`, and `setpayloadsigf128` for emulated `float128`, including shared headers, entrypoints, CMake/Bazel dependencies, wrappers, and tests.
### Tests
**CMake**
```
ninja -C build libc.test.shared.shared_math_test \
libc.test.src.math.smoke.nanf128_test \
libc.test.src.math.smoke.getpayloadf128_test \
libc.test.src.math.smoke.setpayloadf128_test \
libc.test.src.math.smoke.setpayloadsigf128_test
```
Results:
<img width="944" height="937" alt="Screenshot From 2026-09-08 15-29-11" src="https://github.com/user-attachments/assets/5e974ef1-ba30-4492-b828-f63bdda8b1bb" />
**Bazel**
```
bazelisk build \
@<!-- -->llvm-project//libc:getpayloadf128 \
@<!-- -->llvm-project//libc:nanf128 \
@<!-- -->llvm-project//libc:setpayloadf128 \
@<!-- -->llvm-project//libc:setpayloadsigf128 \
--config=generic_gcc
bazelisk test \
@<!-- -->llvm-project//libc/test/src/math/smoke:getpayloadf128_test \
@<!-- -->llvm-project//libc/test/src/math/smoke:setpayloadf128_test \
@<!-- -->llvm-project//libc/test/src/math/smoke:setpayloadsigf128_test \
--config=generic_gcc
```
Results:
<img width="841" height="190" alt="image" src="https://github.com/user-attachments/assets/14a31157-89ca-4d91-85a5-e6906c2b2403" />
---
Patch is 41.09 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/221946.diff
34 Files Affected:
- (modified) libc/config/baremetal/aarch64/entrypoints.txt (+4-4)
- (modified) libc/config/baremetal/arm/entrypoints.txt (+4-4)
- (modified) libc/config/baremetal/riscv/entrypoints.txt (+4-4)
- (modified) libc/config/darwin/aarch64/entrypoints.txt (+4-4)
- (modified) libc/config/freebsd/x86_64/entrypoints.txt (+4-4)
- (modified) libc/config/linux/aarch64/entrypoints.txt (+4-4)
- (modified) libc/config/linux/riscv/entrypoints.txt (+4-4)
- (modified) libc/config/linux/x86_64/entrypoints.txt (+4-4)
- (modified) libc/shared/math/getpayloadf128.h (-6)
- (modified) libc/shared/math/nanf128.h (-6)
- (modified) libc/shared/math/setpayloadf128.h (-6)
- (modified) libc/shared/math/setpayloadsigf128.h (-6)
- (modified) libc/src/__support/math/CMakeLists.txt (+4-4)
- (modified) libc/src/__support/math/getpayloadf128.h (+4-7)
- (modified) libc/src/__support/math/nanf128.h (+5-8)
- (modified) libc/src/__support/math/setpayloadf128.h (+4-7)
- (modified) libc/src/__support/math/setpayloadsigf128.h (+4-7)
- (modified) libc/src/math/generic/CMakeLists.txt (+3)
- (modified) libc/src/math/generic/getpayloadf128.cpp (+4-1)
- (modified) libc/src/math/generic/setpayloadf128.cpp (+4-1)
- (modified) libc/src/math/generic/setpayloadsigf128.cpp (+4-1)
- (modified) libc/src/math/getpayloadf128.h (+5)
- (modified) libc/src/math/nanf128.h (+5)
- (modified) libc/src/math/setpayloadf128.h (+5)
- (modified) libc/src/math/setpayloadsigf128.h (+5)
- (modified) libc/test/shared/shared_math_constexpr_test.cpp (+14-14)
- (modified) libc/test/shared/shared_math_test.cpp (+16-15)
- (modified) libc/test/src/math/smoke/CMakeLists.txt (+4)
- (modified) libc/test/src/math/smoke/getpayloadf128_test.cpp (+5)
- (modified) libc/test/src/math/smoke/nanf128_test.cpp (+5)
- (modified) libc/test/src/math/smoke/setpayloadf128_test.cpp (+5)
- (modified) libc/test/src/math/smoke/setpayloadsigf128_test.cpp (+5)
- (modified) utils/bazel/llvm-project-overlay/libc/BUILD.bazel (+11-4)
- (modified) utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel (+9)
``````````diff
diff --git a/libc/config/baremetal/aarch64/entrypoints.txt b/libc/config/baremetal/aarch64/entrypoints.txt
index 757e4729699d1..dcb044268ec74 100644
--- a/libc/config/baremetal/aarch64/entrypoints.txt
+++ b/libc/config/baremetal/aarch64/entrypoints.txt
@@ -481,6 +481,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.fsubl
libc.src.math.getpayload
libc.src.math.getpayloadf
+ libc.src.math.getpayloadf128
libc.src.math.getpayloadl
libc.src.math.hypot
libc.src.math.hypotf
@@ -538,6 +539,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.modfl
libc.src.math.nan
libc.src.math.nanf
+ libc.src.math.nanf128
libc.src.math.nanl
libc.src.math.nearbyint
libc.src.math.nearbyintf
@@ -583,9 +585,11 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.scalbnl
libc.src.math.setpayload
libc.src.math.setpayloadf
+ libc.src.math.setpayloadf128
libc.src.math.setpayloadl
libc.src.math.setpayloadsig
libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigf128
libc.src.math.setpayloadsigl
libc.src.math.sin
libc.src.math.sincos
@@ -777,13 +781,11 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fromfpxf128
libc.src.math.fsqrtf128
libc.src.math.fsubf128
- libc.src.math.getpayloadf128
libc.src.math.ilogbf128
libc.src.math.ldexpf128
libc.src.math.llogbf128
libc.src.math.logbf128
libc.src.math.modff128
- libc.src.math.nanf128
libc.src.math.nextafterf128
libc.src.math.nextdownf128
libc.src.math.nextupf128
@@ -791,8 +793,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.remquof128
libc.src.math.scalblnf128
libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
libc.src.math.totalorderf128
libc.src.math.totalordermagf128
libc.src.math.ufromfpf128
diff --git a/libc/config/baremetal/arm/entrypoints.txt b/libc/config/baremetal/arm/entrypoints.txt
index 13d4f777650f7..0084b209e2a97 100644
--- a/libc/config/baremetal/arm/entrypoints.txt
+++ b/libc/config/baremetal/arm/entrypoints.txt
@@ -493,6 +493,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.fsubl
libc.src.math.getpayload
libc.src.math.getpayloadf
+ libc.src.math.getpayloadf128
libc.src.math.getpayloadl
libc.src.math.hypot
libc.src.math.hypotf
@@ -550,6 +551,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.modfl
libc.src.math.nan
libc.src.math.nanf
+ libc.src.math.nanf128
libc.src.math.nanl
libc.src.math.nearbyint
libc.src.math.nearbyintf
@@ -595,9 +597,11 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.scalbnl
libc.src.math.setpayload
libc.src.math.setpayloadf
+ libc.src.math.setpayloadf128
libc.src.math.setpayloadl
libc.src.math.setpayloadsig
libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigf128
libc.src.math.setpayloadsigl
libc.src.math.sin
libc.src.math.sincos
@@ -788,13 +792,11 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fromfpxf128
libc.src.math.fsqrtf128
libc.src.math.fsubf128
- libc.src.math.getpayloadf128
libc.src.math.ilogbf128
libc.src.math.ldexpf128
libc.src.math.llogbf128
libc.src.math.logbf128
libc.src.math.modff128
- libc.src.math.nanf128
libc.src.math.nextafterf128
libc.src.math.nextdownf128
libc.src.math.nextupf128
@@ -802,8 +804,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.remquof128
libc.src.math.scalblnf128
libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
libc.src.math.totalorderf128
libc.src.math.totalordermagf128
libc.src.math.ufromfpf128
diff --git a/libc/config/baremetal/riscv/entrypoints.txt b/libc/config/baremetal/riscv/entrypoints.txt
index 88613b39086a5..00c18a5707e71 100644
--- a/libc/config/baremetal/riscv/entrypoints.txt
+++ b/libc/config/baremetal/riscv/entrypoints.txt
@@ -489,6 +489,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.fsubl
libc.src.math.getpayload
libc.src.math.getpayloadf
+ libc.src.math.getpayloadf128
libc.src.math.getpayloadl
libc.src.math.hypot
libc.src.math.hypotf
@@ -546,6 +547,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.modfl
libc.src.math.nan
libc.src.math.nanf
+ libc.src.math.nanf128
libc.src.math.nanl
libc.src.math.nearbyint
libc.src.math.nearbyintf
@@ -591,9 +593,11 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.scalbnl
libc.src.math.setpayload
libc.src.math.setpayloadf
+ libc.src.math.setpayloadf128
libc.src.math.setpayloadl
libc.src.math.setpayloadsig
libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigf128
libc.src.math.setpayloadsigl
libc.src.math.sin
libc.src.math.sincos
@@ -785,13 +789,11 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fromfpxf128
libc.src.math.fsqrtf128
libc.src.math.fsubf128
- libc.src.math.getpayloadf128
libc.src.math.ilogbf128
libc.src.math.ldexpf128
libc.src.math.llogbf128
libc.src.math.logbf128
libc.src.math.modff128
- libc.src.math.nanf128
libc.src.math.nextafterf128
libc.src.math.nextdownf128
libc.src.math.nextupf128
@@ -799,8 +801,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.remquof128
libc.src.math.scalblnf128
libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
libc.src.math.totalorderf128
libc.src.math.totalordermagf128
libc.src.math.ufromfpf128
diff --git a/libc/config/darwin/aarch64/entrypoints.txt b/libc/config/darwin/aarch64/entrypoints.txt
index c6c8357207959..962e527a8e9a9 100644
--- a/libc/config/darwin/aarch64/entrypoints.txt
+++ b/libc/config/darwin/aarch64/entrypoints.txt
@@ -300,6 +300,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.fsubl
libc.src.math.getpayload
libc.src.math.getpayloadf
+ libc.src.math.getpayloadf128
libc.src.math.getpayloadl
libc.src.math.hypot
libc.src.math.hypotf
@@ -357,6 +358,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.modfl
libc.src.math.nan
libc.src.math.nanf
+ libc.src.math.nanf128
libc.src.math.nanl
libc.src.math.nearbyint
libc.src.math.nearbyintf
@@ -402,9 +404,11 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.scalbnl
libc.src.math.setpayload
libc.src.math.setpayloadf
+ libc.src.math.setpayloadf128
libc.src.math.setpayloadl
libc.src.math.setpayloadsig
libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigf128
libc.src.math.setpayloadsigl
libc.src.math.sin
libc.src.math.sincos
@@ -597,13 +601,11 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fromfpxf128
libc.src.math.fsqrtf128
libc.src.math.fsubf128
- libc.src.math.getpayloadf128
libc.src.math.ilogbf128
libc.src.math.ldexpf128
libc.src.math.llogbf128
libc.src.math.logbf128
libc.src.math.modff128
- libc.src.math.nanf128
libc.src.math.nextafterf128
libc.src.math.nextdownf128
libc.src.math.nextupf128
@@ -611,8 +613,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.remquof128
libc.src.math.scalblnf128
libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
libc.src.math.totalorderf128
libc.src.math.totalordermagf128
libc.src.math.ufromfpf128
diff --git a/libc/config/freebsd/x86_64/entrypoints.txt b/libc/config/freebsd/x86_64/entrypoints.txt
index 8f6c178301c2f..42d52b3ebc6c2 100644
--- a/libc/config/freebsd/x86_64/entrypoints.txt
+++ b/libc/config/freebsd/x86_64/entrypoints.txt
@@ -267,6 +267,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.modfl
libc.src.math.nan
libc.src.math.nanf
+ libc.src.math.nanf128
libc.src.math.nanl
libc.src.math.nearbyint
libc.src.math.nearbyintf
@@ -347,6 +348,7 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
libc.src.math.fsqrtl
libc.src.math.getpayload
libc.src.math.getpayloadf
+ libc.src.math.getpayloadf128
libc.src.math.getpayloadl
libc.src.math.iscanonical
libc.src.math.iscanonicalf
@@ -371,9 +373,11 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
libc.src.math.roundevenl
libc.src.math.setpayload
libc.src.math.setpayloadf
+ libc.src.math.setpayloadf128
libc.src.math.setpayloadl
libc.src.math.setpayloadsig
libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigf128
libc.src.math.setpayloadsigl
libc.src.math.sincos
libc.src.math.sinpif
@@ -537,13 +541,11 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fromfpxf128
libc.src.math.fsqrtf128
libc.src.math.fsubf128
- libc.src.math.getpayloadf128
libc.src.math.ilogbf128
libc.src.math.ldexpf128
libc.src.math.llogbf128
libc.src.math.logbf128
libc.src.math.modff128
- libc.src.math.nanf128
libc.src.math.nextafterf128
libc.src.math.nextdownf128
libc.src.math.nextupf128
@@ -551,8 +553,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.remquof128
libc.src.math.scalblnf128
libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
libc.src.math.totalorderf128
libc.src.math.totalordermagf128
libc.src.math.ufromfpf128
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt
index 03053ac04f743..4f7ce996dceb6 100644
--- a/libc/config/linux/aarch64/entrypoints.txt
+++ b/libc/config/linux/aarch64/entrypoints.txt
@@ -666,6 +666,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.fsubl
libc.src.math.getpayload
libc.src.math.getpayloadf
+ libc.src.math.getpayloadf128
libc.src.math.getpayloadl
libc.src.math.hypot
libc.src.math.hypotf
@@ -723,6 +724,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.modfl
libc.src.math.nan
libc.src.math.nanf
+ libc.src.math.nanf128
libc.src.math.nanl
libc.src.math.nearbyint
libc.src.math.nearbyintf
@@ -768,9 +770,11 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.scalbnl
libc.src.math.setpayload
libc.src.math.setpayloadf
+ libc.src.math.setpayloadf128
libc.src.math.setpayloadl
libc.src.math.setpayloadsig
libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigf128
libc.src.math.setpayloadsigl
libc.src.math.sin
libc.src.math.sincos
@@ -956,13 +960,11 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fromfpxf128
libc.src.math.fsqrtf128
libc.src.math.fsubf128
- libc.src.math.getpayloadf128
libc.src.math.ilogbf128
libc.src.math.ldexpf128
libc.src.math.llogbf128
libc.src.math.logbf128
libc.src.math.modff128
- libc.src.math.nanf128
libc.src.math.nextafterf128
libc.src.math.nextdownf128
libc.src.math.nextupf128
@@ -970,8 +972,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.remquof128
libc.src.math.scalblnf128
libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
libc.src.math.totalorderf128
libc.src.math.totalordermagf128
libc.src.math.ufromfpf128
diff --git a/libc/config/linux/riscv/entrypoints.txt b/libc/config/linux/riscv/entrypoints.txt
index 5db369a9d871d..c97f8c442dc1d 100644
--- a/libc/config/linux/riscv/entrypoints.txt
+++ b/libc/config/linux/riscv/entrypoints.txt
@@ -735,6 +735,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.fsubl
libc.src.math.getpayload
libc.src.math.getpayloadf
+ libc.src.math.getpayloadf128
libc.src.math.getpayloadl
libc.src.math.hypot
libc.src.math.hypotf
@@ -792,6 +793,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.modfl
libc.src.math.nan
libc.src.math.nanf
+ libc.src.math.nanf128
libc.src.math.nanl
libc.src.math.nearbyint
libc.src.math.nearbyintf
@@ -837,9 +839,11 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.scalbnl
libc.src.math.setpayload
libc.src.math.setpayloadf
+ libc.src.math.setpayloadf128
libc.src.math.setpayloadl
libc.src.math.setpayloadsig
libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigf128
libc.src.math.setpayloadsigl
libc.src.math.sin
libc.src.math.sincos
@@ -1042,13 +1046,11 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fromfpxf128
libc.src.math.fsqrtf128
libc.src.math.fsubf128
- libc.src.math.getpayloadf128
libc.src.math.ilogbf128
libc.src.math.ldexpf128
libc.src.math.llogbf128
libc.src.math.logbf128
libc.src.math.modff128
- libc.src.math.nanf128
libc.src.math.nextafterf128
libc.src.math.nextdownf128
libc.src.math.nextupf128
@@ -1056,8 +1058,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.remquof128
libc.src.math.scalblnf128
libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
libc.src.math.totalorderf128
libc.src.math.totalordermagf128
libc.src.math.ufromfpf128
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index 3cbbb7b3e9f79..2314c84259881 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -744,6 +744,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.fsubl
libc.src.math.getpayload
libc.src.math.getpayloadf
+ libc.src.math.getpayloadf128
libc.src.math.getpayloadl
libc.src.math.hypot
libc.src.math.hypotf
@@ -801,6 +802,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.modfl
libc.src.math.nan
libc.src.math.nanf
+ libc.src.math.nanf128
libc.src.math.nanl
libc.src.math.nearbyint
libc.src.math.nearbyintf
@@ -846,9 +848,11 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.scalbnl
libc.src.math.setpayload
libc.src.math.setpayloadf
+ libc.src.math.setpayloadf128
libc.src.math.setpayloadl
libc.src.math.setpayloadsig
libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigf128
libc.src.math.setpayloadsigl
libc.src.math.sin
libc.src.math.sincos
@@ -1051,13 +1055,11 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fromfpxf128
libc.src.math.fsqrtf128
libc.src.math.fsubf128
- libc.src.math.getpayloadf128
libc.src.math.ilogbf128
libc.src.math.ldexpf128
libc.src.math.llogbf128
libc.src.math.logbf128
libc.src.math.modff128
- libc.src.math.nanf128
libc.src.math.nextafterf128
libc.src.math.nextdownf128
libc.src.math.nextupf128
@@ -1065,8 +1067,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.remquof128
libc.src.math.scalblnf128
libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
libc.src.math.totalorderf128
libc.src.math.totalordermagf128
libc.src.math.ufromfpf128
diff --git a/libc/shared/math/getpayloadf128.h b/libc/shared/math/getpayloadf128.h
index 1a3845e631a8b..199c9e5df084d 100644
--- a/libc/shared/math/getpayloadf128.h
+++ b/libc/shared/math/getpayloadf128.h
@@ -9,10 +9,6 @@
#ifndef LLVM_LIBC_SHARED_MATH_GETPAYLOADF128_H
#define LLVM_LIBC_SHARED_MATH_GETPAYLOADF128_H
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#include "shared/libc_common.h"
#include "src/__support/math/getpayloadf128.h"
@@ -24,6 +20,4 @@ using math::getpayloadf128;
} // namespace shared
} // namespace LIBC_NAMESPACE_DECL
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#endif // LLVM_LIBC_SHARED_MATH_GETPAYLOADF128_H
diff --git a/libc/shared/math/nanf128.h b/libc/shared/math/nanf128.h
index 313b6ed6234c5..f1dd96387680e 100644
--- a/libc/shared/math/nanf128.h
+++ b/libc/shared/math/nanf128.h
@@ -9,10 +9,6 @@
#ifndef LLVM_LIBC_SHARED_MATH_NANF128_H
#define LLVM_LIBC_SHARED_MATH_NANF128_H
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#include "shared/libc_common.h"
#include "src/__support/math/nanf128.h"
@@ -24,6 +20,4 @@ using math::nanf128;
} // namespace shared
} // namespace LIBC_NAMESPACE_DECL
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#endif // LLVM_LIBC_SHARED_MATH_NANF128_H
diff --git a/libc/shared/math/setpayloadf128.h b/libc/shared/math/setpayloadf128.h
index a1f889e89ed39..7efdc34dd1577 100644
--- a/libc/shared/math/setpayloadf128.h
+++ b/libc/shared/math/setpayloadf128.h
@@ -9,10 +9,6 @@
#ifndef LLVM_LIBC_SHARED_MATH_SETPAYLOADF128_H
#define LLVM_LIBC_SHARED_MATH_SETPAYLOADF128_H
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#include "shared/libc_common.h"
#include "src/__support/math/setpayloadf128.h"
@@ -24,6 +20,4 @@ using math::setpayloadf128;
} // namespace shared
} // namespace LIBC_NAMESPACE_DECL
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#endif // LLVM_LIBC_SHARED_MATH_SETPAYLOADF128_H
diff --git a/libc/shared/math/setpayloadsigf128.h b/libc/shared/math/setpayloadsigf128.h
index 3169b610ccb4d..a10e07124dad7 100644
--- a/libc/shared/math/setpayloadsigf128.h
+++ b/libc/shared/math/setpayloadsigf128.h
@@ -9,10 +9,6 @@
#ifndef LLVM_LIBC_SHARED_MATH_SETPAYLOADSIGF128_H
#define LLVM_LIBC_SHARED_MATH_SETPAYLOADSIGF128_H
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#include "shared/libc_common.h"
#include "src/__support/math/setpayloadsigf128.h"
@@ -24,6 +20,4 @@ using math::setpayloadsigf128;
} // namespace shared
} // namespace LIBC_NAMESPACE_DECL
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#endif // LLVM_LIBC_SHARED_MATH_SETPAYLOADSIGF128_H
diff --git a/libc/src/__support/math/CMakeLists.txt b/libc/src/__support/math/CMakeLists.txt
index cf9bc11fce824..3aaf49c05f3cc 100644
--- a/libc/src/__support/math/CMakeLists.txt
+++ b/libc/src/__support/math/CMakeLists.txt
@@ -2181,7 +2181,7 @@ add_header_library(
HDRS
nanf128.h
DEPENDS
- libc.include.llvm-libc-types.float128
+ libc.src.__support.FPUtil.float128
libc.src.__support.macros.config
libc.src.__support.str_to_float
libc.src.__support.libc_errno
@@ -3852,7 +3852,7 @@ add_header_library(
HDRS
getpayloadf128.h
DEPENDS
- libc.include.llvm-libc-types.float128
+ libc.src.__support.FPUtil.float128
libc.src.__support.FPUtil.basic_operations
libc.src.__support.macros.config
)
@@ -4771,7 +4771,7 @@ add_header_library(
HDRS
setpayloadf128.h
DEPENDS
- libc.include.llvm-libc-types.float128
+ libc.src.__support.FPUtil.float128
libc.src.__support.FPUtil.basic_operations
libc.src.__support.macros.config
)
@@ -4828,7 +4828,7 @@ add_header_library(
HDRS
setpayloadsigf128.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/getpayloadf128.h b/libc/src/__support/math/getpayloadf128.h
index aed53ee4adbce..98d4d529b0f31 100644
--- a/libc/src/__support/math/getpayloadf128.h
+++ b/libc/src/__support/math/getpayloadf128.h
@@ -9,24 +9,21 @@
#ifndef LLVM_LIBC_SRC___SUPPORT_MATH_GETPAYLOADF128_H
#define LLVM_LIBC_SRC___SUPPORT_MATH_GETPAYLOADF128_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 getpayloadf128(const float128 *x) {
+using LIBC_NAMESPACE::fputil::Float128;
+
+LIBC_INLINE constexpr Float128 getpayloadf128(const Float128 *x) {
return fputil::getpayload(*x);
}
} // namespace math
} // namespace LIBC_NAMESPACE_DECL
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#endif // LLVM_LIBC_SRC___SUPPORT_MATH_GETPAYLOADF128_H
diff --git a/libc/src/__support/math/nanf128.h b/libc/src/__support/math/nanf128.h
index 5cc1010939d3c..de445eeab900b 100644
--- a/libc/src/__support/math/nanf128.h
+++ b/libc/src/__support/math/nanf128.h
@@ -9,19 +9,18 @@
#ifndef LLVM_LIBC_SRC___SUPPORT_MATH_NANF128_H
#define LLVM_LIBC_SRC___SUPPORT_MATH_NANF128_H
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#include "src/__support/li...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/221946
More information about the libc-commits
mailing list