[libc] Enable all f16 math functions on the GPU (#145813)

Summary:
This patch adds all the new f16 math functions to the GPU build. These
should all pass except exp2m1f16 on AMDGPU for some reason. I'll
investigate that later.
This commit is contained in:
Joseph Huber
2025-06-25 20:03:40 -05:00
committed by GitHub
parent 2f9eee849f
commit 46c8cc7e51
2 changed files with 36 additions and 0 deletions

View File

@@ -511,14 +511,25 @@ set(TARGET_LIBM_ENTRYPOINTS
if(LIBC_TYPES_HAS_FLOAT16)
list(APPEND TARGET_LIBM_ENTRYPOINTS
# math.h C23 _Float16 entrypoints
libc.src.math.acosf16
libc.src.math.acoshf16
libc.src.math.acospif16
libc.src.math.asinf16
libc.src.math.asinhf16
libc.src.math.atanf16
libc.src.math.atanhf16
libc.src.math.canonicalizef16
libc.src.math.ceilf16
libc.src.math.copysignf16
libc.src.math.cosf16
libc.src.math.coshf16
libc.src.math.cospif16
libc.src.math.exp10f16
libc.src.math.exp10m1f16
libc.src.math.exp2f16
# libc.src.math.exp2m1f16
libc.src.math.expf16
libc.src.math.expm1f16
libc.src.math.f16add
libc.src.math.f16addf
libc.src.math.f16addl
@@ -556,7 +567,10 @@ if(LIBC_TYPES_HAS_FLOAT16)
libc.src.math.fromfpf16
libc.src.math.fromfpxf16
libc.src.math.getpayloadf16
libc.src.math.hypotf16
libc.src.math.ilogbf16
libc.src.math.iscanonicalf16
libc.src.math.issignalingf16
libc.src.math.ldexpf16
libc.src.math.llogbf16
libc.src.math.llrintf16
@@ -583,9 +597,13 @@ if(LIBC_TYPES_HAS_FLOAT16)
libc.src.math.scalbnf16
libc.src.math.setpayloadf16
libc.src.math.setpayloadsigf16
libc.src.math.sinf16
libc.src.math.sinhf16
libc.src.math.sinpif16
libc.src.math.sqrtf16
libc.src.math.tanf16
libc.src.math.tanhf16
libc.src.math.tanpif16
libc.src.math.totalorderf16
libc.src.math.totalordermagf16
libc.src.math.truncf16

View File

@@ -513,14 +513,25 @@ set(TARGET_LIBM_ENTRYPOINTS
if(LIBC_TYPES_HAS_FLOAT16)
list(APPEND TARGET_LIBM_ENTRYPOINTS
# math.h C23 _Float16 entrypoints
libc.src.math.acosf16
libc.src.math.acoshf16
libc.src.math.acospif16
libc.src.math.asinf16
libc.src.math.asinhf16
libc.src.math.atanf16
libc.src.math.atanhf16
libc.src.math.canonicalizef16
libc.src.math.ceilf16
libc.src.math.copysignf16
libc.src.math.cosf16
libc.src.math.coshf16
libc.src.math.cospif16
libc.src.math.exp10f16
libc.src.math.exp10m1f16
libc.src.math.exp2f16
libc.src.math.exp2m1f16
libc.src.math.expf16
libc.src.math.expm1f16
libc.src.math.f16add
libc.src.math.f16addf
libc.src.math.f16addl
@@ -558,7 +569,10 @@ if(LIBC_TYPES_HAS_FLOAT16)
libc.src.math.fromfpf16
libc.src.math.fromfpxf16
libc.src.math.getpayloadf16
libc.src.math.hypotf16
libc.src.math.ilogbf16
libc.src.math.iscanonicalf16
libc.src.math.issignalingf16
libc.src.math.ldexpf16
libc.src.math.llogbf16
libc.src.math.llrintf16
@@ -585,9 +599,13 @@ if(LIBC_TYPES_HAS_FLOAT16)
libc.src.math.scalbnf16
libc.src.math.setpayloadf16
libc.src.math.setpayloadsigf16
libc.src.math.sinf16
libc.src.math.sinhf16
libc.src.math.sinpif16
libc.src.math.sqrtf16
libc.src.math.tanf16
libc.src.math.tanhf16
libc.src.math.tanpif16
libc.src.math.totalorderf16
libc.src.math.totalordermagf16
libc.src.math.truncf16