[libc-commits] [libc] [libc] Support basic 'complex.h' functionality on GPUs (PR #189999)
via libc-commits
libc-commits at lists.llvm.org
Wed Apr 1 10:02:04 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Joseph Huber (jhuber6)
<details>
<summary>Changes</summary>
Summary:
This PR adds the basic complex functions needed by some targets. This is
an attempt to provide the standard interface needed by
'https://github.com/llvm/llvm-project/pull/187831'
---
Full diff: https://github.com/llvm/llvm-project/pull/189999.diff
4 Files Affected:
- (modified) libc/config/gpu/amdgpu/entrypoints.txt (+14)
- (modified) libc/config/gpu/amdgpu/headers.txt (+1)
- (modified) libc/config/gpu/nvptx/entrypoints.txt (+14)
- (modified) libc/config/gpu/nvptx/headers.txt (+1)
``````````diff
diff --git a/libc/config/gpu/amdgpu/entrypoints.txt b/libc/config/gpu/amdgpu/entrypoints.txt
index a80bdeddf8319..40566029c8a42 100644
--- a/libc/config/gpu/amdgpu/entrypoints.txt
+++ b/libc/config/gpu/amdgpu/entrypoints.txt
@@ -279,6 +279,20 @@ set(TARGET_LIBC_ENTRYPOINTS
)
set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
# math.h entrypoints
libc.src.math.acos
libc.src.math.acosf
diff --git a/libc/config/gpu/amdgpu/headers.txt b/libc/config/gpu/amdgpu/headers.txt
index fa8ad7c11ba8b..107a019d8cf41 100644
--- a/libc/config/gpu/amdgpu/headers.txt
+++ b/libc/config/gpu/amdgpu/headers.txt
@@ -1,6 +1,7 @@
set(TARGET_PUBLIC_HEADERS
libc.include.assert
libc.include.ctype
+ libc.include.complex
libc.include.string
libc.include.strings
libc.include.signal
diff --git a/libc/config/gpu/nvptx/entrypoints.txt b/libc/config/gpu/nvptx/entrypoints.txt
index 5fba41d40c7e6..22f2bc849523e 100644
--- a/libc/config/gpu/nvptx/entrypoints.txt
+++ b/libc/config/gpu/nvptx/entrypoints.txt
@@ -279,6 +279,20 @@ set(TARGET_LIBC_ENTRYPOINTS
)
set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
# math.h entrypoints
libc.src.math.acos
libc.src.math.acosf
diff --git a/libc/config/gpu/nvptx/headers.txt b/libc/config/gpu/nvptx/headers.txt
index fa8ad7c11ba8b..107a019d8cf41 100644
--- a/libc/config/gpu/nvptx/headers.txt
+++ b/libc/config/gpu/nvptx/headers.txt
@@ -1,6 +1,7 @@
set(TARGET_PUBLIC_HEADERS
libc.include.assert
libc.include.ctype
+ libc.include.complex
libc.include.string
libc.include.strings
libc.include.signal
``````````
</details>
https://github.com/llvm/llvm-project/pull/189999
More information about the libc-commits
mailing list