From 15a192cde5b89b6487cb95a7eeef7fa3b127f867 Mon Sep 17 00:00:00 2001 From: Leandro Lacerda Date: Fri, 22 Aug 2025 08:52:13 -0300 Subject: [PATCH] [libc] Enable double math functions on the GPU (#154857) This patch adds the `acos` math function to the NVPTX build. It also adds the `sincos` math function to the `math.h` header. --- libc/config/gpu/nvptx/entrypoints.txt | 1 + libc/include/math.yaml | 24 ++++++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/libc/config/gpu/nvptx/entrypoints.txt b/libc/config/gpu/nvptx/entrypoints.txt index c9688284df16..c47b14d3e426 100644 --- a/libc/config/gpu/nvptx/entrypoints.txt +++ b/libc/config/gpu/nvptx/entrypoints.txt @@ -280,6 +280,7 @@ set(TARGET_LIBC_ENTRYPOINTS set(TARGET_LIBM_ENTRYPOINTS # math.h entrypoints + libc.src.math.acos libc.src.math.acosf libc.src.math.acoshf libc.src.math.asin diff --git a/libc/include/math.yaml b/libc/include/math.yaml index 4e398676bf91..60e6265eece7 100644 --- a/libc/include/math.yaml +++ b/libc/include/math.yaml @@ -2432,14 +2432,6 @@ functions: return_type: double arguments: - type: double - - name: sincosf - standards: - - gnu - return_type: void - arguments: - - type: float - - type: float * - - type: float * - name: sinf standards: - stdc @@ -2453,6 +2445,22 @@ functions: arguments: - type: _Float16 guard: LIBC_TYPES_HAS_FLOAT16 + - name: sincos + standards: + - gnu + return_type: void + arguments: + - type: double + - type: double * + - type: double * + - name: sincosf + standards: + - gnu + return_type: void + arguments: + - type: float + - type: float * + - type: float * - name: sinhf standards: - stdc