[libc] [llvm] [libc][math][c++23] Add Fmabf16 math function (PR #182836)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 10 02:05:03 PDT 2026
https://github.com/Sukumarsawant updated https://github.com/llvm/llvm-project/pull/182836
>From 8cfad59c0f96fb371efa11fedaa6ee52d866e331 Mon Sep 17 00:00:00 2001
From: Sukumarsawant <sawantsukumar at gmail.com>
Date: Mon, 9 Feb 2026 13:15:49 +0530
Subject: [PATCH 1/4] Conflicts
---
libc/config/baremetal/aarch64/entrypoints.txt | 933 +++
libc/config/baremetal/arm/entrypoints.txt | 944 +++
libc/config/baremetal/riscv/entrypoints.txt | 942 +++
libc/config/darwin/aarch64/entrypoints.txt | 748 ++
libc/config/darwin/x86_64/entrypoints.txt | 621 +-
libc/config/gpu/amdgpu/entrypoints.txt | 694 ++
libc/config/gpu/nvptx/entrypoints.txt | 696 ++
libc/config/linux/aarch64/entrypoints.txt | 1185 +++
libc/config/linux/arm/entrypoints.txt | 538 ++
libc/config/linux/riscv/entrypoints.txt | 1332 ++++
libc/config/linux/x86_64/entrypoints.txt | 1403 ++++
libc/config/windows/entrypoints.txt | 385 +
libc/src/math/CMakeLists.txt | 646 ++
libc/src/math/ffmal.h | 40 +-
libc/src/math/fmabf16.h | 21 +
libc/src/math/generic/CMakeLists.txt | 14 +
libc/src/math/generic/fmabf16.cpp | 21 +
libc/test/src/math/CMakeLists.txt | 3482 +++++++++
libc/test/src/math/bf16mul_test.cpp | 30 +-
libc/test/src/math/fmabf16_test.cpp | 29 +
libc/test/src/math/smoke/CMakeLists.txt | 6531 +++++++++++++++++
libc/test/src/math/smoke/fmabf16_test.cpp | 14 +
22 files changed, 20904 insertions(+), 345 deletions(-)
create mode 100644 libc/src/math/fmabf16.h
create mode 100644 libc/src/math/generic/fmabf16.cpp
create mode 100644 libc/test/src/math/fmabf16_test.cpp
create mode 100644 libc/test/src/math/smoke/fmabf16_test.cpp
diff --git a/libc/config/baremetal/aarch64/entrypoints.txt b/libc/config/baremetal/aarch64/entrypoints.txt
index 278e1f5afde70..32d8201d9c53c 100644
--- a/libc/config/baremetal/aarch64/entrypoints.txt
+++ b/libc/config/baremetal/aarch64/entrypoints.txt
@@ -935,3 +935,936 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBC_ENTRYPOINTS}
${TARGET_LIBM_ENTRYPOINTS}
)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdio.h entrypoints
+ libc.src.stdio.asprintf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fprintf
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fscanf
+ libc.src.stdio.fwrite
+ libc.src.stdio.getchar
+ libc.src.stdio.printf
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.scanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vasprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vscanf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vsscanf
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.calloc
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.free
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.malloc
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realloc
+ libc.src.stdlib.srand
+ # libc.src.stdlib.strfromd
+ # libc.src.stdlib.strfromf
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.clock
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.timespec_get
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # internal entrypoints
+ libc.startup.baremetal.init
+ libc.startup.baremetal.fini
+)
+
+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
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ # libc.src.math.atan2l
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+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.asinf16
+ libc.src.math.asinhf16
+ 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
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ 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
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log2f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ 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
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.atan2f128
+ libc.src.math.canonicalizef128
+ libc.src.math.ceilf128
+ libc.src.math.copysignf128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.fabsf128
+ libc.src.math.faddf128
+ libc.src.math.fdimf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.floorf128
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximumf128
+ libc.src.math.fminf128
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimumf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.iscanonicalf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.llrintf128
+ libc.src.math.llroundf128
+ libc.src.math.logbf128
+ libc.src.math.lrintf128
+ libc.src.math.lroundf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nearbyintf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.rintf128
+ libc.src.math.roundevenf128
+ libc.src.math.roundf128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.sqrtf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.truncf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/baremetal/arm/entrypoints.txt b/libc/config/baremetal/arm/entrypoints.txt
index 955dc643586e9..03dacfdc97df9 100644
--- a/libc/config/baremetal/arm/entrypoints.txt
+++ b/libc/config/baremetal/arm/entrypoints.txt
@@ -947,3 +947,947 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBC_ENTRYPOINTS}
${TARGET_LIBM_ENTRYPOINTS}
)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdio.h entrypoints
+ libc.src.stdio.asprintf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fprintf
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fscanf
+ libc.src.stdio.fwrite
+ libc.src.stdio.getchar
+ libc.src.stdio.printf
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.scanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vasprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vscanf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vsscanf
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.calloc
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.free
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.malloc
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realloc
+ libc.src.stdlib.srand
+ # libc.src.stdlib.strfromd
+ # libc.src.stdlib.strfromf
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.clock
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.timespec_get
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+
+ # internal entrypoints
+ libc.startup.baremetal.init
+ libc.startup.baremetal.fini
+)
+
+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
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2l
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+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.asinf16
+ libc.src.math.asinhf16
+ 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
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ 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
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log2f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ 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
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.atan2f128
+ libc.src.math.canonicalizef128
+ libc.src.math.ceilf128
+ libc.src.math.copysignf128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.fabsf128
+ libc.src.math.faddf128
+ libc.src.math.fdimf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.floorf128
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximumf128
+ libc.src.math.fminf128
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimumf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.iscanonicalf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.llrintf128
+ libc.src.math.llroundf128
+ libc.src.math.logbf128
+ libc.src.math.lrintf128
+ libc.src.math.lroundf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nearbyintf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.rintf128
+ libc.src.math.roundevenf128
+ libc.src.math.roundf128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.sqrtf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.truncf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/baremetal/riscv/entrypoints.txt b/libc/config/baremetal/riscv/entrypoints.txt
index 472792e48fa01..43e713ede585b 100644
--- a/libc/config/baremetal/riscv/entrypoints.txt
+++ b/libc/config/baremetal/riscv/entrypoints.txt
@@ -942,3 +942,945 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBC_ENTRYPOINTS}
${TARGET_LIBM_ENTRYPOINTS}
)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # setjmp.h entrypoints
+ # libc.src.setjmp.longjmp
+ # libc.src.setjmp.setjmp
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdio.h entrypoints
+ libc.src.stdio.asprintf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fprintf
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fscanf
+ libc.src.stdio.fwrite
+ libc.src.stdio.getchar
+ libc.src.stdio.printf
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.scanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vasprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vscanf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vsscanf
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.calloc
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.free
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.malloc
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realloc
+ libc.src.stdlib.srand
+ # libc.src.stdlib.strfromd
+ # libc.src.stdlib.strfromf
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.clock
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.timespec_get
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+
+ # internal entrypoints
+ libc.startup.baremetal.init
+ libc.startup.baremetal.fini
+)
+
+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
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ # libc.src.math.atan2l
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ # libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+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.asinf16
+ libc.src.math.asinhf16
+ 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
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ 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
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log2f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ 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
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.atan2f128
+ libc.src.math.canonicalizef128
+ libc.src.math.ceilf128
+ libc.src.math.copysignf128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.fabsf128
+ libc.src.math.faddf128
+ libc.src.math.fdimf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.floorf128
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximumf128
+ libc.src.math.fminf128
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimumf128
+ # libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.iscanonicalf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.llrintf128
+ libc.src.math.llroundf128
+ libc.src.math.logbf128
+ libc.src.math.lrintf128
+ libc.src.math.lroundf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nearbyintf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.rintf128
+ libc.src.math.roundevenf128
+ libc.src.math.roundf128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.sqrtf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.truncf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/darwin/aarch64/entrypoints.txt b/libc/config/darwin/aarch64/entrypoints.txt
index 051ab45f450fa..082afc196356d 100644
--- a/libc/config/darwin/aarch64/entrypoints.txt
+++ b/libc/config/darwin/aarch64/entrypoints.txt
@@ -748,3 +748,751 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBC_ENTRYPOINTS}
${TARGET_LIBM_ENTRYPOINTS}
)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.free
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+)
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+ libc.src.stdlib._Exit
+ )
+endif()
+
+
+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
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+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.asinf16
+ libc.src.math.asinhf16
+ 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
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ 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
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log2f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ 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
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.atan2f128
+ libc.src.math.canonicalizef128
+ libc.src.math.ceilf128
+ libc.src.math.copysignf128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.fabsf128
+ libc.src.math.faddf128
+ libc.src.math.fdimf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.floorf128
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximumf128
+ libc.src.math.fminf128
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimumf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.iscanonicalf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.llrintf128
+ libc.src.math.llroundf128
+ libc.src.math.logbf128
+ libc.src.math.lrintf128
+ libc.src.math.lroundf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nearbyintf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.rintf128
+ libc.src.math.roundevenf128
+ libc.src.math.roundf128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.sqrtf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.truncf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/darwin/x86_64/entrypoints.txt b/libc/config/darwin/x86_64/entrypoints.txt
index e899bf97ea3f6..d27510602df62 100644
--- a/libc/config/darwin/x86_64/entrypoints.txt
+++ b/libc/config/darwin/x86_64/entrypoints.txt
@@ -1,310 +1,311 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # search.h entrypoints
- libc.src.search.lfind
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bzero
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.free
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # fenv disabled on x86_64 MacOS for now.
- # # fenv.h entrypoints
- # libc.src.fenv.feclearexcept
- # libc.src.fenv.fedisableexcept
- # libc.src.fenv.feenableexcept
- # libc.src.fenv.fegetenv
- # libc.src.fenv.fegetexcept
- # libc.src.fenv.fegetexceptflag
- # libc.src.fenv.fegetround
- # libc.src.fenv.feholdexcept
- # libc.src.fenv.fesetenv
- # libc.src.fenv.fesetexcept
- # libc.src.fenv.fesetexceptflag
- # libc.src.fenv.fesetround
- # libc.src.fenv.feraiseexcept
- # libc.src.fenv.fetestexcept
- # libc.src.fenv.fetestexceptflag
- # libc.src.fenv.feupdateenv
-
- ## Currently disabled for failing tests.
- # math.h entrypoints
- #libc.src.math.copysign
- #libc.src.math.copysignf
- #libc.src.math.copysignl
- #libc.src.math.ceil
- #libc.src.math.ceilf
- #libc.src.math.ceill
- #libc.src.math.coshf
- #libc.src.math.cosf
- #libc.src.math.daddl
- #libc.src.math.ddivl
- #libc.src.math.dfmal
- #libc.src.math.dsqrtl
- #libc.src.math.dsubl
- #libc.src.math.expf
- #libc.src.math.exp2f
- #libc.src.math.expm1f
- #libc.src.math.fabs
- #libc.src.math.fabsf
- #libc.src.math.fabsl
- #libc.src.math.fdim
- #libc.src.math.fdimf
- #libc.src.math.fdiml
- #libc.src.math.fdiv
- #libc.src.math.fdivl
- #libc.src.math.ffma
- #libc.src.math.ffmal
- #libc.src.math.floor
- #libc.src.math.floorf
- #libc.src.math.floorl
- #libc.src.math.fma
- #libc.src.math.fmaf
- #libc.src.math.fmax
- #libc.src.math.fmaxf
- #libc.src.math.fmaxl
- #libc.src.math.fmin
- #libc.src.math.fminf
- #libc.src.math.fminl
- #libc.src.math.fmod
- #libc.src.math.fmodf
- #libc.src.math.frexp
- #libc.src.math.frexpf
- #libc.src.math.frexpl
- #libc.src.math.fsub
- #libc.src.math.fsubl
- #libc.src.math.hypot
- #libc.src.math.hypotf
- #libc.src.math.ilogb
- #libc.src.math.ilogbf
- #libc.src.math.ilogbl
- #libc.src.math.llrint
- #libc.src.math.llrintf
- #libc.src.math.llrintl
- #libc.src.math.llround
- #libc.src.math.llroundf
- #libc.src.math.llroundl
- #libc.src.math.lrint
- #libc.src.math.lrintf
- #libc.src.math.lrintl
- #libc.src.math.lround
- #libc.src.math.lroundf
- #libc.src.math.lroundl
- #libc.src.math.ldexp
- #libc.src.math.ldexpf
- #libc.src.math.ldexpl
- #libc.src.math.log10f
- #libc.src.math.log1pf
- #libc.src.math.log2f
- #libc.src.math.logf
- #libc.src.math.logb
- #libc.src.math.logbf
- #libc.src.math.logbl
- #libc.src.math.modf
- #libc.src.math.modff
- #libc.src.math.modfl
- #libc.src.math.nan
- #libc.src.math.nanf
- #libc.src.math.nanl
- #libc.src.math.nearbyint
- #libc.src.math.nearbyintf
- #libc.src.math.nearbyintl
- #libc.src.math.nextafter
- #libc.src.math.nextafterf
- #libc.src.math.nextafterl
- #libc.src.math.nexttoward
- #libc.src.math.nexttowardf
- #libc.src.math.nexttowardl
- #libc.src.math.remainderf
- #libc.src.math.remainder
- #libc.src.math.remainderl
- #libc.src.math.remquof
- #libc.src.math.remquo
- #libc.src.math.remquol
- #libc.src.math.rint
- #libc.src.math.rintf
- #libc.src.math.rintl
- #libc.src.math.round
- #libc.src.math.roundf
- #libc.src.math.roundl
- #libc.src.math.sincosf
- #libc.src.math.sinhf
- #libc.src.math.sinf
- #libc.src.math.sqrt
- #libc.src.math.sqrtf
- #libc.src.math.sqrtl
- #libc.src.math.tanf
- #libc.src.math.tanhf
- #libc.src.math.totalordermag
- #libc.src.math.totalordermagf
- #libc.src.math.totalordermagl
- #libc.src.math.trunc
- #libc.src.math.truncf
- #libc.src.math.truncl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # search.h entrypoints
+ libc.src.search.lfind
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bzero
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.free
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # fenv disabled on x86_64 MacOS for now.
+ # # fenv.h entrypoints
+ # libc.src.fenv.feclearexcept
+ # libc.src.fenv.fedisableexcept
+ # libc.src.fenv.feenableexcept
+ # libc.src.fenv.fegetenv
+ # libc.src.fenv.fegetexcept
+ # libc.src.fenv.fegetexceptflag
+ # libc.src.fenv.fegetround
+ # libc.src.fenv.feholdexcept
+ # libc.src.fenv.fesetenv
+ # libc.src.fenv.fesetexcept
+ # libc.src.fenv.fesetexceptflag
+ # libc.src.fenv.fesetround
+ # libc.src.fenv.feraiseexcept
+ # libc.src.fenv.fetestexcept
+ # libc.src.fenv.fetestexceptflag
+ # libc.src.fenv.feupdateenv
+
+ ## Currently disabled for failing tests.
+ # math.h entrypoints
+ #libc.src.math.copysign
+ #libc.src.math.copysignf
+ #libc.src.math.copysignl
+ #libc.src.math.ceil
+ #libc.src.math.ceilf
+ #libc.src.math.ceill
+ #libc.src.math.coshf
+ #libc.src.math.cosf
+ #libc.src.math.daddl
+ #libc.src.math.ddivl
+ #libc.src.math.dfmal
+ #libc.src.math.dsqrtl
+ #libc.src.math.dsubl
+ #libc.src.math.expf
+ #libc.src.math.exp2f
+ #libc.src.math.expm1f
+ #libc.src.math.fabs
+ #libc.src.math.fabsf
+ #libc.src.math.fabsl
+ #libc.src.math.fdim
+ #libc.src.math.fdimf
+ #libc.src.math.fdiml
+ #libc.src.math.fdiv
+ #libc.src.math.fdivl
+ #libc.src.math.ffma
+ #libc.src.math.ffmal
+ #libc.src.math.floor
+ #libc.src.math.floorf
+ #libc.src.math.floorl
+ #libc.src.math.fma
+ #libc.src.math.fmabf16
+ #libc.src.math.fmaf
+ #libc.src.math.fmax
+ #libc.src.math.fmaxf
+ #libc.src.math.fmaxl
+ #libc.src.math.fmin
+ #libc.src.math.fminf
+ #libc.src.math.fminl
+ #libc.src.math.fmod
+ #libc.src.math.fmodf
+ #libc.src.math.frexp
+ #libc.src.math.frexpf
+ #libc.src.math.frexpl
+ #libc.src.math.fsub
+ #libc.src.math.fsubl
+ #libc.src.math.hypot
+ #libc.src.math.hypotf
+ #libc.src.math.ilogb
+ #libc.src.math.ilogbf
+ #libc.src.math.ilogbl
+ #libc.src.math.llrint
+ #libc.src.math.llrintf
+ #libc.src.math.llrintl
+ #libc.src.math.llround
+ #libc.src.math.llroundf
+ #libc.src.math.llroundl
+ #libc.src.math.lrint
+ #libc.src.math.lrintf
+ #libc.src.math.lrintl
+ #libc.src.math.lround
+ #libc.src.math.lroundf
+ #libc.src.math.lroundl
+ #libc.src.math.ldexp
+ #libc.src.math.ldexpf
+ #libc.src.math.ldexpl
+ #libc.src.math.log10f
+ #libc.src.math.log1pf
+ #libc.src.math.log2f
+ #libc.src.math.logf
+ #libc.src.math.logb
+ #libc.src.math.logbf
+ #libc.src.math.logbl
+ #libc.src.math.modf
+ #libc.src.math.modff
+ #libc.src.math.modfl
+ #libc.src.math.nan
+ #libc.src.math.nanf
+ #libc.src.math.nanl
+ #libc.src.math.nearbyint
+ #libc.src.math.nearbyintf
+ #libc.src.math.nearbyintl
+ #libc.src.math.nextafter
+ #libc.src.math.nextafterf
+ #libc.src.math.nextafterl
+ #libc.src.math.nexttoward
+ #libc.src.math.nexttowardf
+ #libc.src.math.nexttowardl
+ #libc.src.math.remainderf
+ #libc.src.math.remainder
+ #libc.src.math.remainderl
+ #libc.src.math.remquof
+ #libc.src.math.remquo
+ #libc.src.math.remquol
+ #libc.src.math.rint
+ #libc.src.math.rintf
+ #libc.src.math.rintl
+ #libc.src.math.round
+ #libc.src.math.roundf
+ #libc.src.math.roundl
+ #libc.src.math.sincosf
+ #libc.src.math.sinhf
+ #libc.src.math.sinf
+ #libc.src.math.sqrt
+ #libc.src.math.sqrtf
+ #libc.src.math.sqrtl
+ #libc.src.math.tanf
+ #libc.src.math.tanhf
+ #libc.src.math.totalordermag
+ #libc.src.math.totalordermagf
+ #libc.src.math.totalordermagl
+ #libc.src.math.trunc
+ #libc.src.math.truncf
+ #libc.src.math.truncl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/gpu/amdgpu/entrypoints.txt b/libc/config/gpu/amdgpu/entrypoints.txt
index a65b6f0274fd8..c8a22b8aaf25c 100644
--- a/libc/config/gpu/amdgpu/entrypoints.txt
+++ b/libc/config/gpu/amdgpu/entrypoints.txt
@@ -693,3 +693,697 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBC_ENTRYPOINTS}
${TARGET_LIBM_ENTRYPOINTS}
)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper
+ libc.src.ctype.toupper_l
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcoll_l
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull
+ libc.src.stdlib.strtoull_l
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.quick_exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.system
+
+ # TODO: Implement these correctly
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.realloc
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.fclose
+ libc.src.stdio.printf
+ libc.src.stdio.vprintf
+ libc.src.stdio.fprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.vasprintf
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fopen
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fseek
+ libc.src.stdio.ftell
+ libc.src.stdio.fwrite
+ libc.src.stdio.getc
+ libc.src.stdio.getchar
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # time.h entrypoints
+ libc.src.time.clock
+ libc.src.time.clock_gettime
+ libc.src.time.timespec_get
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.mktime
+
+ # wchar.h entrypoints
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2l
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaximum
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximuml
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminimum
+ libc.src.math.fminimumf
+ libc.src.math.fminimuml
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numl
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgamma
+ libc.src.math.lgamma_r
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintl
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenl
+ libc.src.math.round
+ libc.src.math.roundf
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.tgamma
+ libc.src.math.tgammaf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+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
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ 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
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log2f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ 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
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/gpu/nvptx/entrypoints.txt b/libc/config/gpu/nvptx/entrypoints.txt
index fee0038c88cc0..c557b751c5b6e 100644
--- a/libc/config/gpu/nvptx/entrypoints.txt
+++ b/libc/config/gpu/nvptx/entrypoints.txt
@@ -695,3 +695,699 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBC_ENTRYPOINTS}
${TARGET_LIBM_ENTRYPOINTS}
)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper
+ libc.src.ctype.toupper_l
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcoll_l
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull
+ libc.src.stdlib.strtoull_l
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.quick_exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.system
+
+ # TODO: Implement these correctly
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.realloc
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.fclose
+ libc.src.stdio.printf
+ libc.src.stdio.vprintf
+ libc.src.stdio.fprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.vasprintf
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fopen
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fseek
+ libc.src.stdio.ftell
+ libc.src.stdio.fwrite
+ libc.src.stdio.getc
+ libc.src.stdio.getchar
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # time.h entrypoints
+ libc.src.time.clock
+ libc.src.time.clock_gettime
+ libc.src.time.timespec_get
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.mktime
+
+ # wchar.h entrypoints
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2l
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaximum
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximuml
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminimum
+ libc.src.math.fminimumf
+ libc.src.math.fminimuml
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numl
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ # FIXME: Broken.
+ # libc.src.math.fromfp
+ # libc.src.math.fromfpf
+ # libc.src.math.fromfpl
+ # libc.src.math.fromfpx
+ # libc.src.math.fromfpxf
+ # libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgamma
+ libc.src.math.lgamma_r
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintl
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenl
+ libc.src.math.round
+ libc.src.math.roundf
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.tgamma
+ libc.src.math.tgammaf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncl
+ # FIXME: Broken.
+ # libc.src.math.ufromfp
+ # libc.src.math.ufromfpf
+ # libc.src.math.ufromfpl
+ # libc.src.math.ufromfpx
+ # libc.src.math.ufromfpxf
+ # libc.src.math.ufromfpxl
+)
+
+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
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ 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
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log2f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ 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
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt
index bdca0baf478c7..609e85bebc9d6 100644
--- a/libc/config/linux/aarch64/entrypoints.txt
+++ b/libc/config/linux/aarch64/entrypoints.txt
@@ -1194,3 +1194,1188 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBM_ENTRYPOINTS}
${TARGET_LIBMVEC_ENTRYPOINTS}
)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # dlfcn.h entrypoints
+ libc.src.dlfcn.dlclose
+ libc.src.dlfcn.dlerror
+ libc.src.dlfcn.dlopen
+ libc.src.dlfcn.dlsym
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # fcntl.h entrypoints
+ libc.src.fcntl.creat
+ libc.src.fcntl.fcntl
+ libc.src.fcntl.open
+ libc.src.fcntl.openat
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+
+ # sched.h entrypoints
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
+ libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
+ libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
+ libc.src.sched.sched_yield
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strsignal
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strfromd
+ libc.src.stdlib.strfromf
+ # TODO: long double support is buggy with clang-11. Re-enable when buildbots are upgraded.
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.realloc
+
+ # stdio.h entrypoints
+ libc.src.stdio.fprintf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.printf
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vasprintf
+
+ # sys/epoll.h entrypoints
+ libc.src.sys.epoll.epoll_create
+ libc.src.sys.epoll.epoll_create1
+ libc.src.sys.epoll.epoll_ctl
+ libc.src.sys.epoll.epoll_pwait
+ libc.src.sys.epoll.epoll_wait
+ # TODO: Need to check if pwait2 is available before providing.
+ # https://github.com/llvm/llvm-project/issues/80060
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.madvise
+ libc.src.sys.mman.mincore
+ libc.src.sys.mman.mlock
+ libc.src.sys.mman.mlock2
+ libc.src.sys.mman.mlockall
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.mremap
+ libc.src.sys.mman.mprotect
+ libc.src.sys.mman.msync
+ libc.src.sys.mman.munlock
+ libc.src.sys.mman.munlockall
+ libc.src.sys.mman.munmap
+ libc.src.sys.mman.remap_file_pages
+ libc.src.sys.mman.posix_madvise
+ libc.src.sys.mman.shm_open
+ libc.src.sys.mman.shm_unlink
+
+ # sys/random.h entrypoints
+ libc.src.sys.random.getrandom
+
+ # sys/resource.h entrypoints
+ libc.src.sys.resource.getrlimit
+ libc.src.sys.resource.setrlimit
+
+ # sys/sendfile entrypoints
+ libc.src.sys.sendfile.sendfile
+
+ # sys/stat.h entrypoints
+ libc.src.sys.stat.chmod
+ libc.src.sys.stat.fchmod
+ libc.src.sys.stat.fchmodat
+ libc.src.sys.stat.fstat
+ libc.src.sys.stat.lstat
+ libc.src.sys.stat.mkdir
+ libc.src.sys.stat.mkdirat
+ libc.src.sys.stat.stat
+
+ # sys/statvfs.h
+ libc.src.sys.statvfs.fstatvfs
+ libc.src.sys.statvfs.statvfs
+
+ # sys/utsname.h entrypoints
+ libc.src.sys.utsname.uname
+
+ # sys/wait.h entrypoints
+ libc.src.sys.wait.wait
+ libc.src.sys.wait.wait4
+ libc.src.sys.wait.waitpid
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/auxv.h entrypoints
+ libc.src.sys.auxv.getauxval
+
+ # termios.h entrypoints
+ libc.src.termios.cfgetispeed
+ libc.src.termios.cfgetospeed
+ libc.src.termios.cfsetispeed
+ libc.src.termios.cfsetospeed
+ libc.src.termios.tcdrain
+ libc.src.termios.tcflow
+ libc.src.termios.tcflush
+ libc.src.termios.tcgetattr
+ libc.src.termios.tcgetsid
+ libc.src.termios.tcsendbreak
+ libc.src.termios.tcsetattr
+
+ # unistd.h entrypoints
+ libc.src.unistd.access
+ libc.src.unistd.chdir
+ libc.src.unistd.close
+ libc.src.unistd.dup
+ libc.src.unistd.dup2
+ libc.src.unistd.dup3
+ libc.src.unistd.execve
+ libc.src.unistd.faccessat
+ libc.src.unistd.fchdir
+ libc.src.unistd.fchown
+ libc.src.unistd.fpathconf
+ libc.src.unistd.fsync
+ libc.src.unistd.ftruncate
+ libc.src.unistd.getcwd
+ libc.src.unistd.getentropy
+ libc.src.unistd.geteuid
+ libc.src.unistd.gethostname
+ libc.src.unistd.getpagesize
+ libc.src.unistd.getpid
+ libc.src.unistd.getppid
+ libc.src.unistd.getsid
+ libc.src.unistd.gettid
+ libc.src.unistd.getuid
+ libc.src.unistd.isatty
+ libc.src.unistd.link
+ libc.src.unistd.linkat
+ libc.src.unistd.lseek
+ libc.src.unistd.pathconf
+ libc.src.unistd.pipe
+ libc.src.unistd.pipe2
+ libc.src.unistd.pread
+ libc.src.unistd.pwrite
+ libc.src.unistd.read
+ libc.src.unistd.readlink
+ libc.src.unistd.readlinkat
+ libc.src.unistd.rmdir
+ libc.src.unistd.setsid
+ libc.src.unistd.symlink
+ libc.src.unistd.symlinkat
+ libc.src.unistd.sysconf
+ libc.src.unistd.truncate
+ libc.src.unistd.unlink
+ libc.src.unistd.unlinkat
+ libc.src.unistd.write
+
+ # wchar.h entrypoints
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+
+ # sys/uio.h entrypoints
+ libc.src.sys.uio.writev
+ libc.src.sys.uio.readv
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+)
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+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
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdiml
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acoshf16
+ libc.src.math.asinpif16
+ libc.src.math.canonicalizef16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cospif16
+ libc.src.math.expf16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ # libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ # libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ # libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ # libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ # libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ # libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ # libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.logbf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ # libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ # Temporarily disable nexttowardf16 on aarch64 because the conversion
+ # between _Float16 and long double will crash clang-11. This is fixed in
+ # clang-12 and after: https://godbolt.org/z/8ceT9454c
+ # libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.rsqrtf
+ libc.src.math.rsqrtf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ # if(LIBC_TYPES_HAS_FLOAT128)
+ # list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # # math.h C23 mixed _Float16 and _Float128 entrypoints
+ # libc.src.math.f16addf128
+ # libc.src.math.f16divf128
+ # libc.src.math.f16fmaf128
+ # libc.src.math.f16mulf128
+ # libc.src.math.f16sqrtf128
+ # libc.src.math.f16subf128
+ # )
+ # endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.atan2f128
+ libc.src.math.canonicalizef128
+ libc.src.math.ceilf128
+ libc.src.math.copysignf128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.fabsf128
+ libc.src.math.faddf128
+ libc.src.math.fdimf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.floorf128
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximumf128
+ libc.src.math.fminf128
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimumf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.iscanonicalf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.llrintf128
+ libc.src.math.llroundf128
+ libc.src.math.logbf128
+ libc.src.math.lrintf128
+ libc.src.math.lroundf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nearbyintf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.rintf128
+ libc.src.math.roundevenf128
+ libc.src.math.roundf128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.sqrtf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.truncf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # dirent.h entrypoints
+ libc.src.dirent.closedir
+ libc.src.dirent.dirfd
+ libc.src.dirent.opendir
+ libc.src.dirent.readdir
+
+ # arpa/inet.h entrypoints
+ libc.src.arpa.inet.htonl
+ libc.src.arpa.inet.htons
+ libc.src.arpa.inet.inet_addr
+ libc.src.arpa.inet.inet_aton
+ libc.src.arpa.inet.ntohl
+ libc.src.arpa.inet.ntohs
+
+ # pthread.h entrypoints
+ libc.src.pthread.pthread_atfork
+ libc.src.pthread.pthread_attr_destroy
+ libc.src.pthread.pthread_attr_getdetachstate
+ libc.src.pthread.pthread_attr_getguardsize
+ libc.src.pthread.pthread_attr_getstack
+ libc.src.pthread.pthread_attr_getstacksize
+ libc.src.pthread.pthread_attr_init
+ libc.src.pthread.pthread_attr_setdetachstate
+ libc.src.pthread.pthread_attr_setguardsize
+ libc.src.pthread.pthread_attr_setstack
+ libc.src.pthread.pthread_attr_setstacksize
+ libc.src.pthread.pthread_condattr_destroy
+ libc.src.pthread.pthread_condattr_getclock
+ libc.src.pthread.pthread_condattr_getpshared
+ libc.src.pthread.pthread_condattr_init
+ libc.src.pthread.pthread_condattr_setclock
+ libc.src.pthread.pthread_condattr_setpshared
+ libc.src.pthread.pthread_create
+ libc.src.pthread.pthread_detach
+ libc.src.pthread.pthread_equal
+ libc.src.pthread.pthread_exit
+ libc.src.pthread.pthread_getname_np
+ libc.src.pthread.pthread_getspecific
+ libc.src.pthread.pthread_join
+ libc.src.pthread.pthread_key_create
+ libc.src.pthread.pthread_key_delete
+ libc.src.pthread.pthread_mutex_destroy
+ libc.src.pthread.pthread_mutex_init
+ libc.src.pthread.pthread_mutex_lock
+ libc.src.pthread.pthread_mutex_unlock
+ libc.src.pthread.pthread_mutexattr_destroy
+ libc.src.pthread.pthread_mutexattr_getpshared
+ libc.src.pthread.pthread_mutexattr_getrobust
+ libc.src.pthread.pthread_mutexattr_gettype
+ libc.src.pthread.pthread_mutexattr_init
+ libc.src.pthread.pthread_mutexattr_setpshared
+ libc.src.pthread.pthread_mutexattr_setrobust
+ libc.src.pthread.pthread_mutexattr_settype
+ libc.src.pthread.pthread_once
+ libc.src.pthread.pthread_rwlock_clockrdlock
+ libc.src.pthread.pthread_rwlock_clockwrlock
+ libc.src.pthread.pthread_rwlock_destroy
+ libc.src.pthread.pthread_rwlock_init
+ libc.src.pthread.pthread_rwlock_rdlock
+ libc.src.pthread.pthread_rwlock_timedrdlock
+ libc.src.pthread.pthread_rwlock_timedwrlock
+ libc.src.pthread.pthread_rwlock_tryrdlock
+ libc.src.pthread.pthread_rwlock_trywrlock
+ libc.src.pthread.pthread_rwlock_unlock
+ libc.src.pthread.pthread_rwlock_wrlock
+ libc.src.pthread.pthread_rwlockattr_destroy
+ libc.src.pthread.pthread_rwlockattr_getkind_np
+ libc.src.pthread.pthread_rwlockattr_getpshared
+ libc.src.pthread.pthread_rwlockattr_init
+ libc.src.pthread.pthread_rwlockattr_setkind_np
+ libc.src.pthread.pthread_rwlockattr_setpshared
+ libc.src.pthread.pthread_spin_destroy
+ libc.src.pthread.pthread_spin_init
+ libc.src.pthread.pthread_spin_lock
+ libc.src.pthread.pthread_spin_trylock
+ libc.src.pthread.pthread_spin_unlock
+ libc.src.pthread.pthread_self
+ libc.src.pthread.pthread_setname_np
+ libc.src.pthread.pthread_setspecific
+
+ # sched.h entrypoints
+ libc.src.sched.__sched_getcpucount
+ libc.src.sched.__sched_setcpuzero
+ libc.src.sched.__sched_setcpuset
+ libc.src.sched.__sched_getcpuisset
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.clearerr_unlocked
+ libc.src.stdio.fclose
+ libc.src.stdio.fdopen
+ libc.src.stdio.feof
+ libc.src.stdio.feof_unlocked
+ libc.src.stdio.ferror
+ libc.src.stdio.ferror_unlocked
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgetc_unlocked
+ libc.src.stdio.fgets
+ libc.src.stdio.fileno
+ libc.src.stdio.flockfile
+ libc.src.stdio.fopen
+ libc.src.stdio.fopencookie
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fread_unlocked
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.funlockfile
+ libc.src.stdio.fwrite
+ libc.src.stdio.fwrite_unlocked
+ libc.src.stdio.getc
+ libc.src.stdio.getc_unlocked
+ libc.src.stdio.getchar
+ libc.src.stdio.getchar_unlocked
+ libc.src.stdio.perror
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.setbuf
+ libc.src.stdio.setvbuf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.atexit
+ libc.src.stdlib.exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.quick_exit
+
+ # signal.h entrypoints
+ libc.src.signal.kill
+ libc.src.signal.raise
+ libc.src.signal.sigaction
+ libc.src.signal.sigaddset
+ libc.src.signal.sigaltstack
+ libc.src.signal.sigdelset
+ libc.src.signal.sigemptyset
+ libc.src.signal.sigfillset
+ libc.src.signal.signal
+ libc.src.signal.sigprocmask
+
+ # spawn.h entrypoints
+ libc.src.spawn.posix_spawn
+ libc.src.spawn.posix_spawn_file_actions_addclose
+ libc.src.spawn.posix_spawn_file_actions_adddup2
+ libc.src.spawn.posix_spawn_file_actions_addopen
+ libc.src.spawn.posix_spawn_file_actions_destroy
+ libc.src.spawn.posix_spawn_file_actions_init
+
+ # search.h entrypoints
+ libc.src.search.hcreate
+ libc.src.search.hcreate_r
+ libc.src.search.hdestroy
+ libc.src.search.hdestroy_r
+ libc.src.search.hsearch
+ libc.src.search.hsearch_r
+ libc.src.search.insque
+ libc.src.search.lfind
+ libc.src.search.lsearch
+ libc.src.search.remque
+
+ # threads.h entrypoints
+ libc.src.threads.call_once
+ libc.src.threads.cnd_broadcast
+ libc.src.threads.cnd_destroy
+ libc.src.threads.cnd_init
+ libc.src.threads.cnd_signal
+ libc.src.threads.cnd_wait
+ libc.src.threads.mtx_destroy
+ libc.src.threads.mtx_init
+ libc.src.threads.mtx_lock
+ libc.src.threads.mtx_unlock
+ libc.src.threads.thrd_create
+ libc.src.threads.thrd_current
+ libc.src.threads.thrd_detach
+ libc.src.threads.thrd_equal
+ libc.src.threads.thrd_exit
+ libc.src.threads.thrd_join
+ libc.src.threads.tss_create
+ libc.src.threads.tss_delete
+ libc.src.threads.tss_get
+ libc.src.threads.tss_set
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.clock
+ libc.src.time.clock_gettime
+ libc.src.time.clock_settime
+ libc.src.time.difftime
+ libc.src.time.gettimeofday
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.mktime
+ libc.src.time.nanosleep
+ libc.src.time.time
+ libc.src.time.timespec_get
+
+ # unistd.h entrypoints
+ libc.src.unistd.__llvm_libc_syscall
+ libc.src.unistd._exit
+ libc.src.unistd.environ
+ libc.src.unistd.execv
+ libc.src.unistd.fork
+ libc.src.unistd.getopt
+ libc.src.unistd.optarg
+ libc.src.unistd.opterr
+ libc.src.unistd.optind
+ libc.src.unistd.optopt
+ libc.src.unistd.swab
+
+ # sys/select.h entrypoints
+ libc.src.sys.select.select
+
+ # sys/socket.h entrypoints
+ libc.src.sys.socket.bind
+ libc.src.sys.socket.socket
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/arm/entrypoints.txt b/libc/config/linux/arm/entrypoints.txt
index 3d3e77d826b06..9c298499fda36 100644
--- a/libc/config/linux/arm/entrypoints.txt
+++ b/libc/config/linux/arm/entrypoints.txt
@@ -538,3 +538,541 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBC_ENTRYPOINTS}
${TARGET_LIBM_ENTRYPOINTS}
)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.munmap
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/epoll.h entrypoints
+ # Disabled due to epoll_wait syscalls not being available on this platform.
+ # libc.src.sys.epoll.epoll_wait
+ # libc.src.sys.epoll.epoll_pwait
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+)
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # search.h entrypoints
+ libc.src.search.lfind
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+ )
+endif()
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+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
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.dfmal
+ libc.src.math.dsqrtl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmul
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundf
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/riscv/entrypoints.txt b/libc/config/linux/riscv/entrypoints.txt
index 13343dea76fe3..7c0eee0a1f1e2 100644
--- a/libc/config/linux/riscv/entrypoints.txt
+++ b/libc/config/linux/riscv/entrypoints.txt
@@ -1332,3 +1332,1335 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBC_ENTRYPOINTS}
${TARGET_LIBM_ENTRYPOINTS}
)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # dlfcn.h entrypoints
+ libc.src.dlfcn.dlclose
+ libc.src.dlfcn.dlerror
+ libc.src.dlfcn.dlopen
+ libc.src.dlfcn.dlsym
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # fcntl.h entrypoints
+ libc.src.fcntl.creat
+ libc.src.fcntl.fcntl
+ libc.src.fcntl.open
+ libc.src.fcntl.openat
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+
+ # sched.h entrypoints
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
+ libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
+ libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
+ libc.src.sched.sched_yield
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strsignal
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strfromd
+ libc.src.stdlib.strfromf
+ libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.realloc
+
+ # stdio.h entrypoints
+ libc.src.stdio.fprintf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.printf
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vasprintf
+
+ # sys/epoll.h entrypoints
+ libc.src.sys.epoll.epoll_create
+ libc.src.sys.epoll.epoll_create1
+ libc.src.sys.epoll.epoll_ctl
+ libc.src.sys.epoll.epoll_pwait
+ libc.src.sys.epoll.epoll_wait
+ # TODO: Need to check if pwait2 is available before providing.
+ # https://github.com/llvm/llvm-project/issues/80060
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.madvise
+ libc.src.sys.mman.mincore
+ libc.src.sys.mman.mlock
+ libc.src.sys.mman.mlock2
+ libc.src.sys.mman.mlockall
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.mremap
+ libc.src.sys.mman.mprotect
+ libc.src.sys.mman.msync
+ libc.src.sys.mman.munlock
+ libc.src.sys.mman.munlockall
+ libc.src.sys.mman.munmap
+ libc.src.sys.mman.remap_file_pages
+ libc.src.sys.mman.posix_madvise
+ libc.src.sys.mman.shm_open
+ libc.src.sys.mman.shm_unlink
+
+ # sys/random.h entrypoints
+ libc.src.sys.random.getrandom
+
+ # sys/resource.h entrypoints
+ libc.src.sys.resource.getrlimit
+ libc.src.sys.resource.setrlimit
+
+ # sys/sendfile entrypoints
+ libc.src.sys.sendfile.sendfile
+
+ # sys/stat.h entrypoints
+ libc.src.sys.stat.chmod
+ libc.src.sys.stat.fchmod
+ libc.src.sys.stat.fchmodat
+ libc.src.sys.stat.fstat
+ libc.src.sys.stat.lstat
+ libc.src.sys.stat.mkdir
+ libc.src.sys.stat.mkdirat
+ libc.src.sys.stat.stat
+
+ # sys/statvfs.h
+ libc.src.sys.statvfs.fstatvfs
+ libc.src.sys.statvfs.statvfs
+
+ # sys/utimes.h entrypoints
+ libc.src.sys.time.utimes
+
+ # sys/utsname.h entrypoints
+ libc.src.sys.utsname.uname
+
+ # sys/wait.h entrypoints
+ libc.src.sys.wait.wait
+ libc.src.sys.wait.wait4
+ libc.src.sys.wait.waitpid
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/auxv.h entrypoints
+ libc.src.sys.auxv.getauxval
+
+ # termios.h entrypoints
+ libc.src.termios.cfgetispeed
+ libc.src.termios.cfgetospeed
+ libc.src.termios.cfsetispeed
+ libc.src.termios.cfsetospeed
+ libc.src.termios.tcdrain
+ libc.src.termios.tcflow
+ libc.src.termios.tcflush
+ libc.src.termios.tcgetattr
+ libc.src.termios.tcgetsid
+ libc.src.termios.tcsendbreak
+ libc.src.termios.tcsetattr
+
+ # unistd.h entrypoints
+ libc.src.unistd.access
+ libc.src.unistd.chdir
+ libc.src.unistd.close
+ libc.src.unistd.dup
+ libc.src.unistd.dup2
+ libc.src.unistd.dup3
+ libc.src.unistd.execve
+ libc.src.unistd.faccessat
+ libc.src.unistd.fchdir
+ libc.src.unistd.fpathconf
+ libc.src.unistd.fsync
+ libc.src.unistd.ftruncate
+ libc.src.unistd.getcwd
+ libc.src.unistd.getentropy
+ libc.src.unistd.geteuid
+ libc.src.unistd.gethostname
+ libc.src.unistd.getpagesize
+ libc.src.unistd.getpid
+ libc.src.unistd.getppid
+ libc.src.unistd.getsid
+ libc.src.unistd.gettid
+ libc.src.unistd.getuid
+ libc.src.unistd.isatty
+ libc.src.unistd.link
+ libc.src.unistd.linkat
+ libc.src.unistd.lseek
+ libc.src.unistd.pathconf
+ libc.src.unistd.pipe
+ libc.src.unistd.pipe2
+ libc.src.unistd.pread
+ libc.src.unistd.pwrite
+ libc.src.unistd.read
+ libc.src.unistd.readlink
+ libc.src.unistd.readlinkat
+ libc.src.unistd.rmdir
+ libc.src.unistd.setsid
+ libc.src.unistd.symlink
+ libc.src.unistd.symlinkat
+ libc.src.unistd.sysconf
+ libc.src.unistd.truncate
+ libc.src.unistd.unlink
+ libc.src.unistd.unlinkat
+ libc.src.unistd.write
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+
+ # sys/uio.h entrypoints
+ libc.src.sys.uio.writev
+ libc.src.sys.uio.readv
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+)
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+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
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+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.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
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ 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
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log2f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.rsqrtf
+ libc.src.math.rsqrtf16
+ libc.src.math.scalblnf16
+ 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
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.atan2f128
+ libc.src.math.canonicalizef128
+ libc.src.math.ceilf128
+ libc.src.math.copysignf128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.fabsf128
+ libc.src.math.faddf128
+ libc.src.math.fdimf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.floorf128
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximumf128
+ libc.src.math.fminf128
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimumf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.iscanonicalf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.llrintf128
+ libc.src.math.llroundf128
+ libc.src.math.logbf128
+ libc.src.math.lrintf128
+ libc.src.math.lroundf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nearbyintf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.rintf128
+ libc.src.math.roundevenf128
+ libc.src.math.roundf128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.sqrtf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.truncf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ libc.src.stdfix.rdivi
+ )
+endif()
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # dirent.h entrypoints
+ libc.src.dirent.closedir
+ libc.src.dirent.dirfd
+ libc.src.dirent.opendir
+ libc.src.dirent.readdir
+
+ # arpa/inet.h entrypoints
+ libc.src.arpa.inet.htonl
+ libc.src.arpa.inet.htons
+ libc.src.arpa.inet.inet_addr
+ libc.src.arpa.inet.inet_aton
+ libc.src.arpa.inet.ntohl
+ libc.src.arpa.inet.ntohs
+
+ # pthread.h entrypoints
+ libc.src.pthread.pthread_atfork
+ libc.src.pthread.pthread_attr_destroy
+ libc.src.pthread.pthread_attr_getdetachstate
+ libc.src.pthread.pthread_attr_getguardsize
+ libc.src.pthread.pthread_attr_getstack
+ libc.src.pthread.pthread_attr_getstacksize
+ libc.src.pthread.pthread_attr_init
+ libc.src.pthread.pthread_attr_setdetachstate
+ libc.src.pthread.pthread_attr_setguardsize
+ libc.src.pthread.pthread_attr_setstack
+ libc.src.pthread.pthread_attr_setstacksize
+ libc.src.pthread.pthread_condattr_destroy
+ libc.src.pthread.pthread_condattr_getclock
+ libc.src.pthread.pthread_condattr_getpshared
+ libc.src.pthread.pthread_condattr_init
+ libc.src.pthread.pthread_condattr_setclock
+ libc.src.pthread.pthread_condattr_setpshared
+ libc.src.pthread.pthread_create
+ libc.src.pthread.pthread_detach
+ libc.src.pthread.pthread_equal
+ libc.src.pthread.pthread_exit
+ libc.src.pthread.pthread_getname_np
+ libc.src.pthread.pthread_getspecific
+ libc.src.pthread.pthread_join
+ libc.src.pthread.pthread_key_create
+ libc.src.pthread.pthread_key_delete
+ libc.src.pthread.pthread_mutex_destroy
+ libc.src.pthread.pthread_mutex_init
+ libc.src.pthread.pthread_mutex_lock
+ libc.src.pthread.pthread_mutex_unlock
+ libc.src.pthread.pthread_mutexattr_destroy
+ libc.src.pthread.pthread_mutexattr_getpshared
+ libc.src.pthread.pthread_mutexattr_getrobust
+ libc.src.pthread.pthread_mutexattr_gettype
+ libc.src.pthread.pthread_mutexattr_init
+ libc.src.pthread.pthread_mutexattr_setpshared
+ libc.src.pthread.pthread_mutexattr_setrobust
+ libc.src.pthread.pthread_mutexattr_settype
+ libc.src.pthread.pthread_once
+ libc.src.pthread.pthread_rwlock_clockrdlock
+ libc.src.pthread.pthread_rwlock_clockwrlock
+ libc.src.pthread.pthread_rwlock_destroy
+ libc.src.pthread.pthread_rwlock_init
+ libc.src.pthread.pthread_rwlock_rdlock
+ libc.src.pthread.pthread_rwlock_timedrdlock
+ libc.src.pthread.pthread_rwlock_timedwrlock
+ libc.src.pthread.pthread_rwlock_tryrdlock
+ libc.src.pthread.pthread_rwlock_trywrlock
+ libc.src.pthread.pthread_rwlock_unlock
+ libc.src.pthread.pthread_rwlock_wrlock
+ libc.src.pthread.pthread_rwlockattr_destroy
+ libc.src.pthread.pthread_rwlockattr_getkind_np
+ libc.src.pthread.pthread_rwlockattr_getpshared
+ libc.src.pthread.pthread_rwlockattr_init
+ libc.src.pthread.pthread_rwlockattr_setkind_np
+ libc.src.pthread.pthread_rwlockattr_setpshared
+ libc.src.pthread.pthread_spin_destroy
+ libc.src.pthread.pthread_spin_init
+ libc.src.pthread.pthread_spin_lock
+ libc.src.pthread.pthread_spin_trylock
+ libc.src.pthread.pthread_spin_unlock
+ libc.src.pthread.pthread_self
+ libc.src.pthread.pthread_setname_np
+ libc.src.pthread.pthread_setspecific
+
+ # sched.h entrypoints
+ libc.src.sched.__sched_getcpucount
+ libc.src.sched.__sched_setcpuzero
+ libc.src.sched.__sched_setcpuset
+ libc.src.sched.__sched_getcpuisset
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.clearerr_unlocked
+ libc.src.stdio.fclose
+ libc.src.stdio.fdopen
+ libc.src.stdio.feof
+ libc.src.stdio.feof_unlocked
+ libc.src.stdio.ferror
+ libc.src.stdio.ferror_unlocked
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgetc_unlocked
+ libc.src.stdio.fgets
+ libc.src.stdio.fileno
+ libc.src.stdio.flockfile
+ libc.src.stdio.fopen
+ libc.src.stdio.fopencookie
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fread_unlocked
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.funlockfile
+ libc.src.stdio.fwrite
+ libc.src.stdio.fwrite_unlocked
+ libc.src.stdio.getc
+ libc.src.stdio.getc_unlocked
+ libc.src.stdio.getchar
+ libc.src.stdio.getchar_unlocked
+ libc.src.stdio.perror
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.setbuf
+ libc.src.stdio.setvbuf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.atexit
+ libc.src.stdlib.exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.quick_exit
+
+ # signal.h entrypoints
+ libc.src.signal.kill
+ libc.src.signal.raise
+ libc.src.signal.sigaction
+ libc.src.signal.sigaddset
+ libc.src.signal.sigaltstack
+ libc.src.signal.sigdelset
+ libc.src.signal.sigemptyset
+ libc.src.signal.sigfillset
+ libc.src.signal.signal
+ libc.src.signal.sigprocmask
+
+ # spawn.h entrypoints
+ libc.src.spawn.posix_spawn
+ libc.src.spawn.posix_spawn_file_actions_addclose
+ libc.src.spawn.posix_spawn_file_actions_adddup2
+ libc.src.spawn.posix_spawn_file_actions_addopen
+ libc.src.spawn.posix_spawn_file_actions_destroy
+ libc.src.spawn.posix_spawn_file_actions_init
+
+ # search.h entrypoints
+ libc.src.search.hcreate
+ libc.src.search.hcreate_r
+ libc.src.search.hdestroy
+ libc.src.search.hdestroy_r
+ libc.src.search.hsearch
+ libc.src.search.hsearch_r
+ libc.src.search.insque
+ libc.src.search.lfind
+ libc.src.search.lsearch
+ libc.src.search.remque
+
+ # threads.h entrypoints
+ libc.src.threads.call_once
+ libc.src.threads.cnd_broadcast
+ libc.src.threads.cnd_destroy
+ libc.src.threads.cnd_init
+ libc.src.threads.cnd_signal
+ libc.src.threads.cnd_wait
+ libc.src.threads.mtx_destroy
+ libc.src.threads.mtx_init
+ libc.src.threads.mtx_lock
+ libc.src.threads.mtx_unlock
+ libc.src.threads.thrd_create
+ libc.src.threads.thrd_current
+ libc.src.threads.thrd_detach
+ libc.src.threads.thrd_equal
+ libc.src.threads.thrd_exit
+ libc.src.threads.thrd_join
+ libc.src.threads.tss_create
+ libc.src.threads.tss_delete
+ libc.src.threads.tss_get
+ libc.src.threads.tss_set
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.clock
+ libc.src.time.clock_gettime
+ libc.src.time.clock_settime
+ libc.src.time.difftime
+ libc.src.time.gettimeofday
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.mktime
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.time
+ libc.src.time.timespec_get
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # unistd.h entrypoints
+ libc.src.unistd.__llvm_libc_syscall
+ libc.src.unistd._exit
+ libc.src.unistd.environ
+ libc.src.unistd.execv
+ libc.src.unistd.fork
+ libc.src.unistd.getopt
+ libc.src.unistd.optarg
+ libc.src.unistd.opterr
+ libc.src.unistd.optind
+ libc.src.unistd.optopt
+ libc.src.unistd.swab
+
+ # sys/select.h entrypoints
+ libc.src.sys.select.select
+
+ # sys/socket.h entrypoints
+ libc.src.sys.socket.bind
+ libc.src.sys.socket.socket
+ libc.src.sys.socket.socketpair
+ libc.src.sys.socket.send
+ libc.src.sys.socket.sendto
+ libc.src.sys.socket.sendmsg
+ libc.src.sys.socket.recv
+ libc.src.sys.socket.recvfrom
+ libc.src.sys.socket.recvmsg
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index 24df7e63e3ebf..1ae4f0f31cbb0 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -1416,3 +1416,1406 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBM_ENTRYPOINTS}
${TARGET_LIBMVEC_ENTRYPOINTS}
)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # dlfcn.h entrypoints
+ libc.src.dlfcn.dladdr
+ libc.src.dlfcn.dlclose
+ libc.src.dlfcn.dlerror
+ libc.src.dlfcn.dlopen
+ libc.src.dlfcn.dlsym
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # fcntl.h entrypoints
+ libc.src.fcntl.creat
+ libc.src.fcntl.fcntl
+ libc.src.fcntl.open
+ libc.src.fcntl.openat
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+
+ # sched.h entrypoints
+ libc.src.sched.getcpu
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
+ libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
+ libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
+ libc.src.sched.sched_yield
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strsignal
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strfromd
+ libc.src.stdlib.strfromf
+ libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.realloc
+
+ # stdio.h entrypoints
+ libc.src.stdio.fprintf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.printf
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vasprintf
+
+ # sys/epoll.h entrypoints
+ libc.src.sys.epoll.epoll_create
+ libc.src.sys.epoll.epoll_create1
+ libc.src.sys.epoll.epoll_ctl
+ libc.src.sys.epoll.epoll_pwait
+ libc.src.sys.epoll.epoll_wait
+ # TODO: Need to check if pwait2 is available before providing.
+ # https://github.com/llvm/llvm-project/issues/80060
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.madvise
+ libc.src.sys.mman.mincore
+ libc.src.sys.mman.mlock
+ libc.src.sys.mman.mlock2
+ libc.src.sys.mman.mlockall
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.mremap
+ libc.src.sys.mman.mprotect
+ libc.src.sys.mman.msync
+ libc.src.sys.mman.munlock
+ libc.src.sys.mman.munlockall
+ libc.src.sys.mman.munmap
+ libc.src.sys.mman.pkey_alloc
+ libc.src.sys.mman.pkey_free
+ libc.src.sys.mman.pkey_get
+ libc.src.sys.mman.pkey_mprotect
+ libc.src.sys.mman.pkey_set
+ libc.src.sys.mman.remap_file_pages
+ libc.src.sys.mman.posix_madvise
+ libc.src.sys.mman.shm_open
+ libc.src.sys.mman.shm_unlink
+
+ # sys/random.h entrypoints
+ libc.src.sys.random.getrandom
+
+ # sys/resource.h entrypoints
+ libc.src.sys.resource.getrlimit
+ libc.src.sys.resource.setrlimit
+
+ # sys/sendfile entrypoints
+ libc.src.sys.sendfile.sendfile
+
+ # sys/stat.h entrypoints
+ libc.src.sys.stat.chmod
+ libc.src.sys.stat.fchmod
+ libc.src.sys.stat.fchmodat
+ libc.src.sys.stat.fstat
+ libc.src.sys.stat.lstat
+ libc.src.sys.stat.mkdir
+ libc.src.sys.stat.mkdirat
+ libc.src.sys.stat.stat
+
+ # sys/statvfs.h
+ libc.src.sys.statvfs.fstatvfs
+ libc.src.sys.statvfs.statvfs
+
+ # sys/utimes.h entrypoints
+ libc.src.sys.time.utimes
+
+ # sys/utsname.h entrypoints
+ libc.src.sys.utsname.uname
+
+ # sys/wait.h entrypoints
+ libc.src.sys.wait.wait
+ libc.src.sys.wait.wait4
+ libc.src.sys.wait.waitpid
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/auxv.h entrypoints
+ libc.src.sys.auxv.getauxval
+
+ # termios.h entrypoints
+ libc.src.termios.cfgetispeed
+ libc.src.termios.cfgetospeed
+ libc.src.termios.cfsetispeed
+ libc.src.termios.cfsetospeed
+ libc.src.termios.tcdrain
+ libc.src.termios.tcflow
+ libc.src.termios.tcflush
+ libc.src.termios.tcgetattr
+ libc.src.termios.tcgetsid
+ libc.src.termios.tcsendbreak
+ libc.src.termios.tcsetattr
+
+ # unistd.h entrypoints
+ libc.src.unistd.access
+ libc.src.unistd.chdir
+ libc.src.unistd.chown
+ libc.src.unistd.close
+ libc.src.unistd.dup
+ libc.src.unistd.dup2
+ libc.src.unistd.dup3
+ libc.src.unistd.execve
+ libc.src.unistd.faccessat
+ libc.src.unistd.fchdir
+ libc.src.unistd.fchown
+ libc.src.unistd.fpathconf
+ libc.src.unistd.fsync
+ libc.src.unistd.ftruncate
+ libc.src.unistd.getcwd
+ libc.src.unistd.getentropy
+ libc.src.unistd.geteuid
+ libc.src.unistd.gethostname
+ libc.src.unistd.getpagesize
+ libc.src.unistd.getpid
+ libc.src.unistd.getppid
+ libc.src.unistd.getsid
+ libc.src.unistd.gettid
+ libc.src.unistd.getgid
+ libc.src.unistd.getuid
+ libc.src.unistd.isatty
+ libc.src.unistd.link
+ libc.src.unistd.linkat
+ libc.src.unistd.lseek
+ libc.src.unistd.pathconf
+ libc.src.unistd.pipe
+ libc.src.unistd.pipe2
+ libc.src.unistd.pread
+ libc.src.unistd.pwrite
+ libc.src.unistd.read
+ libc.src.unistd.readlink
+ libc.src.unistd.readlinkat
+ libc.src.unistd.rmdir
+ libc.src.unistd.setsid
+ libc.src.unistd.symlink
+ libc.src.unistd.symlinkat
+ libc.src.unistd.sysconf
+ libc.src.unistd.truncate
+ libc.src.unistd.unlink
+ libc.src.unistd.unlinkat
+ libc.src.unistd.write
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wcsnlen
+ libc.src.wchar.wctob
+ libc.src.wchar.wmemmove
+ libc.src.wchar.wmemset
+ libc.src.wchar.wcschr
+ libc.src.wchar.wcsncmp
+ libc.src.wchar.wcscmp
+ libc.src.wchar.wcspbrk
+ libc.src.wchar.wcsrchr
+ libc.src.wchar.wcsspn
+ libc.src.wchar.wcscspn
+ libc.src.wchar.wcsdup
+ libc.src.wchar.wmemcmp
+ libc.src.wchar.wmempcpy
+ libc.src.wchar.wmemcpy
+ libc.src.wchar.wcsncpy
+ libc.src.wchar.wcscat
+ libc.src.wchar.wcsstr
+ libc.src.wchar.wcsncat
+ libc.src.wchar.wcslcat
+ libc.src.wchar.wcscpy
+ libc.src.wchar.wcslcpy
+ libc.src.wchar.wmemchr
+ libc.src.wchar.wcpcpy
+ libc.src.wchar.wcpncpy
+ libc.src.wchar.wcstod
+ libc.src.wchar.wcstof
+ libc.src.wchar.wcstok
+ libc.src.wchar.wcstol
+ libc.src.wchar.wcstold
+ libc.src.wchar.wcstoll
+ libc.src.wchar.wcstoul
+ libc.src.wchar.wcstoull
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+
+ # sys/uio.h entrypoints
+ libc.src.sys.uio.writev
+ libc.src.sys.uio.readv
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+)
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+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
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+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.asinpif16
+ libc.src.math.atanf16
+ libc.src.math.atanhf16
+ libc.src.math.atanpif16
+ 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
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ 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
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log2f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.rsqrtf
+ libc.src.math.rsqrtf16
+ libc.src.math.scalblnf16
+ 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
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.atan2f128
+ libc.src.math.canonicalizef128
+ libc.src.math.ceilf128
+ libc.src.math.copysignf128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.fabsf128
+ libc.src.math.faddf128
+ libc.src.math.fdimf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.floorf128
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximumf128
+ libc.src.math.fminf128
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimumf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.iscanonicalf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.llrintf128
+ libc.src.math.llroundf128
+ libc.src.math.logbf128
+ libc.src.math.lrintf128
+ libc.src.math.lroundf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nearbyintf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.rintf128
+ libc.src.math.roundevenf128
+ libc.src.math.roundf128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.sqrtf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.truncf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ libc.src.stdfix.rdivi
+ )
+endif()
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # dirent.h entrypoints
+ libc.src.dirent.closedir
+ libc.src.dirent.dirfd
+ libc.src.dirent.opendir
+ libc.src.dirent.readdir
+
+ # arpa/inet.h entrypoints
+ libc.src.arpa.inet.htonl
+ libc.src.arpa.inet.htons
+ libc.src.arpa.inet.inet_addr
+ libc.src.arpa.inet.inet_aton
+ libc.src.arpa.inet.ntohl
+ libc.src.arpa.inet.ntohs
+
+ # pthread.h entrypoints
+ libc.src.pthread.pthread_atfork
+ libc.src.pthread.pthread_attr_destroy
+ libc.src.pthread.pthread_attr_getdetachstate
+ libc.src.pthread.pthread_attr_getguardsize
+ libc.src.pthread.pthread_attr_getstack
+ libc.src.pthread.pthread_attr_getstacksize
+ libc.src.pthread.pthread_attr_init
+ libc.src.pthread.pthread_attr_setdetachstate
+ libc.src.pthread.pthread_attr_setguardsize
+ libc.src.pthread.pthread_attr_setstack
+ libc.src.pthread.pthread_attr_setstacksize
+ libc.src.pthread.pthread_condattr_destroy
+ libc.src.pthread.pthread_condattr_getclock
+ libc.src.pthread.pthread_condattr_getpshared
+ libc.src.pthread.pthread_condattr_init
+ libc.src.pthread.pthread_condattr_setclock
+ libc.src.pthread.pthread_condattr_setpshared
+ libc.src.pthread.pthread_create
+ libc.src.pthread.pthread_detach
+ libc.src.pthread.pthread_equal
+ libc.src.pthread.pthread_exit
+ libc.src.pthread.pthread_getname_np
+ libc.src.pthread.pthread_getspecific
+ libc.src.pthread.pthread_join
+ libc.src.pthread.pthread_key_create
+ libc.src.pthread.pthread_key_delete
+ libc.src.pthread.pthread_barrier_init
+ libc.src.pthread.pthread_barrier_wait
+ libc.src.pthread.pthread_barrier_destroy
+ libc.src.pthread.pthread_mutex_destroy
+ libc.src.pthread.pthread_mutex_init
+ libc.src.pthread.pthread_mutex_lock
+ libc.src.pthread.pthread_mutex_unlock
+ libc.src.pthread.pthread_mutexattr_destroy
+ libc.src.pthread.pthread_mutexattr_getpshared
+ libc.src.pthread.pthread_mutexattr_getrobust
+ libc.src.pthread.pthread_mutexattr_gettype
+ libc.src.pthread.pthread_mutexattr_init
+ libc.src.pthread.pthread_mutexattr_setpshared
+ libc.src.pthread.pthread_mutexattr_setrobust
+ libc.src.pthread.pthread_mutexattr_settype
+ libc.src.pthread.pthread_once
+ libc.src.pthread.pthread_rwlock_clockrdlock
+ libc.src.pthread.pthread_rwlock_clockwrlock
+ libc.src.pthread.pthread_rwlock_destroy
+ libc.src.pthread.pthread_rwlock_init
+ libc.src.pthread.pthread_rwlock_rdlock
+ libc.src.pthread.pthread_rwlock_timedrdlock
+ libc.src.pthread.pthread_rwlock_timedwrlock
+ libc.src.pthread.pthread_rwlock_tryrdlock
+ libc.src.pthread.pthread_rwlock_trywrlock
+ libc.src.pthread.pthread_rwlock_unlock
+ libc.src.pthread.pthread_rwlock_wrlock
+ libc.src.pthread.pthread_rwlockattr_destroy
+ libc.src.pthread.pthread_rwlockattr_getkind_np
+ libc.src.pthread.pthread_rwlockattr_getpshared
+ libc.src.pthread.pthread_rwlockattr_init
+ libc.src.pthread.pthread_rwlockattr_setkind_np
+ libc.src.pthread.pthread_rwlockattr_setpshared
+ libc.src.pthread.pthread_spin_destroy
+ libc.src.pthread.pthread_spin_init
+ libc.src.pthread.pthread_spin_lock
+ libc.src.pthread.pthread_spin_trylock
+ libc.src.pthread.pthread_spin_unlock
+ libc.src.pthread.pthread_self
+ libc.src.pthread.pthread_setname_np
+ libc.src.pthread.pthread_setspecific
+
+ # sched.h entrypoints
+ libc.src.sched.__sched_getcpucount
+ libc.src.sched.__sched_setcpuzero
+ libc.src.sched.__sched_setcpuset
+ libc.src.sched.__sched_getcpuisset
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.clearerr_unlocked
+ libc.src.stdio.fclose
+ libc.src.stdio.fdopen
+ libc.src.stdio.feof
+ libc.src.stdio.feof_unlocked
+ libc.src.stdio.ferror
+ libc.src.stdio.ferror_unlocked
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgetc_unlocked
+ libc.src.stdio.fgets
+ libc.src.stdio.fileno
+ libc.src.stdio.flockfile
+ libc.src.stdio.fopen
+ libc.src.stdio.fopencookie
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fread_unlocked
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.funlockfile
+ libc.src.stdio.fwrite
+ libc.src.stdio.fwrite_unlocked
+ libc.src.stdio.getc
+ libc.src.stdio.getc_unlocked
+ libc.src.stdio.getchar
+ libc.src.stdio.getchar_unlocked
+ libc.src.stdio.perror
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.setbuf
+ libc.src.stdio.setvbuf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.atexit
+ libc.src.stdlib.exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.mbstowcs
+ libc.src.stdlib.mbtowc
+ libc.src.stdlib.quick_exit
+ libc.src.stdlib.wcstombs
+ libc.src.stdlib.wctomb
+
+ # signal.h entrypoints
+ libc.src.signal.kill
+ libc.src.signal.raise
+ libc.src.signal.sigaction
+ libc.src.signal.sigaddset
+ libc.src.signal.sigaltstack
+ libc.src.signal.sigdelset
+ libc.src.signal.sigemptyset
+ libc.src.signal.sigfillset
+ libc.src.signal.signal
+ libc.src.signal.sigprocmask
+
+ # spawn.h entrypoints
+ libc.src.spawn.posix_spawn
+ libc.src.spawn.posix_spawn_file_actions_addclose
+ libc.src.spawn.posix_spawn_file_actions_adddup2
+ libc.src.spawn.posix_spawn_file_actions_addopen
+ libc.src.spawn.posix_spawn_file_actions_destroy
+ libc.src.spawn.posix_spawn_file_actions_init
+
+ # search.h entrypoints
+ libc.src.search.hcreate
+ libc.src.search.hcreate_r
+ libc.src.search.hdestroy
+ libc.src.search.hdestroy_r
+ libc.src.search.hsearch
+ libc.src.search.hsearch_r
+ libc.src.search.insque
+ libc.src.search.lfind
+ libc.src.search.lsearch
+ libc.src.search.remque
+
+ # threads.h entrypoints
+ libc.src.threads.call_once
+ libc.src.threads.cnd_broadcast
+ libc.src.threads.cnd_destroy
+ libc.src.threads.cnd_init
+ libc.src.threads.cnd_signal
+ libc.src.threads.cnd_wait
+ libc.src.threads.mtx_destroy
+ libc.src.threads.mtx_init
+ libc.src.threads.mtx_lock
+ libc.src.threads.mtx_unlock
+ libc.src.threads.thrd_create
+ libc.src.threads.thrd_current
+ libc.src.threads.thrd_detach
+ libc.src.threads.thrd_equal
+ libc.src.threads.thrd_exit
+ libc.src.threads.thrd_join
+ libc.src.threads.tss_create
+ libc.src.threads.tss_delete
+ libc.src.threads.tss_get
+ libc.src.threads.tss_set
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.clock
+ libc.src.time.clock_gettime
+ libc.src.time.clock_settime
+ libc.src.time.difftime
+ libc.src.time.gettimeofday
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.time
+ libc.src.time.timespec_get
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # unistd.h entrypoints
+ libc.src.unistd.__llvm_libc_syscall
+ libc.src.unistd._exit
+ libc.src.unistd.environ
+ libc.src.unistd.execv
+ libc.src.unistd.fork
+ libc.src.unistd.getopt
+ libc.src.unistd.optarg
+ libc.src.unistd.opterr
+ libc.src.unistd.optind
+ libc.src.unistd.optopt
+ libc.src.unistd.swab
+
+ # sys/select.h entrypoints
+ libc.src.sys.select.select
+
+ # sys/socket.h entrypoints
+ libc.src.sys.socket.socket
+ libc.src.sys.socket.bind
+ libc.src.sys.socket.socketpair
+ libc.src.sys.socket.send
+ libc.src.sys.socket.sendto
+ libc.src.sys.socket.sendmsg
+ libc.src.sys.socket.recv
+ libc.src.sys.socket.recvfrom
+ libc.src.sys.socket.recvmsg
+
+ # wchar.h entrypoints
+ libc.src.wchar.mblen
+ libc.src.wchar.mbrlen
+ libc.src.wchar.mbsinit
+ libc.src.wchar.mbrtowc
+ libc.src.wchar.mbsrtowcs
+ libc.src.wchar.mbsnrtowcs
+ libc.src.wchar.wcrtomb
+ libc.src.wchar.wcsrtombs
+ libc.src.wchar.wcsnrtombs
+
+ # nl_types.h entrypoints
+ libc.src.nl_types.catopen
+ libc.src.nl_types.catclose
+ libc.src.nl_types.catgets
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/windows/entrypoints.txt b/libc/config/windows/entrypoints.txt
index f777fc6c94bc2..7f5913a1cce3c 100644
--- a/libc/config/windows/entrypoints.txt
+++ b/libc/config/windows/entrypoints.txt
@@ -384,3 +384,388 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBM_ENTRYPOINTS}
)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.free
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # time.h entrypoints
+ libc.src.time.time
+ libc.src.time.clock_getres
+
+ # unistd.h entrypoints
+ libc.src.unistd.getentropy
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignl
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceill
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.expf
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminl
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxl
+ libc.src.math.fmaximum
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximuml
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fminimum
+ libc.src.math.fminimumf
+ libc.src.math.fminimuml
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fmul
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundl
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.log
+ libc.src.math.logf
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainderf
+ libc.src.math.remainder
+ libc.src.math.remainderl
+ libc.src.math.remquof
+ libc.src.math.remquo
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundf
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.sin
+ libc.src.math.sincosf
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
+
diff --git a/libc/src/math/CMakeLists.txt b/libc/src/math/CMakeLists.txt
index e617950368994..21620d9cf89da 100644
--- a/libc/src/math/CMakeLists.txt
+++ b/libc/src/math/CMakeLists.txt
@@ -645,3 +645,649 @@ add_math_entrypoint_object(bf16sub)
add_math_entrypoint_object(bf16subf)
add_math_entrypoint_object(bf16subl)
add_math_entrypoint_object(bf16subf128)
+add_subdirectory(generic)
+if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_ARCHITECTURE})
+ add_subdirectory(${LIBC_TARGET_ARCHITECTURE})
+endif()
+
+function(add_math_entrypoint_object name)
+ # We prefer machine specific implementation if available. Hence we check
+ # that first and return early if we are able to add an alias target for the
+ # machine specific implementation.
+ get_fq_target_name("${LIBC_TARGET_ARCHITECTURE}.${name}" fq_machine_specific_target_name)
+ if(TARGET ${fq_machine_specific_target_name})
+ add_entrypoint_object(
+ ${name}
+ ALIAS
+ DEPENDS
+ .${LIBC_TARGET_ARCHITECTURE}.${name}
+ )
+ return()
+ endif()
+
+ get_fq_target_name("generic.${name}" fq_generic_target_name)
+ if(TARGET ${fq_generic_target_name})
+ add_entrypoint_object(
+ ${name}
+ ALIAS
+ DEPENDS
+ .generic.${name}
+ )
+ return()
+ endif()
+
+ # Add a dummy entrypoint object for missing implementations. They will be skipped
+ # anyway as there will be no entry for them in the target entrypoints list.
+ add_entrypoint_object(
+ ${name}
+ SRCS
+ dummy_srcs
+ HDRS
+ dummy_hdrs
+ )
+endfunction()
+
+add_math_entrypoint_object(acos)
+add_math_entrypoint_object(acosf)
+add_math_entrypoint_object(acosf16)
+
+add_math_entrypoint_object(acosh)
+add_math_entrypoint_object(acoshf)
+add_math_entrypoint_object(acoshf16)
+
+add_math_entrypoint_object(acospif16)
+
+add_math_entrypoint_object(asin)
+add_math_entrypoint_object(asinf)
+add_math_entrypoint_object(asinf16)
+
+add_math_entrypoint_object(asinh)
+add_math_entrypoint_object(asinhf)
+add_math_entrypoint_object(asinhf16)
+
+add_math_entrypoint_object(asinpif16)
+
+add_math_entrypoint_object(atan)
+add_math_entrypoint_object(atanf)
+add_math_entrypoint_object(atanf16)
+
+add_math_entrypoint_object(atan2)
+add_math_entrypoint_object(atan2f)
+add_math_entrypoint_object(atan2l)
+add_math_entrypoint_object(atan2f128)
+
+add_math_entrypoint_object(atanh)
+add_math_entrypoint_object(atanhf)
+add_math_entrypoint_object(atanhf16)
+
+add_math_entrypoint_object(atanpif16)
+
+add_math_entrypoint_object(canonicalize)
+add_math_entrypoint_object(canonicalizef)
+add_math_entrypoint_object(canonicalizel)
+add_math_entrypoint_object(canonicalizef16)
+add_math_entrypoint_object(canonicalizef128)
+add_math_entrypoint_object(canonicalizebf16)
+
+add_math_entrypoint_object(iscanonical)
+add_math_entrypoint_object(iscanonicalf)
+add_math_entrypoint_object(iscanonicall)
+add_math_entrypoint_object(iscanonicalf16)
+add_math_entrypoint_object(iscanonicalf128)
+add_math_entrypoint_object(iscanonicalbf16)
+
+add_math_entrypoint_object(cbrt)
+add_math_entrypoint_object(cbrtf)
+
+add_math_entrypoint_object(ceil)
+add_math_entrypoint_object(ceilf)
+add_math_entrypoint_object(ceill)
+add_math_entrypoint_object(ceilf16)
+add_math_entrypoint_object(ceilf128)
+add_math_entrypoint_object(ceilbf16)
+
+add_math_entrypoint_object(copysign)
+add_math_entrypoint_object(copysignf)
+add_math_entrypoint_object(copysignl)
+add_math_entrypoint_object(copysignf16)
+add_math_entrypoint_object(copysignf128)
+add_math_entrypoint_object(copysignbf16)
+
+add_math_entrypoint_object(cos)
+add_math_entrypoint_object(cosf)
+add_math_entrypoint_object(cosf16)
+
+add_math_entrypoint_object(cosh)
+add_math_entrypoint_object(coshf)
+add_math_entrypoint_object(coshf16)
+
+add_math_entrypoint_object(cospif)
+add_math_entrypoint_object(cospif16)
+
+add_math_entrypoint_object(daddl)
+add_math_entrypoint_object(daddf128)
+add_math_entrypoint_object(ddivl)
+add_math_entrypoint_object(ddivf128)
+add_math_entrypoint_object(dmull)
+add_math_entrypoint_object(dmulf128)
+
+add_math_entrypoint_object(dfmal)
+add_math_entrypoint_object(dfmaf128)
+
+add_math_entrypoint_object(dsqrtl)
+add_math_entrypoint_object(dsqrtf128)
+
+add_math_entrypoint_object(dsubl)
+add_math_entrypoint_object(dsubf128)
+
+add_math_entrypoint_object(erf)
+add_math_entrypoint_object(erff)
+
+add_math_entrypoint_object(exp)
+add_math_entrypoint_object(expf)
+add_math_entrypoint_object(expf16)
+
+add_math_entrypoint_object(exp2)
+add_math_entrypoint_object(exp2f)
+add_math_entrypoint_object(exp2f16)
+
+add_math_entrypoint_object(exp2m1f)
+add_math_entrypoint_object(exp2m1f16)
+
+add_math_entrypoint_object(exp10)
+add_math_entrypoint_object(exp10f)
+add_math_entrypoint_object(exp10f16)
+
+add_math_entrypoint_object(exp10m1f)
+add_math_entrypoint_object(exp10m1f16)
+
+add_math_entrypoint_object(expm1)
+add_math_entrypoint_object(expm1f)
+add_math_entrypoint_object(expm1f16)
+
+add_math_entrypoint_object(f16add)
+add_math_entrypoint_object(f16addf)
+add_math_entrypoint_object(f16addl)
+add_math_entrypoint_object(f16addf128)
+
+add_math_entrypoint_object(f16div)
+add_math_entrypoint_object(f16divf)
+add_math_entrypoint_object(f16divl)
+add_math_entrypoint_object(f16divf128)
+
+add_math_entrypoint_object(f16fma)
+add_math_entrypoint_object(f16fmaf)
+add_math_entrypoint_object(f16fmal)
+add_math_entrypoint_object(f16fmaf128)
+
+add_math_entrypoint_object(f16mul)
+add_math_entrypoint_object(f16mulf)
+add_math_entrypoint_object(f16mull)
+add_math_entrypoint_object(f16mulf128)
+
+add_math_entrypoint_object(f16sqrt)
+add_math_entrypoint_object(f16sqrtf)
+add_math_entrypoint_object(f16sqrtl)
+add_math_entrypoint_object(f16sqrtf128)
+
+add_math_entrypoint_object(fsqrt)
+add_math_entrypoint_object(fsqrtl)
+add_math_entrypoint_object(fsqrtf128)
+
+add_math_entrypoint_object(f16sub)
+add_math_entrypoint_object(f16subf)
+add_math_entrypoint_object(f16subl)
+add_math_entrypoint_object(f16subf128)
+
+add_math_entrypoint_object(fabs)
+add_math_entrypoint_object(fabsf)
+add_math_entrypoint_object(fabsl)
+add_math_entrypoint_object(fabsf16)
+add_math_entrypoint_object(fabsf128)
+add_math_entrypoint_object(fabsbf16)
+
+add_math_entrypoint_object(fadd)
+add_math_entrypoint_object(faddl)
+add_math_entrypoint_object(faddf128)
+
+add_math_entrypoint_object(fdim)
+add_math_entrypoint_object(fdimf)
+add_math_entrypoint_object(fdiml)
+add_math_entrypoint_object(fdimf16)
+add_math_entrypoint_object(fdimf128)
+add_math_entrypoint_object(fdimbf16)
+
+add_math_entrypoint_object(fdiv)
+add_math_entrypoint_object(fdivl)
+add_math_entrypoint_object(fdivf128)
+
+add_math_entrypoint_object(ffma)
+add_math_entrypoint_object(ffmal)
+add_math_entrypoint_object(ffmaf128)
+
+add_math_entrypoint_object(floor)
+add_math_entrypoint_object(floorf)
+add_math_entrypoint_object(floorl)
+add_math_entrypoint_object(floorf16)
+add_math_entrypoint_object(floorf128)
+add_math_entrypoint_object(floorbf16)
+
+add_math_entrypoint_object(fma)
+add_math_entrypoint_object(fmaf)
+add_math_entrypoint_object(fmaf16)
+add_math_entrypoint_object(fmabf16)
+
+add_math_entrypoint_object(fmax)
+add_math_entrypoint_object(fmaxf)
+add_math_entrypoint_object(fmaxl)
+add_math_entrypoint_object(fmaxf128)
+add_math_entrypoint_object(fmaxf16)
+add_math_entrypoint_object(fmaxbf16)
+
+add_math_entrypoint_object(fmin)
+add_math_entrypoint_object(fminf)
+add_math_entrypoint_object(fminl)
+add_math_entrypoint_object(fminf128)
+add_math_entrypoint_object(fminf16)
+add_math_entrypoint_object(fminbf16)
+
+add_math_entrypoint_object(fmaximum)
+add_math_entrypoint_object(fmaximumf)
+add_math_entrypoint_object(fmaximuml)
+add_math_entrypoint_object(fmaximumf16)
+add_math_entrypoint_object(fmaximumf128)
+add_math_entrypoint_object(fmaximumbf16)
+
+add_math_entrypoint_object(fmaximum_num)
+add_math_entrypoint_object(fmaximum_numf)
+add_math_entrypoint_object(fmaximum_numl)
+add_math_entrypoint_object(fmaximum_numf16)
+add_math_entrypoint_object(fmaximum_numf128)
+add_math_entrypoint_object(fmaximum_numbf16)
+
+add_math_entrypoint_object(fmaximum_mag)
+add_math_entrypoint_object(fmaximum_magf)
+add_math_entrypoint_object(fmaximum_magl)
+add_math_entrypoint_object(fmaximum_magf16)
+add_math_entrypoint_object(fmaximum_magf128)
+add_math_entrypoint_object(fmaximum_magbf16)
+
+add_math_entrypoint_object(fmaximum_mag_num)
+add_math_entrypoint_object(fmaximum_mag_numf)
+add_math_entrypoint_object(fmaximum_mag_numl)
+add_math_entrypoint_object(fmaximum_mag_numf16)
+add_math_entrypoint_object(fmaximum_mag_numf128)
+add_math_entrypoint_object(fmaximum_mag_numbf16)
+
+add_math_entrypoint_object(fminimum)
+add_math_entrypoint_object(fminimumf)
+add_math_entrypoint_object(fminimuml)
+add_math_entrypoint_object(fminimumf16)
+add_math_entrypoint_object(fminimumf128)
+add_math_entrypoint_object(fminimumbf16)
+
+add_math_entrypoint_object(fminimum_num)
+add_math_entrypoint_object(fminimum_numf)
+add_math_entrypoint_object(fminimum_numl)
+add_math_entrypoint_object(fminimum_numf16)
+add_math_entrypoint_object(fminimum_numf128)
+add_math_entrypoint_object(fminimum_numbf16)
+
+add_math_entrypoint_object(fminimum_mag)
+add_math_entrypoint_object(fminimum_magf)
+add_math_entrypoint_object(fminimum_magl)
+add_math_entrypoint_object(fminimum_magf16)
+add_math_entrypoint_object(fminimum_magf128)
+add_math_entrypoint_object(fminimum_magbf16)
+
+add_math_entrypoint_object(fminimum_mag_num)
+add_math_entrypoint_object(fminimum_mag_numf)
+add_math_entrypoint_object(fminimum_mag_numl)
+add_math_entrypoint_object(fminimum_mag_numf16)
+add_math_entrypoint_object(fminimum_mag_numf128)
+add_math_entrypoint_object(fminimum_mag_numbf16)
+
+add_math_entrypoint_object(fmul)
+add_math_entrypoint_object(fmull)
+add_math_entrypoint_object(fmulf128)
+
+add_math_entrypoint_object(fmod)
+add_math_entrypoint_object(fmodf)
+add_math_entrypoint_object(fmodl)
+add_math_entrypoint_object(fmodf16)
+add_math_entrypoint_object(fmodf128)
+add_math_entrypoint_object(fmodbf16)
+
+add_math_entrypoint_object(frexp)
+add_math_entrypoint_object(frexpf)
+add_math_entrypoint_object(frexpl)
+add_math_entrypoint_object(frexpf16)
+add_math_entrypoint_object(frexpf128)
+add_math_entrypoint_object(frexpbf16)
+
+add_math_entrypoint_object(fromfp)
+add_math_entrypoint_object(fromfpf)
+add_math_entrypoint_object(fromfpl)
+add_math_entrypoint_object(fromfpf16)
+add_math_entrypoint_object(fromfpf128)
+add_math_entrypoint_object(fromfpbf16)
+
+add_math_entrypoint_object(fromfpx)
+add_math_entrypoint_object(fromfpxf)
+add_math_entrypoint_object(fromfpxl)
+add_math_entrypoint_object(fromfpxf16)
+add_math_entrypoint_object(fromfpxf128)
+add_math_entrypoint_object(fromfpxbf16)
+
+add_math_entrypoint_object(fsub)
+add_math_entrypoint_object(fsubl)
+add_math_entrypoint_object(fsubf128)
+
+add_math_entrypoint_object(getpayload)
+add_math_entrypoint_object(getpayloadf)
+add_math_entrypoint_object(getpayloadl)
+add_math_entrypoint_object(getpayloadf16)
+add_math_entrypoint_object(getpayloadf128)
+add_math_entrypoint_object(getpayloadbf16)
+
+add_math_entrypoint_object(hypot)
+add_math_entrypoint_object(hypotf)
+add_math_entrypoint_object(hypotf16)
+
+add_math_entrypoint_object(ilogb)
+add_math_entrypoint_object(ilogbf)
+add_math_entrypoint_object(ilogbl)
+add_math_entrypoint_object(ilogbf16)
+add_math_entrypoint_object(ilogbf128)
+add_math_entrypoint_object(ilogbbf16)
+
+add_math_entrypoint_object(isnan)
+add_math_entrypoint_object(isnanf)
+add_math_entrypoint_object(isnanl)
+
+add_math_entrypoint_object(issignaling)
+add_math_entrypoint_object(issignalingf)
+add_math_entrypoint_object(issignalingl)
+add_math_entrypoint_object(issignalingf16)
+add_math_entrypoint_object(issignalingf128)
+add_math_entrypoint_object(issignalingbf16)
+
+add_math_entrypoint_object(llogb)
+add_math_entrypoint_object(llogbf)
+add_math_entrypoint_object(llogbl)
+add_math_entrypoint_object(llogbf16)
+add_math_entrypoint_object(llogbf128)
+add_math_entrypoint_object(llogbbf16)
+
+add_math_entrypoint_object(ldexp)
+add_math_entrypoint_object(ldexpf)
+add_math_entrypoint_object(ldexpl)
+add_math_entrypoint_object(ldexpf16)
+add_math_entrypoint_object(ldexpf128)
+add_math_entrypoint_object(ldexpbf16)
+
+add_math_entrypoint_object(log10)
+add_math_entrypoint_object(log10f)
+add_math_entrypoint_object(log10f16)
+
+add_math_entrypoint_object(log1p)
+add_math_entrypoint_object(log1pf)
+
+add_math_entrypoint_object(log2)
+add_math_entrypoint_object(log2f)
+add_math_entrypoint_object(log2f16)
+
+add_math_entrypoint_object(log)
+add_math_entrypoint_object(logf)
+add_math_entrypoint_object(logf16)
+add_math_entrypoint_object(log_bf16)
+
+add_math_entrypoint_object(logb)
+add_math_entrypoint_object(logbf)
+add_math_entrypoint_object(logbl)
+add_math_entrypoint_object(logbf16)
+add_math_entrypoint_object(logbf128)
+add_math_entrypoint_object(logbbf16)
+
+add_math_entrypoint_object(llrint)
+add_math_entrypoint_object(llrintf)
+add_math_entrypoint_object(llrintl)
+add_math_entrypoint_object(llrintf16)
+add_math_entrypoint_object(llrintf128)
+add_math_entrypoint_object(llrintbf16)
+
+add_math_entrypoint_object(llround)
+add_math_entrypoint_object(llroundf)
+add_math_entrypoint_object(llroundl)
+add_math_entrypoint_object(llroundf16)
+add_math_entrypoint_object(llroundf128)
+add_math_entrypoint_object(llroundbf16)
+
+add_math_entrypoint_object(lrint)
+add_math_entrypoint_object(lrintf)
+add_math_entrypoint_object(lrintl)
+add_math_entrypoint_object(lrintf16)
+add_math_entrypoint_object(lrintf128)
+add_math_entrypoint_object(lrintbf16)
+
+add_math_entrypoint_object(lround)
+add_math_entrypoint_object(lroundf)
+add_math_entrypoint_object(lroundl)
+add_math_entrypoint_object(lroundf16)
+add_math_entrypoint_object(lroundf128)
+add_math_entrypoint_object(lroundbf16)
+
+add_math_entrypoint_object(modf)
+add_math_entrypoint_object(modff)
+add_math_entrypoint_object(modfl)
+add_math_entrypoint_object(modff16)
+add_math_entrypoint_object(modff128)
+add_math_entrypoint_object(modfbf16)
+
+add_math_entrypoint_object(nan)
+add_math_entrypoint_object(nanf)
+add_math_entrypoint_object(nanl)
+add_math_entrypoint_object(nanf16)
+add_math_entrypoint_object(nanf128)
+add_math_entrypoint_object(nanbf16)
+
+add_math_entrypoint_object(nearbyint)
+add_math_entrypoint_object(nearbyintf)
+add_math_entrypoint_object(nearbyintl)
+add_math_entrypoint_object(nearbyintf16)
+add_math_entrypoint_object(nearbyintf128)
+add_math_entrypoint_object(nearbyintbf16)
+
+add_math_entrypoint_object(nextafter)
+add_math_entrypoint_object(nextafterf)
+add_math_entrypoint_object(nextafterl)
+add_math_entrypoint_object(nextafterf16)
+add_math_entrypoint_object(nextafterf128)
+add_math_entrypoint_object(nextafterbf16)
+
+add_math_entrypoint_object(nexttoward)
+add_math_entrypoint_object(nexttowardf)
+add_math_entrypoint_object(nexttowardl)
+add_math_entrypoint_object(nexttowardf16)
+add_math_entrypoint_object(nexttowardbf16)
+
+add_math_entrypoint_object(nextdown)
+add_math_entrypoint_object(nextdownf)
+add_math_entrypoint_object(nextdownl)
+add_math_entrypoint_object(nextdownf16)
+add_math_entrypoint_object(nextdownf128)
+add_math_entrypoint_object(nextdownbf16)
+
+add_math_entrypoint_object(nextup)
+add_math_entrypoint_object(nextupf)
+add_math_entrypoint_object(nextupl)
+add_math_entrypoint_object(nextupf16)
+add_math_entrypoint_object(nextupf128)
+add_math_entrypoint_object(nextupbf16)
+
+add_math_entrypoint_object(pow)
+add_math_entrypoint_object(powf)
+add_math_entrypoint_object(powi)
+add_math_entrypoint_object(powif)
+
+add_math_entrypoint_object(remainder)
+add_math_entrypoint_object(remainderf)
+add_math_entrypoint_object(remainderl)
+add_math_entrypoint_object(remainderf16)
+add_math_entrypoint_object(remainderf128)
+add_math_entrypoint_object(remainderbf16)
+
+add_math_entrypoint_object(remquo)
+add_math_entrypoint_object(remquof)
+add_math_entrypoint_object(remquol)
+add_math_entrypoint_object(remquof16)
+add_math_entrypoint_object(remquof128)
+add_math_entrypoint_object(remquobf16)
+
+add_math_entrypoint_object(rint)
+add_math_entrypoint_object(rintf)
+add_math_entrypoint_object(rintl)
+add_math_entrypoint_object(rintf16)
+add_math_entrypoint_object(rintf128)
+add_math_entrypoint_object(rintbf16)
+
+add_math_entrypoint_object(round)
+add_math_entrypoint_object(roundf)
+add_math_entrypoint_object(roundl)
+add_math_entrypoint_object(roundf16)
+add_math_entrypoint_object(roundf128)
+add_math_entrypoint_object(roundbf16)
+
+add_math_entrypoint_object(roundeven)
+add_math_entrypoint_object(roundevenf)
+add_math_entrypoint_object(roundevenl)
+add_math_entrypoint_object(roundevenf16)
+add_math_entrypoint_object(roundevenf128)
+add_math_entrypoint_object(roundevenbf16)
+
+add_math_entrypoint_object(rsqrtf)
+add_math_entrypoint_object(rsqrtf16)
+
+add_math_entrypoint_object(scalbln)
+add_math_entrypoint_object(scalblnf)
+add_math_entrypoint_object(scalblnl)
+add_math_entrypoint_object(scalblnf16)
+add_math_entrypoint_object(scalblnf128)
+add_math_entrypoint_object(scalblnbf16)
+
+add_math_entrypoint_object(scalbn)
+add_math_entrypoint_object(scalbnf)
+add_math_entrypoint_object(scalbnl)
+add_math_entrypoint_object(scalbnf16)
+add_math_entrypoint_object(scalbnf128)
+add_math_entrypoint_object(scalbnbf16)
+
+add_math_entrypoint_object(setpayload)
+add_math_entrypoint_object(setpayloadf)
+add_math_entrypoint_object(setpayloadl)
+add_math_entrypoint_object(setpayloadf16)
+add_math_entrypoint_object(setpayloadf128)
+add_math_entrypoint_object(setpayloadbf16)
+
+add_math_entrypoint_object(setpayloadsig)
+add_math_entrypoint_object(setpayloadsigf)
+add_math_entrypoint_object(setpayloadsigl)
+add_math_entrypoint_object(setpayloadsigf16)
+add_math_entrypoint_object(setpayloadsigf128)
+add_math_entrypoint_object(setpayloadsigbf16)
+
+add_math_entrypoint_object(sincos)
+add_math_entrypoint_object(sincosf)
+
+add_math_entrypoint_object(sin)
+add_math_entrypoint_object(sinf)
+add_math_entrypoint_object(sinf16)
+add_math_entrypoint_object(sinpif)
+add_math_entrypoint_object(sinpif16)
+
+add_math_entrypoint_object(sinh)
+add_math_entrypoint_object(sinhf)
+add_math_entrypoint_object(sinhf16)
+
+add_math_entrypoint_object(sqrt)
+add_math_entrypoint_object(sqrtf)
+add_math_entrypoint_object(sqrtl)
+add_math_entrypoint_object(sqrtf16)
+add_math_entrypoint_object(sqrtf128)
+add_math_entrypoint_object(sqrtbf16)
+
+add_math_entrypoint_object(tan)
+add_math_entrypoint_object(tanf)
+add_math_entrypoint_object(tanf16)
+
+add_math_entrypoint_object(tanh)
+add_math_entrypoint_object(tanhf)
+add_math_entrypoint_object(tanhf16)
+
+add_math_entrypoint_object(tanpif)
+add_math_entrypoint_object(tanpif16)
+
+add_math_entrypoint_object(tgamma)
+add_math_entrypoint_object(tgammaf)
+add_math_entrypoint_object(lgamma)
+add_math_entrypoint_object(lgamma_r)
+
+add_math_entrypoint_object(totalorder)
+add_math_entrypoint_object(totalorderf)
+add_math_entrypoint_object(totalorderl)
+add_math_entrypoint_object(totalorderf16)
+add_math_entrypoint_object(totalorderf128)
+add_math_entrypoint_object(totalorderbf16)
+
+add_math_entrypoint_object(totalordermag)
+add_math_entrypoint_object(totalordermagf)
+add_math_entrypoint_object(totalordermagl)
+add_math_entrypoint_object(totalordermagf16)
+add_math_entrypoint_object(totalordermagf128)
+add_math_entrypoint_object(totalordermagbf16)
+
+add_math_entrypoint_object(trunc)
+add_math_entrypoint_object(truncf)
+add_math_entrypoint_object(truncl)
+add_math_entrypoint_object(truncf16)
+add_math_entrypoint_object(truncf128)
+add_math_entrypoint_object(truncbf16)
+
+add_math_entrypoint_object(ufromfp)
+add_math_entrypoint_object(ufromfpf)
+add_math_entrypoint_object(ufromfpl)
+add_math_entrypoint_object(ufromfpf16)
+add_math_entrypoint_object(ufromfpf128)
+add_math_entrypoint_object(ufromfpbf16)
+
+add_math_entrypoint_object(ufromfpx)
+add_math_entrypoint_object(ufromfpxf)
+add_math_entrypoint_object(ufromfpxl)
+add_math_entrypoint_object(ufromfpxf16)
+add_math_entrypoint_object(ufromfpxf128)
+add_math_entrypoint_object(ufromfpxbf16)
+
+add_math_entrypoint_object(bf16add)
+add_math_entrypoint_object(bf16addf)
+add_math_entrypoint_object(bf16addl)
+add_math_entrypoint_object(bf16addf128)
+
+add_math_entrypoint_object(bf16div)
+add_math_entrypoint_object(bf16divf)
+add_math_entrypoint_object(bf16divl)
+add_math_entrypoint_object(bf16divf128)
+
+add_math_entrypoint_object(bf16fma)
+add_math_entrypoint_object(bf16fmaf)
+add_math_entrypoint_object(bf16fmal)
+add_math_entrypoint_object(bf16fmaf128)
+
+add_math_entrypoint_object(bf16mul)
+add_math_entrypoint_object(bf16mulf)
+add_math_entrypoint_object(bf16mull)
+add_math_entrypoint_object(bf16mulf128)
+
+add_math_entrypoint_object(bf16sub)
+add_math_entrypoint_object(bf16subf)
+add_math_entrypoint_object(bf16subl)
+add_math_entrypoint_object(bf16subf128)
diff --git a/libc/src/math/ffmal.h b/libc/src/math/ffmal.h
index 75fd40a0a92a2..1cbb61dcd2134 100644
--- a/libc/src/math/ffmal.h
+++ b/libc/src/math/ffmal.h
@@ -1,20 +1,20 @@
-//===-- Implementation header for ffmal -------------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_SRC_MATH_FFMAL_H
-#define LLVM_LIBC_SRC_MATH_FFMAL_H
-
-#include "src/__support/macros/config.h"
-
-namespace LIBC_NAMESPACE_DECL {
-
-float ffmal(long double x, long double y, long double z);
-
-} // namespace LIBC_NAMESPACE_DECL
-
-#endif // LLVM_LIBC_SRC_MATH_FFMAL_H
+//===-- Implementation header for ffmal -------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC_MATH_FFMAL_H
+#define LLVM_LIBC_SRC_MATH_FFMAL_H
+
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+float ffmal(long double x, long double y, long double z);
+
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC_MATH_FFMAL_H
diff --git a/libc/src/math/fmabf16.h b/libc/src/math/fmabf16.h
new file mode 100644
index 0000000000000..5ba0876894f9a
--- /dev/null
+++ b/libc/src/math/fmabf16.h
@@ -0,0 +1,21 @@
+//===-- Implementation header for fmabf16 -----------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC_MATH_FMABF16_H
+#define LLVM_LIBC_SRC_MATH_FMABF16_H
+
+#include "src/__support/macros/config.h"
+#include "src/__support/macros/properties/types.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+bfloat16 fmabf16(bfloat16 x, bfloat16 y, bfloat16 z);
+
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC_MATH_FMABF16_H
diff --git a/libc/src/math/generic/CMakeLists.txt b/libc/src/math/generic/CMakeLists.txt
index 418cf85b84a20..9f31dc934da46 100644
--- a/libc/src/math/generic/CMakeLists.txt
+++ b/libc/src/math/generic/CMakeLists.txt
@@ -4361,6 +4361,20 @@ add_entrypoint_object(
libc.src.__support.macros.properties.types
)
+add_entrypoint_object(
+ fmabf16
+ SRCS
+ fmabf16.cpp
+ HDRS
+ ../fmabf16.h
+ DEPENDS
+ libc.src.__support.common
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.FMA
+ libc.src.__support.macros.config
+ libc.src.__support.macros.properties.types
+)
+
add_entrypoint_object(
fma
SRCS
diff --git a/libc/src/math/generic/fmabf16.cpp b/libc/src/math/generic/fmabf16.cpp
new file mode 100644
index 0000000000000..233dbc9089f9c
--- /dev/null
+++ b/libc/src/math/generic/fmabf16.cpp
@@ -0,0 +1,21 @@
+//===-- Implementation of fmabf16 function --------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/math/fmabf16.h"
+#include "src/__support/common.h"
+#include "src/__support/FPUtil/FMA.h"
+#include "src/__support/FPUtil/bfloat16.h"
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+LLVM_LIBC_FUNCTION(bfloat16, fmabf16, (bfloat16 x, bfloat16 y, bfloat16 z)) {
+ return fputil::fma<bfloat16>(x, y, z);
+}
+
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/math/CMakeLists.txt b/libc/test/src/math/CMakeLists.txt
index 73b5ebf5a856e..82fdc874b36f5 100644
--- a/libc/test/src/math/CMakeLists.txt
+++ b/libc/test/src/math/CMakeLists.txt
@@ -3501,3 +3501,3485 @@ if(NOT LLVM_LIBC_FULL_BUILD)
add_subdirectory(exhaustive)
add_subdirectory(performance_testing)
endif()
+add_custom_target(libc-math-unittests)
+
+add_fp_unittest(
+ cosf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ cosf_test.cpp
+ HDRS
+ sdcomp26094.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.cosf
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ cosf_float_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ cosf_float_test.cpp
+ DEPENDS
+ libc.src.__support.math.sincosf_utils
+ libc.src.__support.FPUtil.fp_bits
+ FLAGS
+ FMA_OPT__ONLY
+)
+
+add_fp_unittest(
+ cos_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ cos_test.cpp
+ DEPENDS
+ libc.src.math.cos
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ cosf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ cosf16_test.cpp
+ DEPENDS
+ libc.src.math.cosf16
+)
+
+add_fp_unittest(
+ cospif_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ cospif_test.cpp
+ HDRS
+ sdcomp26094.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.cospif
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+
+add_fp_unittest(
+ cospif16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ cospif16_test.cpp
+ DEPENDS
+ libc.src.math.cospif16
+)
+
+add_fp_unittest(
+ daddl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ daddl_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.math.daddl
+)
+
+add_fp_unittest(
+ sinf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sinf_test.cpp
+ HDRS
+ sdcomp26094.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.sinf
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ sinf_float_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sinf_float_test.cpp
+ DEPENDS
+ libc.src.__support.math.sincosf_utils
+ libc.src.__support.FPUtil.fp_bits
+ FLAGS
+ FMA_OPT__ONLY
+)
+
+add_fp_unittest(
+ sinf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sinf16_test.cpp
+ DEPENDS
+ libc.src.math.sinf16
+)
+
+add_fp_unittest(
+ sinpif_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sinpif_test.cpp
+ HDRS
+ sdcomp26094.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.sinpif
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ sinpif16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sinpif16_test.cpp
+ DEPENDS
+ libc.src.math.sinpif16
+)
+
+add_fp_unittest(
+ sin_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sin_test.cpp
+ DEPENDS
+ libc.src.math.sin
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ sincosf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sincosf_test.cpp
+ HDRS
+ sdcomp26094.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.sincosf
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ sincos_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sincos_test.cpp
+ DEPENDS
+ libc.src.math.sincos
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ tanf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ tanf_test.cpp
+ HDRS
+ sdcomp26094.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.tanf
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ tanf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ tanf16_test.cpp
+ DEPENDS
+ libc.src.math.tanf16
+)
+
+add_fp_unittest(
+ tanpif_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ tanpif_test.cpp
+ HDRS
+ sdcomp26094.h
+ DEPENDS
+ libc.src.math.tanpif
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ tanpif16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ tanpif16_test.cpp
+ DEPENDS
+ libc.src.math.tanpif16
+)
+
+add_fp_unittest(
+ fabs_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fabs_test.cpp
+ HDRS
+ FAbsTest.h
+ DEPENDS
+ libc.src.math.fabs
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fabsf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fabsf_test.cpp
+ HDRS
+ FAbsTest.h
+ DEPENDS
+ libc.src.math.fabsf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fabsl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fabsl_test.cpp
+ HDRS
+ FAbsTest.h
+ DEPENDS
+ libc.src.math.fabsl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fadd_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fadd_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.math.fadd
+ libc.src.__support.FPUtil.basic_operations
+)
+
+add_fp_unittest(
+ faddl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ faddl_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.math.faddl
+)
+
+add_fp_unittest(
+ trunc_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ trunc_test.cpp
+ HDRS
+ TruncTest.h
+ DEPENDS
+ libc.src.math.trunc
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ truncf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ truncf_test.cpp
+ HDRS
+ TruncTest.h
+ DEPENDS
+ libc.src.math.truncf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ truncl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ truncl_test.cpp
+ HDRS
+ TruncTest.h
+ DEPENDS
+ libc.src.math.truncl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ truncf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ truncf16_test.cpp
+ HDRS
+ TruncTest.h
+ DEPENDS
+ libc.src.math.truncf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ ceil_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ ceil_test.cpp
+ HDRS
+ CeilTest.h
+ DEPENDS
+ libc.src.math.ceil
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ ceilf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ ceilf_test.cpp
+ HDRS
+ CeilTest.h
+ DEPENDS
+ libc.src.math.ceilf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ ceill_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ ceill_test.cpp
+ HDRS
+ CeilTest.h
+ DEPENDS
+ libc.src.math.ceill
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ ceilf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ ceilf16_test.cpp
+ HDRS
+ CeilTest.h
+ DEPENDS
+ libc.src.math.ceilf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ floor_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ floor_test.cpp
+ HDRS
+ FloorTest.h
+ DEPENDS
+ libc.src.math.floor
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ floorf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ floorf_test.cpp
+ HDRS
+ FloorTest.h
+ DEPENDS
+ libc.src.math.floorf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ floorl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ floorl_test.cpp
+ HDRS
+ FloorTest.h
+ DEPENDS
+ libc.src.math.floorl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ floorf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ floorf16_test.cpp
+ HDRS
+ FloorTest.h
+ DEPENDS
+ libc.src.math.floorf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ round_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ round_test.cpp
+ HDRS
+ RoundTest.h
+ DEPENDS
+ libc.src.math.round
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ roundf_test.cpp
+ HDRS
+ RoundTest.h
+ DEPENDS
+ libc.src.math.roundf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ roundl_test.cpp
+ HDRS
+ RoundTest.h
+ DEPENDS
+ libc.src.math.roundl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ roundf16_test.cpp
+ HDRS
+ RoundTest.h
+ DEPENDS
+ libc.src.math.roundf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundeven_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ roundeven_test.cpp
+ HDRS
+ RoundEvenTest.h
+ DEPENDS
+ libc.src.math.roundeven
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundevenf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ roundevenf_test.cpp
+ HDRS
+ RoundEvenTest.h
+ DEPENDS
+ libc.src.math.roundevenf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundevenl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ roundevenl_test.cpp
+ HDRS
+ RoundEvenTest.h
+ DEPENDS
+ libc.src.math.roundevenl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundevenf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ roundevenf16_test.cpp
+ HDRS
+ RoundEvenTest.h
+ DEPENDS
+ libc.src.math.roundevenf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lround_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ lround_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.errno.errno
+ libc.src.math.lround
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lroundf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ lroundf_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.errno.errno
+ libc.src.math.lroundf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lroundl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ lroundl_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.errno.errno
+ libc.src.math.lroundl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lroundf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ lroundf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.errno.errno
+ libc.src.math.lroundf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lroundbf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ lroundbf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.errno.errno
+ libc.src.math.lroundbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llround_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ llround_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.errno.errno
+ libc.src.math.llround
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llroundf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ llroundf_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.errno.errno
+ libc.src.math.llroundf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llroundl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ llroundl_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.errno.errno
+ libc.src.math.llroundl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llroundf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ llroundf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.errno.errno
+ libc.src.math.llroundf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llroundbf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ llroundbf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.errno.errno
+ libc.src.math.llroundbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nearbyint_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ nearbyint_test.cpp
+ HDRS
+ NearbyIntTest.h
+ DEPENDS
+ libc.src.math.nearbyint
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.CPP.array
+)
+
+add_fp_unittest(
+ nearbyintf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ nearbyintf_test.cpp
+ HDRS
+ NearbyIntTest.h
+ DEPENDS
+ libc.src.math.nearbyintf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.CPP.array
+)
+
+add_fp_unittest(
+ nearbyintl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ nearbyintl_test.cpp
+ HDRS
+ NearbyIntTest.h
+ DEPENDS
+ libc.src.math.nearbyintl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.CPP.array
+)
+
+add_fp_unittest(
+ nearbyintf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ nearbyintf16_test.cpp
+ HDRS
+ NearbyIntTest.h
+ DEPENDS
+ libc.src.math.nearbyintf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.CPP.array
+)
+
+add_fp_unittest(
+ nearbyintbf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ nearbyintbf16_test.cpp
+ HDRS
+ NearbyIntTest.h
+ DEPENDS
+ libc.src.math.nearbyintbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ rint_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ rint_test.cpp
+ HDRS
+ RIntTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.rint
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ rintf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ rintf_test.cpp
+ HDRS
+ RIntTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.rintf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ rintl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ rintl_test.cpp
+ HDRS
+ RIntTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.rintl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ rintf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ rintf16_test.cpp
+ HDRS
+ RIntTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.rintf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ rintbf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ rintbf16_test.cpp
+ HDRS
+ RIntTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.rintbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lrint_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ lrint_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.math.lrint
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lrintf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ lrintf_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.math.lrintf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lrintl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ lrintl_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.math.lrintl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lrintf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ lrintf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.math.lrintf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lrintbf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ lrintbf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.math.lrintbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llrint_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ llrint_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.math.llrint
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llrintf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ llrintf_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.math.llrintf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llrintl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ llrintl_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.math.llrintl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llrintf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ llrintf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.math.llrintf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llrintbf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ llrintbf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.math.llrintbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ exp_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ exp_test.cpp
+ DEPENDS
+ libc.src.math.exp
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ expf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ expf_test.cpp
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.expf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ expf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ expf16_test.cpp
+ DEPENDS
+ libc.src.math.expf16
+)
+
+add_fp_unittest(
+ exp2_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ exp2_test.cpp
+ DEPENDS
+ libc.src.math.exp2
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ exp2f_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ exp2f_test.cpp
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.exp2f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ exp2f16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ exp2f16_test.cpp
+ DEPENDS
+ libc.src.math.exp2f16
+)
+
+add_fp_unittest(
+ exp2m1f_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ exp2m1f_test.cpp
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.exp2m1f
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ exp2m1f16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ exp2m1f16_test.cpp
+ DEPENDS
+ libc.src.math.exp2m1f16
+)
+
+add_fp_unittest(
+ exp10_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ exp10_test.cpp
+ DEPENDS
+ libc.src.math.exp10
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ exp10f_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ exp10f_test.cpp
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.exp10f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ exp10f16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ exp10f16_test.cpp
+ DEPENDS
+ libc.src.math.exp10f16
+)
+
+add_fp_unittest(
+ exp10m1f16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ exp10m1f16_test.cpp
+ DEPENDS
+ libc.src.math.exp10m1f16
+)
+
+add_fp_unittest(
+ exp10m1f_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ exp10m1f_test.cpp
+ DEPENDS
+ libc.hdr.math_macros
+ libc.src.errno.errno
+ libc.src.math.exp10m1f
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ copysign_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ copysign_test.cpp
+ HDRS
+ CopySignTest.h
+ DEPENDS
+ libc.src.math.copysign
+ libc.src.__support.FPUtil.fp_bits
+ # FIXME: Currently fails on the GPU build.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ copysignf_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ copysignf_test.cpp
+ HDRS
+ CopySignTest.h
+ DEPENDS
+ libc.src.math.copysignf
+ libc.src.__support.FPUtil.fp_bits
+ # FIXME: Currently fails on the GPU build.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ copysignl_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ copysignl_test.cpp
+ HDRS
+ CopySignTest.h
+ DEPENDS
+ libc.src.math.copysignl
+ libc.src.__support.FPUtil.fp_bits
+ # FIXME: Currently fails on the GPU build.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ frexp_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ frexp_test.cpp
+ HDRS
+ FrexpTest.h
+ DEPENDS
+ libc.src.math.frexp
+ libc.src.__support.FPUtil.basic_operations
+)
+
+add_fp_unittest(
+ frexpf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ frexpf_test.cpp
+ HDRS
+ FrexpTest.h
+ DEPENDS
+ libc.src.math.frexpf
+ libc.src.__support.FPUtil.basic_operations
+)
+
+add_fp_unittest(
+ frexpl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ frexpl_test.cpp
+ HDRS
+ FrexpTest.h
+ DEPENDS
+ libc.src.math.frexpl
+ libc.src.__support.FPUtil.basic_operations
+)
+
+add_fp_unittest(
+ ilogb_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ ilogb_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.ilogb
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ ilogbf_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ ilogbf_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.ilogbf
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ ilogbl_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ ilogbl_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.ilogbl
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ ldexp_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ ldexp_test.cpp
+ HDRS
+ LdExpTest.h
+ DEPENDS
+ libc.src.math.ldexp
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ ldexpf_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ ldexpf_test.cpp
+ HDRS
+ LdExpTest.h
+ DEPENDS
+ libc.src.math.ldexpf
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ ldexpl_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ ldexpl_test.cpp
+ HDRS
+ LdExpTest.h
+ DEPENDS
+ libc.src.math.ldexpl
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ logb_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ logb_test.cpp
+ DEPENDS
+ libc.src.math.logb
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ logbf_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ logbf_test.cpp
+ DEPENDS
+ libc.src.math.logbf
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ logbl_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ logbl_test.cpp
+ HDRS
+ LogbTest.h
+ DEPENDS
+ libc.src.math.logbl
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ modf_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ modf_test.cpp
+ HDRS
+ ModfTest.h
+ DEPENDS
+ libc.src.math.modf
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.nearest_integer_operations
+ # Requires C++ limits.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ modff_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ modff_test.cpp
+ HDRS
+ ModfTest.h
+ DEPENDS
+ libc.src.math.modff
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.nearest_integer_operations
+ # Requires C++ limits.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ modfl_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ modfl_test.cpp
+ HDRS
+ ModfTest.h
+ DEPENDS
+ libc.src.math.modfl
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.nearest_integer_operations
+)
+
+add_fp_unittest(
+ fdimf_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ fdimf_test.cpp
+ HDRS
+ FDimTest.h
+ DEPENDS
+ libc.src.math.fdimf
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fdim_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ fdim_test.cpp
+ HDRS
+ FDimTest.h
+ DEPENDS
+ libc.src.math.fdim
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fdiml_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ fdiml_test.cpp
+ HDRS
+ FDimTest.h
+ DEPENDS
+ libc.src.math.fdiml
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminf_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ fminf_test.cpp
+ HDRS
+ FMinTest.h
+ DEPENDS
+ libc.src.math.fminf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmin_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ fmin_test.cpp
+ HDRS
+ FMinTest.h
+ DEPENDS
+ libc.src.math.fmin
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminl_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ fminl_test.cpp
+ HDRS
+ FMinTest.h
+ DEPENDS
+ libc.src.math.fminl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaxf_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ fmaxf_test.cpp
+ HDRS
+ FMaxTest.h
+ DEPENDS
+ libc.src.math.fmaxf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmax_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ fmax_test.cpp
+ HDRS
+ FMaxTest.h
+ DEPENDS
+ libc.src.math.fmax
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaxl_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ fmaxl_test.cpp
+ HDRS
+ FMaxTest.h
+ DEPENDS
+ libc.src.math.fmaxl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ sqrtf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sqrtf_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrtf
+)
+
+add_fp_unittest(
+ sqrt_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sqrt_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrt
+)
+
+add_fp_unittest(
+ sqrtl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sqrtl_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrtl
+)
+
+add_fp_unittest(
+ rsqrtf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ rsqrtf_test.cpp
+ DEPENDS
+ libc.src.math.rsqrtf
+)
+
+add_fp_unittest(
+ rsqrtf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ rsqrtf16_test.cpp
+ DEPENDS
+ libc.src.math.rsqrtf16
+)
+
+add_fp_unittest(
+ sqrtf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sqrtf16_test.cpp
+ DEPENDS
+ libc.src.math.sqrtf16
+)
+
+add_fp_unittest(
+ sqrtf128_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sqrtf128_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrtf128
+)
+
+add_fp_unittest(
+ sqrtbf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sqrtbf16_test.cpp
+ DEPENDS
+ libc.src.math.sqrtbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ generic_sqrtf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ generic_sqrtf_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrtf
+ libc.src.__support.FPUtil.generic.sqrt
+ COMPILE_OPTIONS
+ ${libc_opt_high_flag}
+)
+
+add_fp_unittest(
+ generic_sqrt_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ generic_sqrt_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrt
+ libc.src.__support.FPUtil.generic.sqrt
+ COMPILE_OPTIONS
+ ${libc_opt_high_flag}
+)
+
+add_fp_unittest(
+ generic_sqrtl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ generic_sqrtl_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrtl
+ libc.src.__support.FPUtil.generic.sqrt
+ COMPILE_OPTIONS
+ ${libc_opt_high_flag}
+)
+
+add_fp_unittest(
+ remquof_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ remquof_test.cpp
+ HDRS
+ RemQuoTest.h
+ DEPENDS
+ libc.src.math.remquof
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ remquo_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ remquo_test.cpp
+ HDRS
+ RemQuoTest.h
+ DEPENDS
+ libc.src.math.remquo
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ remquol_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ remquol_test.cpp
+ HDRS
+ RemQuoTest.h
+ DEPENDS
+ libc.src.math.remquol
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ hypotf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ hypotf_test.cpp
+ DEPENDS
+ libc.src.math.hypotf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ hypot_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ hypot_test.cpp
+ DEPENDS
+ libc.src.math.hypot
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ hypotf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ hypotf16_test.cpp
+ DEPENDS
+ libc.src.math.hypotf16
+)
+
+add_fp_unittest(
+ nextafter_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ nextafter_test.cpp
+ HDRS
+ NextAfterTest.h
+ DEPENDS
+ libc.src.math.nextafter
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nextafterf_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ nextafterf_test.cpp
+ HDRS
+ NextAfterTest.h
+ DEPENDS
+ libc.src.math.nextafterf
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nextafterl_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ nextafterl_test.cpp
+ HDRS
+ NextAfterTest.h
+ DEPENDS
+ libc.src.math.nextafterl
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nextafterf128_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ nextafterf128_test.cpp
+ HDRS
+ NextAfterTest.h
+ DEPENDS
+ libc.src.math.nextafterf128
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+# TODO(lntue): The current implementation of fputil::general::fma<float> is only
+# correctly rounded for the default rounding mode round-to-nearest tie-to-even.
+add_fp_unittest(
+ fmaf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fmaf_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.fmaf
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ FLAGS
+ FMA_OPT__ONLY
+)
+
+add_fp_unittest(
+ fmaf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fmaf16_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.fmaf16
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ fmabf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fmabf16_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.fmabf16
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ fma_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fma_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.fma
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ tan_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ tan_test.cpp
+ DEPENDS
+ libc.src.math.tan
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ expm1_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ expm1_test.cpp
+ DEPENDS
+ libc.src.math.expm1
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ expm1f_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ expm1f_test.cpp
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.expm1f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ expm1f16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ expm1f16_test.cpp
+ DEPENDS
+ libc.src.math.expm1f16
+)
+
+add_fp_unittest(
+ log_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ log_test.cpp
+ DEPENDS
+ libc.src.math.log
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ logf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ logf_test.cpp
+ DEPENDS
+ libc.src.math.logf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ logf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ logf16_test.cpp
+ DEPENDS
+ libc.src.math.logf16
+)
+
+add_fp_unittest(
+ log_bf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ log_bf16_test.cpp
+ DEPENDS
+ libc.src.math.log_bf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+log2_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ log2_test.cpp
+ DEPENDS
+ libc.src.math.log2
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ log2f_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ log2f_test.cpp
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.log2f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ log2f16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ log2f16_test.cpp
+ DEPENDS
+ libc.src.math.log2f16
+)
+
+add_fp_unittest(
+ log10_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ log10_test.cpp
+ DEPENDS
+ libc.src.math.log10
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ log10f_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ log10f_test.cpp
+ DEPENDS
+ libc.src.math.log10f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ log10f16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ log10f16_test.cpp
+ DEPENDS
+ libc.src.math.log10f16
+)
+
+add_fp_unittest(
+log1p_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ log1p_test.cpp
+ DEPENDS
+ libc.src.math.log1p
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ log1pf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ log1pf_test.cpp
+ DEPENDS
+ libc.src.math.log1pf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmodf_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ fmodf_test.cpp
+ HDRS
+ FModTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.fmodf
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.nearest_integer_operations
+ # FIXME: Currently fails on the GPU build.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ fmod_test
+ SUITE
+ libc-math-unittests
+ SRCS
+ fmod_test.cpp
+ HDRS
+ FModTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.fmod
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.nearest_integer_operations
+ # FIXME: Currently fails on the GPU build.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ explogxf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ HDRS
+ in_float_range_test_helper.h
+ SRCS
+ explogxf_test.cpp
+ DEPENDS
+ libc.src.math.generic.explogxf
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ coshf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ coshf_test.cpp
+ HDRS
+ sdcomp26094.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.coshf
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ coshf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ coshf16_test.cpp
+ DEPENDS
+ libc.src.math.coshf16
+)
+
+add_fp_unittest(
+ sinhf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sinhf_test.cpp
+ HDRS
+ sdcomp26094.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.sinhf
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ sinhf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sinhf16_test.cpp
+ DEPENDS
+ libc.src.math.sinhf16
+)
+
+add_fp_unittest(
+ tanhf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ tanhf_test.cpp
+ DEPENDS
+ libc.src.math.tanhf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ tanhf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ tanhf16_test.cpp
+ DEPENDS
+ libc.src.math.tanhf16
+)
+
+add_fp_unittest(
+ atanhf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ atanhf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.atanhf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ atanhf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ atanhf16_test.cpp
+ DEPENDS
+ libc.src.math.atanhf16
+)
+
+add_fp_unittest(
+ atanpif16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ atanpif16_test.cpp
+ DEPENDS
+ libc.src.math.atanpif16
+)
+
+add_fp_unittest(
+ fmul_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fmul_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.src.math.fmul
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ fmull_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fmull_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.src.math.fmull
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ asinhf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ asinhf_test.cpp
+ DEPENDS
+ libc.src.math.asinhf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ asinhf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ asinhf16_test.cpp
+ DEPENDS
+ libc.src.math.asinhf16
+)
+
+add_fp_unittest(
+ acoshf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ acoshf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.acoshf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ acoshf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ acoshf16_test.cpp
+ DEPENDS
+ libc.src.math.acoshf16
+)
+
+add_fp_unittest(
+ asinf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ asinf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.asinf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ asin_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ asin_test.cpp
+ DEPENDS
+ libc.src.math.asin
+)
+
+add_fp_unittest(
+ asinf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ asinf16_test.cpp
+ DEPENDS
+ libc.src.math.asinf16
+)
+
+add_fp_unittest(
+ asinpif16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ asinpif16_test.cpp
+ DEPENDS
+ libc.src.math.asinpif16
+)
+
+add_fp_unittest(
+ acosf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ acosf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.acosf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ acos_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ acos_test.cpp
+ DEPENDS
+ libc.src.math.acos
+)
+
+add_fp_unittest(
+ acosf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ acosf16_test.cpp
+ DEPENDS
+ libc.src.math.acosf16
+)
+
+add_fp_unittest(
+ acospif16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ acospif16_test.cpp
+ DEPENDS
+ libc.src.math.acospif16
+)
+
+add_fp_unittest(
+ atanf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ atanf_test.cpp
+ DEPENDS
+ libc.src.math.atanf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ atan_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ atan_test.cpp
+ DEPENDS
+ libc.src.math.atan
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ atanf16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ atanf16_test.cpp
+ DEPENDS
+ libc.src.math.atanf16
+)
+
+add_fp_unittest(
+ scalbn_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ scalbn_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalbn
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalbnf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ scalbnf_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalbnf
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalbnl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ scalbnl_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalbnl
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalbnf128_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ scalbnf128_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalbnf128
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ erff_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ erff_test.cpp
+ DEPENDS
+ libc.src.math.erff
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ pow_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ pow_test.cpp
+ DEPENDS
+ libc.src.math.pow
+)
+
+add_fp_unittest(
+ powf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ powf_test.cpp
+ DEPENDS
+ libc.src.math.powf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ atan2f_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ atan2f_test.cpp
+ DEPENDS
+ libc.src.math.atan2f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ atan2_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ atan2_test.cpp
+ DEPENDS
+ libc.src.math.atan2
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ atan2f128_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ atan2f128_test.cpp
+ DEPENDS
+ libc.src.math.atan2f128
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ f16add_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16add_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.math.f16add
+)
+
+add_fp_unittest(
+ f16addf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16addf_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.math.f16addf
+)
+
+add_fp_unittest(
+ f16addl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16addl_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.math.f16addl
+)
+
+add_fp_unittest(
+ f16sub_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16sub_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.math.f16sub
+)
+
+add_fp_unittest(
+ f16subf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16subf_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.math.f16subf
+)
+
+add_fp_unittest(
+ f16subl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16subl_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.math.f16subl
+)
+
+add_fp_unittest(
+ f16div_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16div_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.f16div
+)
+
+add_fp_unittest(
+ f16divf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16divf_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.f16divf
+)
+
+add_fp_unittest(
+ f16divl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16divl_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.f16divl
+)
+
+add_fp_unittest(
+ f16fma_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16fma_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.f16fma
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ f16fmaf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16fmaf_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.f16fmaf
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ f16fmal_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16fmal_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.f16fmal
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ f16sqrt_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16sqrt_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.f16sqrt
+)
+
+add_fp_unittest(
+ f16sqrtf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16sqrtf_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.f16sqrtf
+)
+
+add_fp_unittest(
+ f16sqrtl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16sqrtl_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.f16sqrtl
+)
+
+add_fp_unittest(
+ fsqrt_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fsqrt_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.fsqrt
+)
+
+add_fp_unittest(
+ fsqrtl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fsqrtl_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.fsqrtl
+)
+
+add_fp_unittest(
+ fsub_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fsub_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.math.fsub
+)
+
+add_fp_unittest(
+ fsubl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fsubl_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.math.fsubl
+)
+
+add_fp_unittest(
+ dsqrtl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ dsqrtl_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.dsqrtl
+)
+
+add_fp_unittest(
+ cbrtf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ cbrtf_test.cpp
+ DEPENDS
+ libc.src.math.cbrtf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ cbrt_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ cbrt_test.cpp
+ DEPENDS
+ libc.src.math.cbrt
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ dmull_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ dmull_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.src.math.dmull
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ f16mul_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16mul_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.src.math.f16mul
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ f16mulf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16mulf_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.src.math.f16mulf
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ f16mull_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ f16mull_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.src.math.f16mull
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ ddivl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ ddivl_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.ddivl
+)
+
+add_fp_unittest(
+ dfmal_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ dfmal_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.dfmal
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ dsubl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ dsubl_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.math.dsubl
+)
+
+add_fp_unittest(
+ fdiv_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fdiv_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.fdiv
+)
+
+add_fp_unittest(
+ fdivl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fdivl_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.fdivl
+)
+
+add_fp_unittest(
+ ffma_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ ffma_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.ffma
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ ffmal_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ ffmal_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.ffmal
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+)
+
+add_fp_unittest(
+ add_same_type_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ add_same_type_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.generic.add_sub
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ sub_same_type_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ sub_same_type_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.generic.add_sub
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ bf16add_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16add_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.math.bf16add
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16addf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16addf_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.math.bf16addf
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16addl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16addl_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.math.bf16addl
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16addf128_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16addf128_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.math.bf16addf128
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16div_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16div_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.bf16div
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16divf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16divf_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.bf16divf
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16divl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16divl_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.bf16divl
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16divf128_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16divf128_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.bf16divf128
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16fma_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16fma_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.bf16fma
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16fmaf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16fmaf_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.bf16fmaf
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16fmal_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16fmal_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.bf16fmal
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16fmaf128_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16fmaf128_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.bf16fmaf128
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16mul_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16mul_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.src.math.bf16mul
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16mulf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16mulf_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.src.math.bf16mulf
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16mull_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16mull_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.src.math.bf16mull
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16mulf128_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16mulf128_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.src.math.bf16mulf128
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16sub_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16sub_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.math.bf16sub
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16subf_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16subf_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.math.bf16subf
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16subl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16subl_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.math.bf16subl
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16subf128_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ bf16subf128_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.math.bf16subf128
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_subdirectory(generic)
+add_subdirectory(smoke)
+
+if(NOT LLVM_LIBC_FULL_BUILD)
+ add_subdirectory(exhaustive)
+ add_subdirectory(performance_testing)
+endif()
diff --git a/libc/test/src/math/bf16mul_test.cpp b/libc/test/src/math/bf16mul_test.cpp
index 3682705556b0a..76bd3dba42566 100644
--- a/libc/test/src/math/bf16mul_test.cpp
+++ b/libc/test/src/math/bf16mul_test.cpp
@@ -1,15 +1,15 @@
-//===-- Unittests for bf16mul ---------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "MulTest.h"
-
-#include "src/math/bf16mul.h"
-
-#include "src/__support/FPUtil/bfloat16.h"
-
-LIST_MUL_TESTS(bfloat16, double, LIBC_NAMESPACE::bf16mul)
+//===-- Unittests for bf16mul ---------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "MulTest.h"
+
+#include "src/math/bf16mul.h"
+
+#include "src/__support/FPUtil/bfloat16.h"
+
+LIST_MUL_TESTS(bfloat16, double, LIBC_NAMESPACE::bf16mul)
diff --git a/libc/test/src/math/fmabf16_test.cpp b/libc/test/src/math/fmabf16_test.cpp
new file mode 100644
index 0000000000000..ae01948c21ca5
--- /dev/null
+++ b/libc/test/src/math/fmabf16_test.cpp
@@ -0,0 +1,29 @@
+// //===-- Exhaustive test for fmabf16 ---------------------------------------===//
+// //
+// // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// // See https://llvm.org/LICENSE.txt for license information.
+// // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+// //
+// //===----------------------------------------------------------------------===//
+
+// #include "src/__support/FPUtil/bfloat16.h"
+// #include "src/math/fmabf16.h"
+// #include "test/UnitTest/FPMatcher.h"
+// #include "test/UnitTest/Test.h"
+// #include "utils/MPFRWrapper/MPFRUtils.h"
+
+// using LlvmLibcFmabf16Test = LIBC_NAMESPACE::testing::FPTest<bfloat16>;
+
+// namespace mpfr = LIBC_NAMESPACE::testing::mpfr;
+
+// // range: [0, inf]
+// static constexpr uint16_t POS_START = 0x0000U;
+// static constexpr uint16_t POS_STOP = 0x7f80U;
+
+// TEST_F(LlvmLibcSqrtf16Test, PositiveRange) {
+// for (uint16_t v = POS_START; v <= POS_STOP; ++v) {
+// bfloat16 x = FPBits(v).get_val();
+// EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Sqrt, x,
+// LIBC_NAMESPACE::sqrtbf16(x), 0.5);
+// }
+// }
diff --git a/libc/test/src/math/smoke/CMakeLists.txt b/libc/test/src/math/smoke/CMakeLists.txt
index 3d52873c40bb8..92a8ccbd6f6da 100644
--- a/libc/test/src/math/smoke/CMakeLists.txt
+++ b/libc/test/src/math/smoke/CMakeLists.txt
@@ -6487,6 +6487,6537 @@ add_fp_unittest(
)
+add_fp_unittest(
+ bf16sub_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16sub_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16sub
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ bf16subf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16subf_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16subf
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ bf16subl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16subl_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16subl
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ bf16subf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16subf128_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16subf128
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.macros.properties.os
+)
+add_custom_target(libc-math-smoke-tests)
+add_dependencies(libc-math-unittests libc-math-smoke-tests)
+
+add_fp_unittest(
+ cosf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ cosf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.cosf
+)
+
+add_fp_unittest(
+ cosf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ cosf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.cosf16
+)
+
+add_fp_unittest(
+ cospif_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ cospif_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.cospif
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ cospif16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ cospif16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.cospif16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ sinf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sinf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.sinf
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ sinf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sinf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.sinf16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ sinpif_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sinpif_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.sinpif
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ sinpif16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sinpif16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.sinpif16
+)
+
+add_fp_unittest(
+ sincosf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sincosf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.sincosf
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ tanf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ tanf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.tanf
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ tanf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ tanf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.tanf16
+)
+
+add_fp_unittest(
+ tanpif_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ tanpif_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.tanpif
+)
+
+add_fp_unittest(
+ tanpif16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ tanpif16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.tanpif16
+)
+
+add_fp_unittest(
+ fabs_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fabs_test.cpp
+ HDRS
+ FAbsTest.h
+ DEPENDS
+ libc.src.math.fabs
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fabsf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fabsf_test.cpp
+ HDRS
+ FAbsTest.h
+ DEPENDS
+ libc.src.math.fabsf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fabsl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fabsl_test.cpp
+ HDRS
+ FAbsTest.h
+ DEPENDS
+ libc.src.math.fabsl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fabsf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fabsf16_test.cpp
+ HDRS
+ FAbsTest.h
+ DEPENDS
+ libc.src.math.fabsf16
+)
+
+add_fp_unittest(
+ fabsf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fabsf128_test.cpp
+ HDRS
+ FAbsTest.h
+ DEPENDS
+ libc.src.math.fabsf128
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fabsbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fabsbf16_test.cpp
+ HDRS
+ FAbsTest.h
+ DEPENDS
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.math.fabsbf16
+)
+
+add_fp_unittest(
+ fadd_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fadd_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fadd
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ faddl_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ faddl_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.faddl
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ faddf128_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ faddf128_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.faddf128
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ trunc_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ trunc_test.cpp
+ HDRS
+ TruncTest.h
+ DEPENDS
+ libc.src.math.trunc
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ truncf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ truncf_test.cpp
+ HDRS
+ TruncTest.h
+ DEPENDS
+ libc.src.math.truncf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ truncl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ truncl_test.cpp
+ HDRS
+ TruncTest.h
+ DEPENDS
+ libc.src.math.truncl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ truncf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ truncf16_test.cpp
+ HDRS
+ TruncTest.h
+ DEPENDS
+ libc.src.math.truncf16
+)
+
+add_fp_unittest(
+ truncf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ truncf128_test.cpp
+ HDRS
+ TruncTest.h
+ DEPENDS
+ libc.src.math.truncf128
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ truncbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ truncbf16_test.cpp
+ HDRS
+ TruncTest.h
+ DEPENDS
+ libc.src.math.truncbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ canonicalize_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ canonicalize_test.cpp
+ HDRS
+ CanonicalizeTest.h
+ DEPENDS
+ libc.src.math.canonicalize
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.integer_literals
+)
+
+add_fp_unittest(
+ canonicalizef_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ canonicalizef_test.cpp
+ HDRS
+ CanonicalizeTest.h
+ DEPENDS
+ libc.src.math.canonicalizef
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.integer_literals
+)
+
+add_fp_unittest(
+ canonicalizef16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ canonicalizef16_test.cpp
+ HDRS
+ CanonicalizeTest.h
+ DEPENDS
+ libc.src.math.canonicalizef16
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.integer_literals
+)
+
+add_fp_unittest(
+ canonicalizef128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ canonicalizef128_test.cpp
+ HDRS
+ CanonicalizeTest.h
+ DEPENDS
+ libc.src.math.canonicalizef128
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.integer_literals
+)
+
+add_fp_unittest(
+ canonicalizel_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ canonicalizel_test.cpp
+ HDRS
+ CanonicalizeTest.h
+ DEPENDS
+ libc.src.math.canonicalizel
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.integer_literals
+)
+
+add_fp_unittest(
+ canonicalizebf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ canonicalizebf16_test.cpp
+ HDRS
+ CanonicalizeTest.h
+ DEPENDS
+ libc.src.math.canonicalizebf16
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.integer_literals
+)
+
+add_fp_unittest(
+ iscanonical_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ iscanonical_test.cpp
+ HDRS
+ IsCanonicalTest.h
+ DEPENDS
+ libc.src.math.iscanonical
+)
+
+add_fp_unittest(
+ iscanonicalf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ iscanonicalf_test.cpp
+ HDRS
+ IsCanonicalTest.h
+ DEPENDS
+ libc.src.math.iscanonicalf
+)
+
+add_fp_unittest(
+ iscanonicall_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ iscanonicall_test.cpp
+ HDRS
+ IsCanonicalTest.h
+ DEPENDS
+ libc.src.math.iscanonicall
+)
+
+add_fp_unittest(
+ iscanonicalf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ iscanonicalf16_test.cpp
+ HDRS
+ IsCanonicalTest.h
+ DEPENDS
+ libc.src.math.iscanonicalf16
+)
+
+add_fp_unittest(
+ iscanonicalf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ iscanonicalf128_test.cpp
+ HDRS
+ IsCanonicalTest.h
+ DEPENDS
+ libc.src.math.iscanonicalf128
+)
+
+add_fp_unittest(
+ iscanonicalbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ iscanonicalbf16_test.cpp
+ HDRS
+ IsCanonicalTest.h
+ DEPENDS
+ libc.src.math.iscanonicalbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ ceil_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ceil_test.cpp
+ HDRS
+ CeilTest.h
+ DEPENDS
+ libc.src.math.ceil
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ ceilf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ceilf_test.cpp
+ HDRS
+ CeilTest.h
+ DEPENDS
+ libc.src.math.ceilf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ ceill_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ceill_test.cpp
+ HDRS
+ CeilTest.h
+ DEPENDS
+ libc.src.math.ceill
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ ceilf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ceilf16_test.cpp
+ HDRS
+ CeilTest.h
+ DEPENDS
+ libc.src.math.ceilf16
+)
+
+add_fp_unittest(
+ ceilf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ceilf128_test.cpp
+ HDRS
+ CeilTest.h
+ DEPENDS
+ libc.src.math.ceilf128
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ ceilbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ceilbf16_test.cpp
+ HDRS
+ CeilTest.h
+ DEPENDS
+ libc.src.math.ceilbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ dfmal_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ dfmal_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.dfmal
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ dfmaf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ dfmaf128_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.dfmaf128
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ dsubl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ dsubl_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.dsubl
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ dsubf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ dsubf128_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.dsubf128
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ floor_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ floor_test.cpp
+ HDRS
+ FloorTest.h
+ DEPENDS
+ libc.src.math.floor
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ floorf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ floorf_test.cpp
+ HDRS
+ FloorTest.h
+ DEPENDS
+ libc.src.math.floorf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ floorl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ floorl_test.cpp
+ HDRS
+ FloorTest.h
+ DEPENDS
+ libc.src.math.floorl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ floorf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ floorf16_test.cpp
+ HDRS
+ FloorTest.h
+ DEPENDS
+ libc.src.math.floorf16
+)
+
+add_fp_unittest(
+ floorf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ floorf128_test.cpp
+ HDRS
+ FloorTest.h
+ DEPENDS
+ libc.src.math.floorf128
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ floorbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ floorbf16_test.cpp
+ HDRS
+ FloorTest.h
+ DEPENDS
+ libc.src.math.floorbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ round_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ round_test.cpp
+ HDRS
+ RoundTest.h
+ DEPENDS
+ libc.src.math.round
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ roundf_test.cpp
+ HDRS
+ RoundTest.h
+ DEPENDS
+ libc.src.math.roundf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ roundl_test.cpp
+ HDRS
+ RoundTest.h
+ DEPENDS
+ libc.src.math.roundl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ roundf16_test.cpp
+ HDRS
+ RoundTest.h
+ DEPENDS
+ libc.src.math.roundf16
+)
+
+add_fp_unittest(
+ roundf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ roundf128_test.cpp
+ HDRS
+ RoundTest.h
+ DEPENDS
+ libc.src.math.roundf128
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ roundbf16_test.cpp
+ HDRS
+ RoundTest.h
+ DEPENDS
+ libc.src.math.roundbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ roundeven_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ roundeven_test.cpp
+ HDRS
+ RoundEvenTest.h
+ DEPENDS
+ libc.src.math.roundeven
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundevenf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ roundevenf_test.cpp
+ HDRS
+ RoundEvenTest.h
+ DEPENDS
+ libc.src.math.roundevenf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundevenl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ roundevenl_test.cpp
+ HDRS
+ RoundEvenTest.h
+ DEPENDS
+ libc.src.math.roundevenl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundevenf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ roundevenf16_test.cpp
+ HDRS
+ RoundEvenTest.h
+ DEPENDS
+ libc.src.math.roundevenf16
+)
+
+add_fp_unittest(
+ roundevenf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ roundevenf128_test.cpp
+ HDRS
+ RoundEvenTest.h
+ DEPENDS
+ libc.src.math.roundevenf128
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ roundevenbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ roundevenbf16_test.cpp
+ HDRS
+ RoundEvenTest.h
+ DEPENDS
+ libc.src.math.roundevenbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ lround_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lround_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lround
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lroundf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lroundf_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lroundf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lroundl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lroundl_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lroundl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lroundf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lroundf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lroundf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lroundf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lroundf128_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lroundf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lroundbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lroundbf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lroundbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llround_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llround_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llround
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llroundf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llroundf_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llroundf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llroundl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llroundl_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llroundl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llroundf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llroundf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llroundf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llroundf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llroundf128_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llroundf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llroundbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llroundbf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llroundbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ rint_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ rint_test.cpp
+ HDRS
+ RIntTest.h
+ DEPENDS
+ libc.src.math.rint
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ rintf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ rintf_test.cpp
+ HDRS
+ RIntTest.h
+ DEPENDS
+ libc.src.math.rintf
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ rintl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ rintl_test.cpp
+ HDRS
+ RIntTest.h
+ DEPENDS
+ libc.src.math.rintl
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ rintf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ rintf16_test.cpp
+ HDRS
+ RIntTest.h
+ DEPENDS
+ libc.src.math.rintf16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ rintf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ rintf128_test.cpp
+ HDRS
+ RIntTest.h
+ DEPENDS
+ libc.src.math.rintf128
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ rintbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ rintbf16_test.cpp
+ HDRS
+ RIntTest.h
+ DEPENDS
+ libc.src.math.rintbf16
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lrint_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lrint_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lrint
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lrintf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lrintf_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lrintf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lrintl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lrintl_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lrintl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lrintf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lrintf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lrintf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lrintf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lrintf128_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lrintf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ lrintbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ lrintbf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.lrintbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llrint_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llrint_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llrint
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llrintf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llrintf_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llrintf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llrintl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llrintl_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llrintl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llrintf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llrintf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llrintf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llrintf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llrintf128_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llrintf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ llrintbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llrintbf16_test.cpp
+ HDRS
+ RoundToIntegerTest.h
+ DEPENDS
+ libc.src.errno.errno
+ libc.src.math.llrintbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ exp_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ exp_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.exp
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ expf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ expf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.expf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ expf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ expf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.expf16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ exp2_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ exp2_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.exp2
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ exp2f_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ exp2f_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.exp2f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ exp2f16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ exp2f16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.exp2f16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ exp2m1f_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ exp2m1f_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.exp2m1f
+)
+
+add_fp_unittest(
+ exp2m1f16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ exp2m1f16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.exp2m1f16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ exp10_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ exp10_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.exp10
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ exp10f_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ exp10f_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.exp10f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ exp10f16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ exp10f16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.exp10f16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ exp10m1f16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ exp10m1f16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.exp10m1f16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ exp10m1f_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ exp10m1f_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.exp10m1f
+)
+
+add_fp_unittest(
+ copysign_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ copysign_test.cpp
+ HDRS
+ CopySignTest.h
+ DEPENDS
+ libc.src.math.copysign
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ copysignf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ copysignf_test.cpp
+ HDRS
+ CopySignTest.h
+ DEPENDS
+ libc.src.math.copysignf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ copysignl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ copysignl_test.cpp
+ HDRS
+ CopySignTest.h
+ DEPENDS
+ libc.src.math.copysignl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ copysignf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ copysignf16_test.cpp
+ HDRS
+ CopySignTest.h
+ DEPENDS
+ libc.src.math.copysignf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ copysignf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ copysignf128_test.cpp
+ HDRS
+ CopySignTest.h
+ DEPENDS
+ libc.src.math.copysignf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ copysignbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ copysignbf16_test.cpp
+ HDRS
+ CopySignTest.h
+ DEPENDS
+ libc.src.math.copysignbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ frexp_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ frexp_test.cpp
+ HDRS
+ FrexpTest.h
+ DEPENDS
+ libc.src.math.frexp
+)
+
+add_fp_unittest(
+ frexpf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ frexpf_test.cpp
+ HDRS
+ FrexpTest.h
+ DEPENDS
+ libc.src.math.frexpf
+)
+
+add_fp_unittest(
+ frexpl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ frexpl_test.cpp
+ HDRS
+ FrexpTest.h
+ DEPENDS
+ libc.src.math.frexpl
+)
+
+add_fp_unittest(
+ frexpf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ frexpf16_test.cpp
+ HDRS
+ FrexpTest.h
+ DEPENDS
+ libc.src.math.frexpf16
+)
+
+add_fp_unittest(
+ frexpf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ frexpf128_test.cpp
+ HDRS
+ FrexpTest.h
+ DEPENDS
+ libc.src.math.frexpf128
+)
+
+add_fp_unittest(
+ frexpbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ frexpbf16_test.cpp
+ HDRS
+ FrexpTest.h
+ DEPENDS
+ libc.src.math.frexpbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ fromfp_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfp_test.cpp
+ HDRS
+ FromfpTest.h
+ DEPENDS
+ libc.src.math.fromfp
+)
+
+add_fp_unittest(
+ fromfpf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfpf_test.cpp
+ HDRS
+ FromfpTest.h
+ DEPENDS
+ libc.src.math.fromfpf
+)
+
+add_fp_unittest(
+ fromfpl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfpl_test.cpp
+ HDRS
+ FromfpTest.h
+ DEPENDS
+ libc.src.math.fromfpl
+)
+
+add_fp_unittest(
+ fromfpf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfpf16_test.cpp
+ HDRS
+ FromfpTest.h
+ DEPENDS
+ libc.src.math.fromfpf16
+)
+
+add_fp_unittest(
+ fromfpf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfpf128_test.cpp
+ HDRS
+ FromfpTest.h
+ DEPENDS
+ libc.src.math.fromfpf128
+)
+
+add_fp_unittest(
+ fromfpbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfpbf16_test.cpp
+ HDRS
+ FromfpTest.h
+ DEPENDS
+ libc.src.math.fromfpbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ fromfpx_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfpx_test.cpp
+ HDRS
+ FromfpxTest.h
+ DEPENDS
+ libc.src.math.fromfpx
+)
+
+add_fp_unittest(
+ fromfpxf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfpxf_test.cpp
+ HDRS
+ FromfpxTest.h
+ DEPENDS
+ libc.src.math.fromfpxf
+)
+
+add_fp_unittest(
+ fromfpxl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfpxl_test.cpp
+ HDRS
+ FromfpxTest.h
+ DEPENDS
+ libc.src.math.fromfpxl
+)
+
+add_fp_unittest(
+ fromfpxf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfpxf16_test.cpp
+ HDRS
+ FromfpxTest.h
+ DEPENDS
+ libc.src.math.fromfpxf16
+)
+
+add_fp_unittest(
+ fromfpxf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfpxf128_test.cpp
+ HDRS
+ FromfpxTest.h
+ DEPENDS
+ libc.src.math.fromfpxf128
+)
+
+add_fp_unittest(
+ fromfpxbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fromfpxbf16_test.cpp
+ HDRS
+ FromfpxTest.h
+ DEPENDS
+ libc.src.math.fromfpxbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+
+add_fp_unittest(
+ ufromfp_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfp_test.cpp
+ HDRS
+ UfromfpTest.h
+ DEPENDS
+ libc.src.math.ufromfp
+)
+
+add_fp_unittest(
+ ufromfpf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfpf_test.cpp
+ HDRS
+ UfromfpTest.h
+ DEPENDS
+ libc.src.math.ufromfpf
+)
+
+add_fp_unittest(
+ ufromfpl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfpl_test.cpp
+ HDRS
+ UfromfpTest.h
+ DEPENDS
+ libc.src.math.ufromfpl
+)
+
+add_fp_unittest(
+ ufromfpf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfpf16_test.cpp
+ HDRS
+ UfromfpTest.h
+ DEPENDS
+ libc.src.math.ufromfpf16
+)
+
+add_fp_unittest(
+ ufromfpf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfpf128_test.cpp
+ HDRS
+ UfromfpTest.h
+ DEPENDS
+ libc.src.math.ufromfpf128
+)
+
+add_fp_unittest(
+ ufromfpbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfpbf16_test.cpp
+ HDRS
+ UfromfpTest.h
+ DEPENDS
+ libc.src.math.ufromfpbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ ufromfpx_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfpx_test.cpp
+ HDRS
+ UfromfpxTest.h
+ DEPENDS
+ libc.src.math.ufromfpx
+)
+
+add_fp_unittest(
+ ufromfpxf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfpxf_test.cpp
+ HDRS
+ UfromfpxTest.h
+ DEPENDS
+ libc.src.math.ufromfpxf
+)
+
+add_fp_unittest(
+ ufromfpxl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfpxl_test.cpp
+ HDRS
+ UfromfpxTest.h
+ DEPENDS
+ libc.src.math.ufromfpxl
+)
+
+add_fp_unittest(
+ ufromfpxf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfpxf16_test.cpp
+ HDRS
+ UfromfpxTest.h
+ DEPENDS
+ libc.src.math.ufromfpxf16
+)
+
+add_fp_unittest(
+ ufromfpxf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfpxf128_test.cpp
+ HDRS
+ UfromfpxTest.h
+ DEPENDS
+ libc.src.math.ufromfpxf128
+)
+
+add_fp_unittest(
+ ufromfpxbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ufromfpxbf16_test.cpp
+ HDRS
+ UfromfpxTest.h
+ DEPENDS
+ libc.src.math.ufromfpxbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ ilogb_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ilogb_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.ilogb
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ ilogbf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ilogbf_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.ilogbf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ ilogbl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ilogbl_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.ilogbl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ ilogbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ilogbf16_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.ilogbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ ilogbf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ilogbf128_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.ilogbf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ ilogbbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ilogbbf16_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.ilogbbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ issignaling_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ issignaling_test.cpp
+ HDRS
+ IsSignalingTest.h
+ DEPENDS
+ libc.src.math.issignaling
+)
+
+add_fp_unittest(
+ issignalingf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ issignalingf_test.cpp
+ HDRS
+ IsSignalingTest.h
+ DEPENDS
+ libc.src.math.issignalingf
+)
+
+add_fp_unittest(
+ issignalingl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ issignalingl_test.cpp
+ HDRS
+ IsSignalingTest.h
+ DEPENDS
+ libc.src.math.issignalingl
+)
+
+add_fp_unittest(
+ issignalingf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ issignalingf16_test.cpp
+ HDRS
+ IsSignalingTest.h
+ DEPENDS
+ libc.src.math.issignalingf16
+)
+
+add_fp_unittest(
+ issignalingf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ issignalingf128_test.cpp
+ HDRS
+ IsSignalingTest.h
+ DEPENDS
+ libc.src.math.issignalingf128
+)
+
+add_fp_unittest(
+ issignalingbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ issignalingbf16_test.cpp
+ HDRS
+ IsSignalingTest.h
+ DEPENDS
+ libc.src.math.issignalingbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ llogb_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llogb_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.llogb
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ llogbf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llogbf_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.llogbf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ llogbl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llogbl_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.llogbl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ llogbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llogbf16_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.llogbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ llogbf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llogbf128_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.llogbf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ llogbbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ llogbbf16_test.cpp
+ HDRS
+ ILogbTest.h
+ DEPENDS
+ libc.src.math.llogbbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ ldexp_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ldexp_test.cpp
+ HDRS
+ LdExpTest.h
+ DEPENDS
+ libc.src.math.ldexp
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ ldexpf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ldexpf_test.cpp
+ HDRS
+ LdExpTest.h
+ DEPENDS
+ libc.src.math.ldexpf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ ldexpl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ldexpl_test.cpp
+ HDRS
+ LdExpTest.h
+ DEPENDS
+ libc.src.math.ldexpl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ ldexpf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ldexpf16_test.cpp
+ HDRS
+ LdExpTest.h
+ DEPENDS
+ libc.src.math.ldexpf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ ldexpf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ldexpf128_test.cpp
+ HDRS
+ LdExpTest.h
+ DEPENDS
+ libc.src.math.ldexpf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ ldexpbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ldexpbf16_test.cpp
+ HDRS
+ LdExpTest.h
+ DEPENDS
+ libc.src.math.ldexpbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ logb_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ logb_test.cpp
+ HDRS
+ LogbTest.h
+ DEPENDS
+ libc.src.math.logb
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ logbf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ logbf_test.cpp
+ HDRS
+ LogbTest.h
+ DEPENDS
+ libc.src.math.logbf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ logbl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ logbl_test.cpp
+ HDRS
+ LogbTest.h
+ DEPENDS
+ libc.src.math.logbl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ logbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ logbf16_test.cpp
+ HDRS
+ LogbTest.h
+ DEPENDS
+ libc.src.math.logbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ logbf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ logbf128_test.cpp
+ HDRS
+ LogbTest.h
+ DEPENDS
+ libc.src.math.logbf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ logbbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ logbbf16_test.cpp
+ HDRS
+ LogbTest.h
+ DEPENDS
+ libc.src.math.logbbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.manipulation_functions
+)
+
+add_fp_unittest(
+ modf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ modf_test.cpp
+ HDRS
+ ModfTest.h
+ DEPENDS
+ libc.src.math.modf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.nearest_integer_operations
+)
+
+add_fp_unittest(
+ modff_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ modff_test.cpp
+ HDRS
+ ModfTest.h
+ DEPENDS
+ libc.src.math.modff
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.nearest_integer_operations
+)
+
+add_fp_unittest(
+ modfl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ modfl_test.cpp
+ HDRS
+ ModfTest.h
+ DEPENDS
+ libc.src.math.modfl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.nearest_integer_operations
+)
+
+add_fp_unittest(
+ modff16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ modff16_test.cpp
+ HDRS
+ ModfTest.h
+ DEPENDS
+ libc.src.math.modff16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.nearest_integer_operations
+)
+
+add_fp_unittest(
+ modff128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ modff128_test.cpp
+ HDRS
+ ModfTest.h
+ DEPENDS
+ libc.src.math.modff128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.nearest_integer_operations
+)
+
+add_fp_unittest(
+ modfbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ modfbf16_test.cpp
+ HDRS
+ ModfTest.h
+ DEPENDS
+ libc.src.math.modfbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.nearest_integer_operations
+)
+
+add_fp_unittest(
+ fdimf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fdimf_test.cpp
+ HDRS
+ FDimTest.h
+ DEPENDS
+ libc.src.math.fdimf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fdim_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fdim_test.cpp
+ HDRS
+ FDimTest.h
+ DEPENDS
+ libc.src.math.fdim
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fdiml_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fdiml_test.cpp
+ HDRS
+ FDimTest.h
+ DEPENDS
+ libc.src.math.fdiml
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fdimf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fdimf16_test.cpp
+ HDRS
+ FDimTest.h
+ DEPENDS
+ libc.src.math.fdimf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fdimf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fdimf128_test.cpp
+ HDRS
+ FDimTest.h
+ DEPENDS
+ libc.src.math.fdimf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fdimbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fdimbf16_test.cpp
+ HDRS
+ FDimTest.h
+ DEPENDS
+ libc.src.math.fdimbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminf_test.cpp
+ HDRS
+ FMinTest.h
+ DEPENDS
+ libc.src.math.fminf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmin_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmin_test.cpp
+ HDRS
+ FMinTest.h
+ DEPENDS
+ libc.src.math.fmin
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminl_test.cpp
+ HDRS
+ FMinTest.h
+ DEPENDS
+ libc.src.math.fminl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminf128_test.cpp
+ HDRS
+ FMinTest.h
+ DEPENDS
+ libc.src.math.fminf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminf16_test.cpp
+ HDRS
+ FMinTest.h
+ DEPENDS
+ libc.src.math.fminf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminbf16_test.cpp
+ HDRS
+ FMinTest.h
+ DEPENDS
+ libc.src.math.fminbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaxf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaxf_test.cpp
+ HDRS
+ FMaxTest.h
+ DEPENDS
+ libc.src.math.fmaxf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmax_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmax_test.cpp
+ HDRS
+ FMaxTest.h
+ DEPENDS
+ libc.src.math.fmax
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaxl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaxl_test.cpp
+ HDRS
+ FMaxTest.h
+ DEPENDS
+ libc.src.math.fmaxl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaxf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaxf128_test.cpp
+ HDRS
+ FMaxTest.h
+ DEPENDS
+ libc.src.math.fmaxf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaxf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaxf16_test.cpp
+ HDRS
+ FMaxTest.h
+ DEPENDS
+ libc.src.math.fmaxf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaxbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaxbf16_test.cpp
+ HDRS
+ FMaxTest.h
+ DEPENDS
+ libc.src.math.fmaxbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximuml_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximuml_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fmaximuml
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximumf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximumf16_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fmaximumf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximumf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximumf128_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fmaximumf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fmaximum
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximumf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximumf_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fmaximumf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_numf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_numf_test.cpp
+ HDRS
+ FMaximumNumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_numf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximumbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximumbf16_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fmaximumbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_num_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_num_test.cpp
+ HDRS
+ FMaximumNumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_num
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_numl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_numl_test.cpp
+ HDRS
+ FMaximumNumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_numl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_numf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_numf16_test.cpp
+ HDRS
+ FMaximumNumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_numf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_numf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_numf128_test.cpp
+ HDRS
+ FMaximumNumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_numf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_numbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_numbf16_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_numbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_magf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_magf_test.cpp
+ HDRS
+ FMaximumMagTest.h
+ DEPENDS
+ libc.src.math.fmaximum_magf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_mag_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_mag_test.cpp
+ HDRS
+ FMaximumMagTest.h
+ DEPENDS
+ libc.src.math.fmaximum_mag
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_magl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_magl_test.cpp
+ HDRS
+ FMaximumMagTest.h
+ DEPENDS
+ libc.src.math.fmaximum_magl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_magf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_magf16_test.cpp
+ HDRS
+ FMaximumMagTest.h
+ DEPENDS
+ libc.src.math.fmaximum_magf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_magf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_magf128_test.cpp
+ HDRS
+ FMaximumMagTest.h
+ DEPENDS
+ libc.src.math.fmaximum_magf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_magbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_magbf16_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_magbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_mag_numf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_mag_numf_test.cpp
+ HDRS
+ FMaximumMagNumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_mag_numf
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_mag_num_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_mag_num_test.cpp
+ HDRS
+ FMaximumMagNumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_mag_num
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_mag_numl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_mag_numl_test.cpp
+ HDRS
+ FMaximumMagNumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_mag_numl
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_mag_numf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_mag_numf16_test.cpp
+ HDRS
+ FMaximumMagNumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_mag_numf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_mag_numf128_test.cpp
+ HDRS
+ FMaximumMagNumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmaximum_mag_numbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaximum_mag_numbf16_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimuml_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimuml_test.cpp
+ HDRS
+ FMinimumTest.h
+ DEPENDS
+ libc.src.math.fminimuml
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimumf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimumf16_test.cpp
+ HDRS
+ FMinimumTest.h
+ DEPENDS
+ libc.src.math.fminimumf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimumf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimumf128_test.cpp
+ HDRS
+ FMinimumTest.h
+ DEPENDS
+ libc.src.math.fminimumf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_test.cpp
+ HDRS
+ FMinimumTest.h
+ DEPENDS
+ libc.src.math.fminimum
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimumf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimumf_test.cpp
+ HDRS
+ FMinimumTest.h
+ DEPENDS
+ libc.src.math.fminimumf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimumbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimumbf16_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fminimumbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_numf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_numf_test.cpp
+ HDRS
+ FMinimumNumTest.h
+ DEPENDS
+ libc.src.math.fminimum_numf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_num_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_num_test.cpp
+ HDRS
+ FMinimumNumTest.h
+ DEPENDS
+ libc.src.math.fminimum_num
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_numl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_numl_test.cpp
+ HDRS
+ FMinimumNumTest.h
+ DEPENDS
+ libc.src.math.fminimum_numl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_numf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_numf16_test.cpp
+ HDRS
+ FMinimumNumTest.h
+ DEPENDS
+ libc.src.math.fminimum_numf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_numf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_numf128_test.cpp
+ HDRS
+ FMinimumNumTest.h
+ DEPENDS
+ libc.src.math.fminimum_numf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_numbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_numf16_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fminimum_numf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_magf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_magf_test.cpp
+ HDRS
+ FMinimumMagTest.h
+ DEPENDS
+ libc.src.math.fminimum_magf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_mag_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_mag_test.cpp
+ HDRS
+ FMinimumMagTest.h
+ DEPENDS
+ libc.src.math.fminimum_mag
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_magl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_magl_test.cpp
+ HDRS
+ FMinimumMagTest.h
+ DEPENDS
+ libc.src.math.fminimum_magl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_magf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_magf16_test.cpp
+ HDRS
+ FMinimumMagTest.h
+ DEPENDS
+ libc.src.math.fminimum_magf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_magf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_magf128_test.cpp
+ HDRS
+ FMinimumMagTest.h
+ DEPENDS
+ libc.src.math.fminimum_magf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_magbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_magbf16_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fminimum_magbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_mag_numf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_mag_numf_test.cpp
+ HDRS
+ FMinimumMagNumTest.h
+ DEPENDS
+ libc.src.math.fminimum_mag_numf
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_mag_num_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_mag_num_test.cpp
+ HDRS
+ FMinimumMagNumTest.h
+ DEPENDS
+ libc.src.math.fminimum_mag_num
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_mag_numl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_mag_numl_test.cpp
+ HDRS
+ FMinimumMagNumTest.h
+ DEPENDS
+ libc.src.math.fminimum_mag_numl
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_mag_numf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_mag_numf16_test.cpp
+ HDRS
+ FMinimumMagNumTest.h
+ DEPENDS
+ libc.src.math.fminimum_mag_numf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_mag_numf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_mag_numf128_test.cpp
+ HDRS
+ FMinimumMagNumTest.h
+ DEPENDS
+ libc.src.math.fminimum_mag_numf128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fminimum_mag_numbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fminimum_mag_numbf16_test.cpp
+ HDRS
+ FMaximumTest.h
+ DEPENDS
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmul_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmul_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.math.fmul
+)
+
+add_fp_unittest(
+ fmull_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmull_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.math.fmull
+)
+
+add_fp_unittest(
+ sqrtf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sqrtf_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrtf
+)
+
+add_fp_unittest(
+ sqrt_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sqrt_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrt
+)
+
+add_fp_unittest(
+ sqrtl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sqrtl_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrtl
+)
+
+add_fp_unittest(
+ rsqrtf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ rsqrtf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.rsqrtf
+)
+
+add_fp_unittest(
+ rsqrtf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ rsqrtf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.rsqrtf16
+)
+
+add_fp_unittest(
+ sqrtf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sqrtf16_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrtf16
+)
+
+add_fp_unittest(
+ sqrtf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sqrtf128_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrtf128
+)
+
+add_fp_unittest(
+ sqrtbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sqrtbf16_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.sqrtbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ generic_sqrtf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ generic_sqrtf_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.__support.FPUtil.generic.sqrt
+ COMPILE_OPTIONS
+ ${libc_opt_high_flag}
+)
+
+add_fp_unittest(
+ generic_sqrt_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ generic_sqrt_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.__support.FPUtil.generic.sqrt
+ COMPILE_OPTIONS
+ ${libc_opt_high_flag}
+)
+
+add_fp_unittest(
+ generic_sqrtl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ generic_sqrtl_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.__support.FPUtil.generic.sqrt
+ COMPILE_OPTIONS
+ ${libc_opt_high_flag}
+)
+
+add_fp_unittest(
+ generic_sqrtf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ generic_sqrtf128_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ # The dependency on sqrtf128 is used to disable the test when float128
+ # support is not available.
+ libc.src.math.sqrtf128
+ libc.src.__support.FPUtil.generic.sqrt
+ COMPILE_OPTIONS
+ ${libc_opt_high_flag}
+)
+
+add_fp_unittest(
+ remquof_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ remquof_test.cpp
+ HDRS
+ RemQuoTest.h
+ DEPENDS
+ libc.src.math.remquof
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ remquof128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ remquof128_test.cpp
+ HDRS
+ RemQuoTest.h
+ DEPENDS
+ libc.src.math.remquof128
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ remquo_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ remquo_test.cpp
+ HDRS
+ RemQuoTest.h
+ DEPENDS
+ libc.src.math.remquo
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ remquol_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ remquol_test.cpp
+ HDRS
+ RemQuoTest.h
+ DEPENDS
+ libc.src.math.remquol
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ remquof16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ remquof16_test.cpp
+ HDRS
+ RemQuoTest.h
+ DEPENDS
+ libc.src.math.remquof16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ remquobf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ remquobf16_test.cpp
+ HDRS
+ RemQuoTest.h
+ DEPENDS
+ libc.src.math.remquobf16
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ hypotf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ hypotf_test.cpp
+ HDRS
+ HypotTest.h
+ DEPENDS
+ libc.src.math.hypotf
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.macros.properties.architectures
+)
+
+add_fp_unittest(
+ hypotf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ hypotf16_test.cpp
+ HDRS
+ HypotTest.h
+ DEPENDS
+ libc.src.math.hypotf16
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ hypot_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ hypot_test.cpp
+ HDRS
+ HypotTest.h
+ DEPENDS
+ libc.src.math.hypot
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.macros.properties.architectures
+)
+
+add_fp_unittest(
+ nanf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nanf_test.cpp
+ DEPENDS
+ libc.hdr.signal_macros
+ libc.src.math.nanf
+ libc.src.__support.FPUtil.fp_bits
+ # FIXME: The nan tests currently have death tests, which aren't supported for
+ # hermetic tests.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ nan_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nan_test.cpp
+ DEPENDS
+ libc.hdr.signal_macros
+ libc.src.math.nan
+ libc.src.__support.FPUtil.fp_bits
+ # FIXME: The nan tests currently have death tests, which aren't supported for
+ # hermetic tests.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ nanl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nanl_test.cpp
+ DEPENDS
+ libc.hdr.signal_macros
+ libc.src.math.nanl
+ libc.src.__support.FPUtil.fp_bits
+ # FIXME: The nan tests currently have death tests, which aren't supported for
+ # hermetic tests.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ nanf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nanf16_test.cpp
+ DEPENDS
+ libc.hdr.signal_macros
+ libc.src.math.nanf16
+ libc.src.__support.FPUtil.fp_bits
+ # FIXME: The nan tests currently have death tests, which aren't supported for
+ # hermetic tests.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ nanf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nanf128_test.cpp
+ DEPENDS
+ libc.hdr.signal_macros
+ libc.src.math.nanf128
+ libc.src.__support.FPUtil.fp_bits
+ # FIXME: The nan tests currently have death tests, which aren't supported for
+ # hermetic tests.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ nanbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nanbf16_test.cpp
+ DEPENDS
+ libc.hdr.signal_macros
+ libc.src.math.nanbf16
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+ # FIXME: The nan tests currently have death tests, which aren't supported for
+ # hermetic tests.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ nearbyint_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nearbyint_test.cpp
+ HDRS
+ NearbyIntTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nearbyint
+)
+
+add_fp_unittest(
+ nearbyintf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nearbyintf_test.cpp
+ HDRS
+ NearbyIntTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nearbyintf
+)
+
+add_fp_unittest(
+ nearbyintl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nearbyintl_test.cpp
+ HDRS
+ NearbyIntTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nearbyintl
+)
+
+add_fp_unittest(
+ nearbyintf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nearbyintf16_test.cpp
+ HDRS
+ NearbyIntTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nearbyintf16
+)
+
+add_fp_unittest(
+ nearbyintf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nearbyintf128_test.cpp
+ HDRS
+ NearbyIntTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nearbyintf128
+)
+
+add_fp_unittest(
+ nearbyintbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nearbyintbf16_test.cpp
+ HDRS
+ NearbyIntTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nearbyintbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ nextafter_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextafter_test.cpp
+ HDRS
+ NextAfterTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nextafter
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nextafterf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextafterf_test.cpp
+ HDRS
+ NextAfterTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nextafterf
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nextafterl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextafterl_test.cpp
+ HDRS
+ NextAfterTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nextafterl
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nextafterf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextafterf16_test.cpp
+ HDRS
+ NextAfterTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nextafterf16
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nextafterf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextafterf128_test.cpp
+ HDRS
+ NextAfterTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nextafterf128
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nextafterbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextafterbf16_test.cpp
+ HDRS
+ NextAfterTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nextafterbf16
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+# FIXME: These tests are currently spurious for the GPU.
+if(NOT LIBC_TARGET_OS_IS_GPU)
+ add_fp_unittest(
+ nexttoward_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nexttoward_test.cpp
+ HDRS
+ NextTowardTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nexttoward
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+ )
+
+ add_fp_unittest(
+ nexttowardf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nexttowardf_test.cpp
+ HDRS
+ NextTowardTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nexttowardf
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+ )
+endif()
+
+add_fp_unittest(
+ nexttowardl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nexttowardl_test.cpp
+ HDRS
+ NextTowardTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nexttowardl
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nexttowardf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nexttowardf16_test.cpp
+ HDRS
+ NextTowardTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nexttowardf16
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nexttowardbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nexttowardbf16_test.cpp
+ HDRS
+ NextTowardTest.h
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.nexttowardbf16
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ nextdown_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextdown_test.cpp
+ HDRS
+ NextDownTest.h
+ DEPENDS
+ libc.src.math.nextdown
+)
+
+add_fp_unittest(
+ nextdownf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextdownf_test.cpp
+ HDRS
+ NextDownTest.h
+ DEPENDS
+ libc.src.math.nextdownf
+)
+
+add_fp_unittest(
+ nextdownl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextdownl_test.cpp
+ HDRS
+ NextDownTest.h
+ DEPENDS
+ libc.src.math.nextdownl
+)
+
+add_fp_unittest(
+ nextdownf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextdownf16_test.cpp
+ HDRS
+ NextDownTest.h
+ DEPENDS
+ libc.src.math.nextdownf16
+)
+
+add_fp_unittest(
+ nextdownf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextdownf128_test.cpp
+ HDRS
+ NextDownTest.h
+ DEPENDS
+ libc.src.math.nextdownf128
+)
+
+add_fp_unittest(
+ nextdownbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextdownbf16_test.cpp
+ HDRS
+ NextDownTest.h
+ DEPENDS
+ libc.src.math.nextdownbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ nextup_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextup_test.cpp
+ HDRS
+ NextUpTest.h
+ DEPENDS
+ libc.src.math.nextup
+)
+
+add_fp_unittest(
+ nextupf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextupf_test.cpp
+ HDRS
+ NextUpTest.h
+ DEPENDS
+ libc.src.math.nextupf
+)
+
+add_fp_unittest(
+ nextupl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextupl_test.cpp
+ HDRS
+ NextUpTest.h
+ DEPENDS
+ libc.src.math.nextupl
+)
+
+add_fp_unittest(
+ nextupf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextupf16_test.cpp
+ HDRS
+ NextUpTest.h
+ DEPENDS
+ libc.src.math.nextupf16
+)
+
+add_fp_unittest(
+ nextupf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextupf128_test.cpp
+ HDRS
+ NextUpTest.h
+ DEPENDS
+ libc.src.math.nextupf128
+)
+
+add_fp_unittest(
+ nextupbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ nextupbf16_test.cpp
+ HDRS
+ NextUpTest.h
+ DEPENDS
+ libc.src.math.nextupbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+# TODO(lntue): The current implementation of fputil::general::fma<float> is only
+# correctly rounded for the default rounding mode round-to-nearest tie-to-even.
+add_fp_unittest(
+ fmaf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaf_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.fmaf
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ fmaf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmaf16_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.fmaf16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ fmabf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmabf16_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.fmabf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ fma_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fma_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.fma
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ expm1_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ expm1_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.expm1
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ expm1f_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ expm1f_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.expm1f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ expm1f16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ expm1f16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.expm1f16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ log_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ log_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.log
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ logf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ logf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.logf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ logf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ logf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.logf16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ log_bf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ log_bf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.log_bf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ log2_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ log2_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.log2
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ log2f_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ log2f_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.log2f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ log2f16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ log2f16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.log2f16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ log10_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ log10_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.log10
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ log10f_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ log10f_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.log10f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ log10f16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ log10f16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.log10f16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ log1p_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ log1p_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.log1p
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ log1pf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ log1pf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.log1pf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ fmodf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmodf_test.cpp
+ HDRS
+ FModTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fmodf
+ libc.src.__support.FPUtil.fenv_impl
+ # FIXME: Currently fails on the GPU build.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ fmod_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmod_test.cpp
+ HDRS
+ FModTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fmod
+ libc.src.__support.FPUtil.fenv_impl
+ # FIXME: Currently fails on the GPU build.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ fmodl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmodl_test.cpp
+ HDRS
+ FModTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fmodl
+ libc.src.__support.FPUtil.fenv_impl
+ # FIXME: Currently fails on the GPU build.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ fmodf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmodf16_test.cpp
+ HDRS
+ FModTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fmodf16
+ libc.src.__support.FPUtil.fenv_impl
+ # FIXME: Currently fails on the GPU build.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ fmodf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmodf128_test.cpp
+ HDRS
+ FModTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fmodf128
+ libc.src.__support.FPUtil.fenv_impl
+ # FIXME: Currently fails on the GPU build.
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ fmodbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmodbf16_test.cpp
+ HDRS
+ FModTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fmodbf16
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fenv_impl
+ UNIT_TEST_ONLY
+)
+
+add_fp_unittest(
+ coshf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ coshf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.coshf
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ coshf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ coshf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.coshf16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ sinhf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sinhf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.sinhf
+ libc.src.__support.CPP.array
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ sinhf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sinhf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.sinhf16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ tanhf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ tanhf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.tanhf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ tanhf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ tanhf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.tanhf16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ atanhf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ atanhf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.atanhf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ atanhf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ atanhf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.atanhf16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ atanpif16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ atanpif16_test.cpp
+ DEPENDS
+ libc.src.math.atanpif16
+)
+
+add_fp_unittest(
+ asinhf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ asinhf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.asinhf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ asinhf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ asinhf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.asinhf16
+)
+
+add_fp_unittest(
+ asinpif16_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ asinpif16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.asinpif16
+)
+
+add_fp_unittest(
+ acoshf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ acoshf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.acoshf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ acoshf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ acoshf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.acoshf16
+ libc.src.__support.FPUtil.cast
+)
+
+add_fp_unittest(
+ asinf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ asinf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.asinf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ asin_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ asin_test.cpp
+ DEPENDS
+ libc.src.math.asin
+)
+
+add_fp_unittest(
+ asinf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ asinf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.asinf16
+)
+
+add_fp_unittest(
+ acosf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ acosf_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.acosf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ acos_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ acos_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.acos
+)
+
+add_fp_unittest(
+ acosf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ acosf16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.acosf16
+)
+
+add_fp_unittest(
+ acospif16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ acospif16_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.acospif16
+)
+
+add_fp_unittest(
+ atanf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ atanf_test.cpp
+ DEPENDS
+ libc.src.math.atanf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ atan_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ atan_test.cpp
+ DEPENDS
+ libc.src.math.atan
+)
+
+add_fp_unittest(
+ atanf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ atanf16_test.cpp
+ DEPENDS
+ libc.src.math.atanf16
+)
+
+add_fp_unittest(
+ atan2f_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ atan2f_test.cpp
+ DEPENDS
+ libc.src.math.atan2f
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ atan2_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ atan2_test.cpp
+ DEPENDS
+ libc.src.math.atan2
+)
+
+add_fp_unittest(
+ atan2f128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ atan2f128_test.cpp
+ DEPENDS
+ libc.src.math.atan2f128
+)
+
+add_fp_unittest(
+ scalbln_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalbln_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalbln
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalblnf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalblnf_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalblnf
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalblnl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalblnl_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalblnl
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalblnf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalblnf16_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalblnf16
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalblnf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalblnf128_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalblnf128
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalblnbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalblnbf16_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalblnbf16
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalbn_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalbn_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalbn
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalbnf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalbnf_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalbnf
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalbnl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalbnl_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalbnl
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalbnf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalbnf16_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalbnf16
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalbnf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalbnf128_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalbnf128
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ scalbnbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ scalbnbf16_test.cpp
+ HDRS
+ ScalbnTest.h
+ DEPENDS
+ libc.src.math.scalbnbf16
+ libc.src.__support.CPP.limits
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.normal_float
+)
+
+add_fp_unittest(
+ erff_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ erff_test.cpp
+ DEPENDS
+ libc.src.math.erff
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ pow_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ pow_test.cpp
+ DEPENDS
+ libc.hdr.fenv_macros
+ libc.src.math.pow
+)
+
+add_fp_unittest(
+ powf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ powf_test.cpp
+ DEPENDS
+ libc.src.math.powf
+ libc.src.__support.FPUtil.fp_bits
+)
+
+add_fp_unittest(
+ totalorder_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalorder_test.cpp
+ HDRS
+ TotalOrderTest.h
+ DEPENDS
+ libc.src.math.totalorder
+)
+
+add_fp_unittest(
+ totalorderf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalorderf_test.cpp
+ HDRS
+ TotalOrderTest.h
+ DEPENDS
+ libc.src.math.totalorderf
+)
+
+add_fp_unittest(
+ totalorderl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalorderl_test.cpp
+ HDRS
+ TotalOrderTest.h
+ DEPENDS
+ libc.src.math.totalorderl
+)
+
+add_fp_unittest(
+ totalorderf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalorderf16_test.cpp
+ HDRS
+ TotalOrderTest.h
+ DEPENDS
+ libc.src.math.totalorderf16
+)
+
+add_fp_unittest(
+ totalorderf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalorderf128_test.cpp
+ HDRS
+ TotalOrderTest.h
+ DEPENDS
+ libc.src.math.totalorderf128
+)
+
+add_fp_unittest(
+ totalorderbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalorderbf16_test.cpp
+ HDRS
+ TotalOrderTest.h
+ DEPENDS
+ libc.src.math.totalorderbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ totalordermag_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalordermag_test.cpp
+ HDRS
+ TotalOrderMagTest.h
+ DEPENDS
+ libc.src.math.totalordermag
+)
+
+add_fp_unittest(
+ totalordermagf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalordermagf_test.cpp
+ HDRS
+ TotalOrderMagTest.h
+ DEPENDS
+ libc.src.math.totalordermagf
+)
+
+add_fp_unittest(
+ totalordermagl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalordermagl_test.cpp
+ HDRS
+ TotalOrderMagTest.h
+ DEPENDS
+ libc.src.math.totalordermagl
+)
+
+add_fp_unittest(
+ totalordermagf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalordermagf16_test.cpp
+ HDRS
+ TotalOrderMagTest.h
+ DEPENDS
+ libc.src.math.totalordermagf16
+)
+
+add_fp_unittest(
+ totalordermagf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalordermagf128_test.cpp
+ HDRS
+ TotalOrderMagTest.h
+ DEPENDS
+ libc.src.math.totalordermagf128
+)
+
+add_fp_unittest(
+ totalordermagbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ totalordermagbf16_test.cpp
+ HDRS
+ TotalOrderMagTest.h
+ DEPENDS
+ libc.src.math.totalordermagbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ getpayload_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ getpayload_test.cpp
+ HDRS
+ GetPayloadTest.h
+ DEPENDS
+ libc.src.math.getpayload
+)
+
+add_fp_unittest(
+ getpayloadf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ getpayloadf_test.cpp
+ HDRS
+ GetPayloadTest.h
+ DEPENDS
+ libc.src.math.getpayloadf
+)
+
+add_fp_unittest(
+ getpayloadl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ getpayloadl_test.cpp
+ HDRS
+ GetPayloadTest.h
+ DEPENDS
+ libc.src.math.getpayloadl
+)
+
+add_fp_unittest(
+ getpayloadf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ getpayloadf16_test.cpp
+ HDRS
+ GetPayloadTest.h
+ DEPENDS
+ libc.src.math.getpayloadf16
+)
+
+add_fp_unittest(
+ getpayloadf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ getpayloadf128_test.cpp
+ HDRS
+ GetPayloadTest.h
+ DEPENDS
+ libc.src.math.getpayloadf128
+)
+
+add_fp_unittest(
+ getpayloadbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ getpayloadbf16_test.cpp
+ HDRS
+ GetPayloadTest.h
+ DEPENDS
+ libc.src.math.getpayloadbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ setpayload_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayload_test.cpp
+ HDRS
+ SetPayloadTest.h
+ DEPENDS
+ libc.src.math.setpayload
+)
+
+add_fp_unittest(
+ setpayloadf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayloadf_test.cpp
+ HDRS
+ SetPayloadTest.h
+ DEPENDS
+ libc.src.math.setpayloadf
+)
+
+add_fp_unittest(
+ setpayloadl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayloadl_test.cpp
+ HDRS
+ SetPayloadTest.h
+ DEPENDS
+ libc.src.math.setpayloadl
+)
+
+add_fp_unittest(
+ setpayloadf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayloadf16_test.cpp
+ HDRS
+ SetPayloadTest.h
+ DEPENDS
+ libc.src.math.setpayloadf16
+)
+
+add_fp_unittest(
+ setpayloadf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayloadf128_test.cpp
+ HDRS
+ SetPayloadTest.h
+ DEPENDS
+ libc.src.math.setpayloadf128
+)
+
+add_fp_unittest(
+ setpayloadbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayloadbf16_test.cpp
+ HDRS
+ SetPayloadTest.h
+ DEPENDS
+ libc.src.math.setpayloadbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ setpayloadsig_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayloadsig_test.cpp
+ HDRS
+ SetPayloadSigTest.h
+ DEPENDS
+ libc.src.math.setpayloadsig
+)
+
+add_fp_unittest(
+ setpayloadsigf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayloadsigf_test.cpp
+ HDRS
+ SetPayloadSigTest.h
+ DEPENDS
+ libc.src.math.setpayloadsigf
+)
+
+add_fp_unittest(
+ setpayloadsigl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayloadsigl_test.cpp
+ HDRS
+ SetPayloadSigTest.h
+ DEPENDS
+ libc.src.math.setpayloadsigl
+)
+
+add_fp_unittest(
+ setpayloadsigf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayloadsigf16_test.cpp
+ HDRS
+ SetPayloadSigTest.h
+ DEPENDS
+ libc.src.math.setpayloadsigf16
+)
+
+add_fp_unittest(
+ setpayloadsigf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayloadsigf128_test.cpp
+ HDRS
+ SetPayloadSigTest.h
+ DEPENDS
+ libc.src.math.setpayloadsigf128
+)
+
+add_fp_unittest(
+ setpayloadsigbf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ setpayloadsigbf16_test.cpp
+ HDRS
+ SetPayloadTest.h
+ DEPENDS
+ libc.src.math.setpayloadsigbf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ f16add_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16add_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16add
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ f16addf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16addf_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16addf
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ f16addl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16addl_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16addl
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ f16addf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16addf128_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16addf128
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ f16sub_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16sub_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16sub
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ f16subf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16subf_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16subf
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ f16subl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16subl_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16subl
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ f16subf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16subf128_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16subf128
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ f16div_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16div_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16div
+)
+
+add_fp_unittest(
+ f16divf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16divf_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16divf
+)
+
+add_fp_unittest(
+ f16divl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16divl_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16divl
+)
+
+add_fp_unittest(
+ f16divf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16divf128_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.f16divf128
+)
+
+add_fp_unittest(
+ f16fma_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16fma_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.f16fma
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ f16fmaf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16fmaf_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.f16fmaf
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ f16fmal_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16fmal_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.f16fmal
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ f16fmaf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16fmaf128_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.f16fmaf128
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ f16sqrt_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16sqrt_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.f16sqrt
+)
+
+add_fp_unittest(
+ f16sqrtf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16sqrtf_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.f16sqrtf
+)
+
+add_fp_unittest(
+ f16sqrtl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16sqrtl_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.f16sqrtl
+)
+
+add_fp_unittest(
+ f16sqrtf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16sqrtf128_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.f16sqrtf128
+)
+
+add_fp_unittest(
+ fdiv_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fdiv_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fdiv
+)
+
+add_fp_unittest(
+ fdivl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fdivl_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fdivl
+)
+
+add_fp_unittest(
+ fdivf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fdivf128_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fdivf128
+)
+
+add_fp_unittest(
+ ffma_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ffma_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.ffma
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ ffmal_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ffmal_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.ffmal
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ ffmaf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ffmaf128_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.ffmaf128
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ fsqrt_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fsqrt_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.fsqrt
+)
+
+
+add_fp_unittest(
+ fsqrtl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fsqrtl_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.fsqrtl
+)
+
+add_fp_unittest(
+ fsqrtf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fsqrtf128_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.fsqrtf128
+)
+
+add_fp_unittest(
+ fsub_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fsub_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fsub
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ fsubl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fsubl_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fsubl
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ fsubf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fsubf128_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.fsubf128
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ dsqrtl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ dsqrtl_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.dsqrtl
+)
+
+add_fp_unittest(
+ dsqrtf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ dsqrtf128_test.cpp
+ HDRS
+ SqrtTest.h
+ DEPENDS
+ libc.src.math.dsqrtf128
+)
+
+add_fp_unittest(
+ sin_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sin_test.cpp
+ DEPENDS
+ libc.src.math.sin
+)
+
+add_fp_unittest(
+ cos_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ cos_test.cpp
+ DEPENDS
+ libc.src.math.cos
+)
+
+add_fp_unittest(
+ sincos_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sincos_test.cpp
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.src.math.sincos
+)
+
+add_fp_unittest(
+ tan_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ tan_test.cpp
+ DEPENDS
+ libc.src.math.tan
+)
+
+add_fp_unittest(
+ cbrtf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ cbrtf_test.cpp
+ DEPENDS
+ libc.src.math.cbrtf
+)
+
+add_fp_unittest(
+ cbrt_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ cbrt_test.cpp
+ DEPENDS
+ libc.src.math.cbrt
+)
+
+add_fp_unittest(
+ dmull_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ dmull_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.math.dmull
+)
+
+add_fp_unittest(
+ f16mul_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16mul_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.math.f16mul
+)
+
+add_fp_unittest(
+ f16mulf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16mulf_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.math.f16mulf
+)
+
+add_fp_unittest(
+ f16mull_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16mull_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.math.f16mull
+)
+
+add_fp_unittest(
+ f16mulf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ f16mulf128_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.math.f16mulf128
+)
+
+add_fp_unittest(
+ daddl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ daddl_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.daddl
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ daddf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ daddf128_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.daddf128
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ ddivl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ddivl_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.ddivl
+)
+
+add_fp_unittest(
+ ddivf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ ddivf128_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.math.ddivf128
+)
+
+add_fp_unittest(
+ bfloat16_add_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bfloat16_add_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.generic.add_sub
+ libc.src.__support.macros.properties.os
+ libc.src.__support.macros.properties.types
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+)
+
+add_fp_unittest(
+ bfloat16_div_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bfloat16_div_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.src.__support.FPUtil.bfloat16
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+)
+
+add_fp_unittest(
+ bfloat16_mul_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bfloat16_mul_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.src.__support.FPUtil.basic_operations
+ libc.src.__support.FPUtil.bfloat16
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+)
+
+add_fp_unittest(
+ bfloat16_sub_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bfloat16_sub_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.generic.add_sub
+ libc.src.__support.macros.properties.os
+ libc.src.__support.macros.properties.types
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+)
+
+add_fp_unittest(
+ add_same_type_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ add_same_type_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.__support.FPUtil.generic.add_sub
+ libc.src.__support.macros.properties.os
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ sub_same_type_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ sub_same_type_test.cpp
+ HDRS
+ SubTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.__support.FPUtil.generic.add_sub
+ libc.src.__support.macros.properties.os
+ libc.src.__support.macros.properties.types
+)
+
+add_fp_unittest(
+ bf16add_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16add_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16add
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ bf16addf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16addf_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16addf
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ bf16addl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16addl_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16addl
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ bf16addf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16addf128_test.cpp
+ HDRS
+ AddTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16addf128
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.macros.properties.os
+)
+
+add_fp_unittest(
+ bf16fma_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16fma_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16fma
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16fmaf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16fmaf_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16fmaf
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16fmal_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16fmal_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16fmal
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16fmaf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16fmaf128_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16fmaf128
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16div_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16div_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16div
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16divf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16divf_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16divf
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16divl_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16divl_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16divl
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16divf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16divf128_test.cpp
+ HDRS
+ DivTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16divf128
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16mul_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16mul_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16mul
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16mulf_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16mulf_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16mulf
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16mull_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16mull_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16mull
+ libc.src.__support.FPUtil.bfloat16
+)
+
+add_fp_unittest(
+ bf16mulf128_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ bf16mulf128_test.cpp
+ HDRS
+ MulTest.h
+ DEPENDS
+ libc.hdr.errno_macros
+ libc.hdr.fenv_macros
+ libc.src.math.bf16mulf128
+ libc.src.__support.FPUtil.bfloat16
+)
+
+
add_fp_unittest(
bf16sub_test
SUITE
diff --git a/libc/test/src/math/smoke/fmabf16_test.cpp b/libc/test/src/math/smoke/fmabf16_test.cpp
new file mode 100644
index 0000000000000..4b1ececf40d74
--- /dev/null
+++ b/libc/test/src/math/smoke/fmabf16_test.cpp
@@ -0,0 +1,14 @@
+//===-- Unittests for fmabf16 ---------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "FmaTest.h"
+
+#include "src/__support/FPUtil/bfloat16.h"
+#include "src/math/fmabf16.h"
+
+LIST_FMA_TESTS(bfloat16, LIBC_NAMESPACE::fmabf16)
>From a3d72527fb8d824757a4f283f1139159a49ef4de Mon Sep 17 00:00:00 2001
From: Sukumarsawant <sawantsukumar at gmail.com>
Date: Mon, 9 Feb 2026 18:46:46 +0530
Subject: [PATCH 2/4] chore: resolved conflicts with add_sub
crlf-lf 2
crlf-lf
crlf->lf 4
crl->lf 5
other than smoke test
added exhaustive tests for fmabf16 (<2^32)
lf issue fixed
lf2
fixing CMAKE errors
unsigned int
shifting to only checking +0 and -0 along with -x*y
testing for special num
syn err
testing terney for bfloat16-bfloat16
removed -x*y test ( to be added )
EOF
test edit rm
chceking if its time limit constrain for ubuntu 24.04 ( reduced to 2^16)
continued prev
github CI passes for single bf16 input space - testing for 2 + 1 fixed
reducing the input space while checking proper cases at the same time + adding into math website
formatted
uint32_t error fixed ( declar at top or static cast )
testin without Normal range
test
only for limited exhaust
test
testing for max/min normal + special
checking if adding condn for that specific test helps
testing with all together ~ 2^20 input spc
2^17
testing for 2
0 err
final commit before PR
if change 1 needed
+0 -0 condn needed as gives output sign mismatch
format
formatted acc to gitac
line-space
shifted (norm,norm,INF) condn + moved Bfloat16 *= operator
fixed a blank space
[CHANGE] some nits and constexpr
fixed math index.rst reflecting bfloat support for fma
removed static
formatted
ordered CMAKE according to entrypoints (only reordered for fmabf16 ) + redundancy removed
formatted
reflected requested changes & added exhaustive test
entrypoints conflicts resolved
conflicts
---
libc/config/baremetal/aarch64/entrypoints.txt | 932 ---
libc/config/baremetal/arm/entrypoints.txt | 943 ---
libc/config/baremetal/riscv/entrypoints.txt | 941 ---
libc/config/darwin/aarch64/entrypoints.txt | 747 --
libc/config/darwin/x86_64/entrypoints.txt | 622 +-
libc/config/gpu/amdgpu/entrypoints.txt | 693 --
libc/config/gpu/nvptx/entrypoints.txt | 695 --
libc/config/linux/aarch64/entrypoints.txt | 1186 +--
libc/config/linux/arm/entrypoints.txt | 537 --
libc/config/linux/riscv/entrypoints.txt | 1331 ----
libc/config/linux/x86_64/entrypoints.txt | 1404 +---
libc/config/windows/entrypoints.txt | 384 -
libc/docs/headers/math/index.rst | 2 +-
libc/src/__support/FPUtil/generic/FMA.h | 7 +-
libc/src/math/CMakeLists.txt | 647 +-
libc/src/math/ffmal.h | 40 +-
libc/src/math/generic/CMakeLists.txt | 22 +-
libc/src/math/generic/fmabf16.cpp | 2 +-
libc/test/src/math/CMakeLists.txt | 3496 +--------
libc/test/src/math/bf16mul_test.cpp | 30 +-
libc/test/src/math/exhaustive/CMakeLists.txt | 17 +
.../test/src/math/exhaustive/fmabf16_test.cpp | 105 +
libc/test/src/math/fmabf16_test.cpp | 95 +-
libc/test/src/math/smoke/CMakeLists.txt | 6544 +----------------
libc/utils/MPFRWrapper/MPFRUtils.cpp | 5 +
25 files changed, 588 insertions(+), 20839 deletions(-)
create mode 100644 libc/test/src/math/exhaustive/fmabf16_test.cpp
diff --git a/libc/config/baremetal/aarch64/entrypoints.txt b/libc/config/baremetal/aarch64/entrypoints.txt
index 32d8201d9c53c..6564999e22455 100644
--- a/libc/config/baremetal/aarch64/entrypoints.txt
+++ b/libc/config/baremetal/aarch64/entrypoints.txt
@@ -399,938 +399,6 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.floorf
libc.src.math.floorl
libc.src.math.fma
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-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.asinf16
- libc.src.math.asinhf16
- 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
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- 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
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log2f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- 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
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.atan2f128
- libc.src.math.canonicalizef128
- libc.src.math.ceilf128
- libc.src.math.copysignf128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.fabsf128
- libc.src.math.faddf128
- libc.src.math.fdimf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.floorf128
- libc.src.math.fmaxf128
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximumf128
- libc.src.math.fminf128
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_numf128
- libc.src.math.fminimumf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.iscanonicalf128
- libc.src.math.issignalingf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.llrintf128
- libc.src.math.llroundf128
- libc.src.math.logbf128
- libc.src.math.lrintf128
- libc.src.math.lroundf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nearbyintf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.rintf128
- libc.src.math.roundevenf128
- libc.src.math.roundf128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.sqrtf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.truncf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdio.h entrypoints
- libc.src.stdio.asprintf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fprintf
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fscanf
- libc.src.stdio.fwrite
- libc.src.stdio.getchar
- libc.src.stdio.printf
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.scanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.sscanf
- libc.src.stdio.vasprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.vfscanf
- libc.src.stdio.vprintf
- libc.src.stdio.vscanf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vsscanf
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.a64l
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.calloc
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.free
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.malloc
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realloc
- libc.src.stdlib.srand
- # libc.src.stdlib.strfromd
- # libc.src.stdlib.strfromf
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.clock
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.timespec_get
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # internal entrypoints
- libc.startup.baremetal.init
- libc.startup.baremetal.fini
-)
-
-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
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan2
- libc.src.math.atan2f
- # libc.src.math.atan2l
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorl
- libc.src.math.fma
libc.src.math.fmabf16
libc.src.math.fmaf
libc.src.math.fmax
diff --git a/libc/config/baremetal/arm/entrypoints.txt b/libc/config/baremetal/arm/entrypoints.txt
index 03dacfdc97df9..d33f00da90eaa 100644
--- a/libc/config/baremetal/arm/entrypoints.txt
+++ b/libc/config/baremetal/arm/entrypoints.txt
@@ -403,949 +403,6 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.floorf
libc.src.math.floorl
libc.src.math.fma
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-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.asinf16
- libc.src.math.asinhf16
- 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
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- 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
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log2f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- 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
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.atan2f128
- libc.src.math.canonicalizef128
- libc.src.math.ceilf128
- libc.src.math.copysignf128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.fabsf128
- libc.src.math.faddf128
- libc.src.math.fdimf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.floorf128
- libc.src.math.fmaxf128
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximumf128
- libc.src.math.fminf128
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_numf128
- libc.src.math.fminimumf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.iscanonicalf128
- libc.src.math.issignalingf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.llrintf128
- libc.src.math.llroundf128
- libc.src.math.logbf128
- libc.src.math.lrintf128
- libc.src.math.lroundf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nearbyintf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.rintf128
- libc.src.math.roundevenf128
- libc.src.math.roundf128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.sqrtf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.truncf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdio.h entrypoints
- libc.src.stdio.asprintf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fprintf
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fscanf
- libc.src.stdio.fwrite
- libc.src.stdio.getchar
- libc.src.stdio.printf
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.scanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.sscanf
- libc.src.stdio.vasprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.vfscanf
- libc.src.stdio.vprintf
- libc.src.stdio.vscanf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vsscanf
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.a64l
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.calloc
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.free
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.malloc
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realloc
- libc.src.stdlib.srand
- # libc.src.stdlib.strfromd
- # libc.src.stdlib.strfromf
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.clock
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.timespec_get
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
-
- # internal entrypoints
- libc.startup.baremetal.init
- libc.startup.baremetal.fini
-)
-
-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
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2l
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorl
- libc.src.math.fma
libc.src.math.fmabf16
libc.src.math.fmaf
libc.src.math.fmax
diff --git a/libc/config/baremetal/riscv/entrypoints.txt b/libc/config/baremetal/riscv/entrypoints.txt
index 43e713ede585b..8fb8df24c8274 100644
--- a/libc/config/baremetal/riscv/entrypoints.txt
+++ b/libc/config/baremetal/riscv/entrypoints.txt
@@ -398,947 +398,6 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.floorf
libc.src.math.floorl
libc.src.math.fma
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- # libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-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.asinf16
- libc.src.math.asinhf16
- 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
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- 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
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log2f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- 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
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.atan2f128
- libc.src.math.canonicalizef128
- libc.src.math.ceilf128
- libc.src.math.copysignf128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.fabsf128
- libc.src.math.faddf128
- libc.src.math.fdimf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.floorf128
- libc.src.math.fmaxf128
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximumf128
- libc.src.math.fminf128
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_numf128
- libc.src.math.fminimumf128
- # libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.iscanonicalf128
- libc.src.math.issignalingf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.llrintf128
- libc.src.math.llroundf128
- libc.src.math.logbf128
- libc.src.math.lrintf128
- libc.src.math.lroundf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nearbyintf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.rintf128
- libc.src.math.roundevenf128
- libc.src.math.roundf128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.sqrtf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.truncf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # setjmp.h entrypoints
- # libc.src.setjmp.longjmp
- # libc.src.setjmp.setjmp
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdio.h entrypoints
- libc.src.stdio.asprintf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fprintf
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fscanf
- libc.src.stdio.fwrite
- libc.src.stdio.getchar
- libc.src.stdio.printf
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.scanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.sscanf
- libc.src.stdio.vasprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.vfscanf
- libc.src.stdio.vprintf
- libc.src.stdio.vscanf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vsscanf
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.a64l
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.calloc
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.free
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.malloc
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realloc
- libc.src.stdlib.srand
- # libc.src.stdlib.strfromd
- # libc.src.stdlib.strfromf
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.clock
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.timespec_get
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
-
- # internal entrypoints
- libc.startup.baremetal.init
- libc.startup.baremetal.fini
-)
-
-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
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan2
- libc.src.math.atan2f
- # libc.src.math.atan2l
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorl
- libc.src.math.fma
libc.src.math.fmabf16
libc.src.math.fmaf
libc.src.math.fmax
diff --git a/libc/config/darwin/aarch64/entrypoints.txt b/libc/config/darwin/aarch64/entrypoints.txt
index 082afc196356d..16594168a72f7 100644
--- a/libc/config/darwin/aarch64/entrypoints.txt
+++ b/libc/config/darwin/aarch64/entrypoints.txt
@@ -213,753 +213,6 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.floorf
libc.src.math.floorl
libc.src.math.fma
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-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.asinf16
- libc.src.math.asinhf16
- 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
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- 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
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log2f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- 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
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.atan2f128
- libc.src.math.canonicalizef128
- libc.src.math.ceilf128
- libc.src.math.copysignf128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.fabsf128
- libc.src.math.faddf128
- libc.src.math.fdimf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.floorf128
- libc.src.math.fmaxf128
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximumf128
- libc.src.math.fminf128
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_numf128
- libc.src.math.fminimumf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.iscanonicalf128
- libc.src.math.issignalingf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.llrintf128
- libc.src.math.llroundf128
- libc.src.math.logbf128
- libc.src.math.lrintf128
- libc.src.math.lroundf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nearbyintf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.rintf128
- libc.src.math.roundevenf128
- libc.src.math.roundf128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.sqrtf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.truncf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.free
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
-)
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
- libc.src.stdlib._Exit
- )
-endif()
-
-
-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
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorl
- libc.src.math.fma
libc.src.math.fmabf16
libc.src.math.fmaf
libc.src.math.fmax
diff --git a/libc/config/darwin/x86_64/entrypoints.txt b/libc/config/darwin/x86_64/entrypoints.txt
index d27510602df62..13e92f75d020f 100644
--- a/libc/config/darwin/x86_64/entrypoints.txt
+++ b/libc/config/darwin/x86_64/entrypoints.txt
@@ -1,311 +1,311 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # search.h entrypoints
- libc.src.search.lfind
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bzero
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.free
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # fenv disabled on x86_64 MacOS for now.
- # # fenv.h entrypoints
- # libc.src.fenv.feclearexcept
- # libc.src.fenv.fedisableexcept
- # libc.src.fenv.feenableexcept
- # libc.src.fenv.fegetenv
- # libc.src.fenv.fegetexcept
- # libc.src.fenv.fegetexceptflag
- # libc.src.fenv.fegetround
- # libc.src.fenv.feholdexcept
- # libc.src.fenv.fesetenv
- # libc.src.fenv.fesetexcept
- # libc.src.fenv.fesetexceptflag
- # libc.src.fenv.fesetround
- # libc.src.fenv.feraiseexcept
- # libc.src.fenv.fetestexcept
- # libc.src.fenv.fetestexceptflag
- # libc.src.fenv.feupdateenv
-
- ## Currently disabled for failing tests.
- # math.h entrypoints
- #libc.src.math.copysign
- #libc.src.math.copysignf
- #libc.src.math.copysignl
- #libc.src.math.ceil
- #libc.src.math.ceilf
- #libc.src.math.ceill
- #libc.src.math.coshf
- #libc.src.math.cosf
- #libc.src.math.daddl
- #libc.src.math.ddivl
- #libc.src.math.dfmal
- #libc.src.math.dsqrtl
- #libc.src.math.dsubl
- #libc.src.math.expf
- #libc.src.math.exp2f
- #libc.src.math.expm1f
- #libc.src.math.fabs
- #libc.src.math.fabsf
- #libc.src.math.fabsl
- #libc.src.math.fdim
- #libc.src.math.fdimf
- #libc.src.math.fdiml
- #libc.src.math.fdiv
- #libc.src.math.fdivl
- #libc.src.math.ffma
- #libc.src.math.ffmal
- #libc.src.math.floor
- #libc.src.math.floorf
- #libc.src.math.floorl
- #libc.src.math.fma
- #libc.src.math.fmabf16
- #libc.src.math.fmaf
- #libc.src.math.fmax
- #libc.src.math.fmaxf
- #libc.src.math.fmaxl
- #libc.src.math.fmin
- #libc.src.math.fminf
- #libc.src.math.fminl
- #libc.src.math.fmod
- #libc.src.math.fmodf
- #libc.src.math.frexp
- #libc.src.math.frexpf
- #libc.src.math.frexpl
- #libc.src.math.fsub
- #libc.src.math.fsubl
- #libc.src.math.hypot
- #libc.src.math.hypotf
- #libc.src.math.ilogb
- #libc.src.math.ilogbf
- #libc.src.math.ilogbl
- #libc.src.math.llrint
- #libc.src.math.llrintf
- #libc.src.math.llrintl
- #libc.src.math.llround
- #libc.src.math.llroundf
- #libc.src.math.llroundl
- #libc.src.math.lrint
- #libc.src.math.lrintf
- #libc.src.math.lrintl
- #libc.src.math.lround
- #libc.src.math.lroundf
- #libc.src.math.lroundl
- #libc.src.math.ldexp
- #libc.src.math.ldexpf
- #libc.src.math.ldexpl
- #libc.src.math.log10f
- #libc.src.math.log1pf
- #libc.src.math.log2f
- #libc.src.math.logf
- #libc.src.math.logb
- #libc.src.math.logbf
- #libc.src.math.logbl
- #libc.src.math.modf
- #libc.src.math.modff
- #libc.src.math.modfl
- #libc.src.math.nan
- #libc.src.math.nanf
- #libc.src.math.nanl
- #libc.src.math.nearbyint
- #libc.src.math.nearbyintf
- #libc.src.math.nearbyintl
- #libc.src.math.nextafter
- #libc.src.math.nextafterf
- #libc.src.math.nextafterl
- #libc.src.math.nexttoward
- #libc.src.math.nexttowardf
- #libc.src.math.nexttowardl
- #libc.src.math.remainderf
- #libc.src.math.remainder
- #libc.src.math.remainderl
- #libc.src.math.remquof
- #libc.src.math.remquo
- #libc.src.math.remquol
- #libc.src.math.rint
- #libc.src.math.rintf
- #libc.src.math.rintl
- #libc.src.math.round
- #libc.src.math.roundf
- #libc.src.math.roundl
- #libc.src.math.sincosf
- #libc.src.math.sinhf
- #libc.src.math.sinf
- #libc.src.math.sqrt
- #libc.src.math.sqrtf
- #libc.src.math.sqrtl
- #libc.src.math.tanf
- #libc.src.math.tanhf
- #libc.src.math.totalordermag
- #libc.src.math.totalordermagf
- #libc.src.math.totalordermagl
- #libc.src.math.trunc
- #libc.src.math.truncf
- #libc.src.math.truncl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # search.h entrypoints
+ libc.src.search.lfind
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bzero
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.free
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # fenv disabled on x86_64 MacOS for now.
+ # # fenv.h entrypoints
+ # libc.src.fenv.feclearexcept
+ # libc.src.fenv.fedisableexcept
+ # libc.src.fenv.feenableexcept
+ # libc.src.fenv.fegetenv
+ # libc.src.fenv.fegetexcept
+ # libc.src.fenv.fegetexceptflag
+ # libc.src.fenv.fegetround
+ # libc.src.fenv.feholdexcept
+ # libc.src.fenv.fesetenv
+ # libc.src.fenv.fesetexcept
+ # libc.src.fenv.fesetexceptflag
+ # libc.src.fenv.fesetround
+ # libc.src.fenv.feraiseexcept
+ # libc.src.fenv.fetestexcept
+ # libc.src.fenv.fetestexceptflag
+ # libc.src.fenv.feupdateenv
+
+ ## Currently disabled for failing tests.
+ # math.h entrypoints
+ #libc.src.math.copysign
+ #libc.src.math.copysignf
+ #libc.src.math.copysignl
+ #libc.src.math.ceil
+ #libc.src.math.ceilf
+ #libc.src.math.ceill
+ #libc.src.math.coshf
+ #libc.src.math.cosf
+ #libc.src.math.daddl
+ #libc.src.math.ddivl
+ #libc.src.math.dfmal
+ #libc.src.math.dsqrtl
+ #libc.src.math.dsubl
+ #libc.src.math.expf
+ #libc.src.math.exp2f
+ #libc.src.math.expm1f
+ #libc.src.math.fabs
+ #libc.src.math.fabsf
+ #libc.src.math.fabsl
+ #libc.src.math.fdim
+ #libc.src.math.fdimf
+ #libc.src.math.fdiml
+ #libc.src.math.fdiv
+ #libc.src.math.fdivl
+ #libc.src.math.ffma
+ #libc.src.math.ffmal
+ #libc.src.math.floor
+ #libc.src.math.floorf
+ #libc.src.math.floorl
+ #libc.src.math.fma
+ #libc.src.math.fmabf16
+ #libc.src.math.fmaf
+ #libc.src.math.fmax
+ #libc.src.math.fmaxf
+ #libc.src.math.fmaxl
+ #libc.src.math.fmin
+ #libc.src.math.fminf
+ #libc.src.math.fminl
+ #libc.src.math.fmod
+ #libc.src.math.fmodf
+ #libc.src.math.frexp
+ #libc.src.math.frexpf
+ #libc.src.math.frexpl
+ #libc.src.math.fsub
+ #libc.src.math.fsubl
+ #libc.src.math.hypot
+ #libc.src.math.hypotf
+ #libc.src.math.ilogb
+ #libc.src.math.ilogbf
+ #libc.src.math.ilogbl
+ #libc.src.math.llrint
+ #libc.src.math.llrintf
+ #libc.src.math.llrintl
+ #libc.src.math.llround
+ #libc.src.math.llroundf
+ #libc.src.math.llroundl
+ #libc.src.math.lrint
+ #libc.src.math.lrintf
+ #libc.src.math.lrintl
+ #libc.src.math.lround
+ #libc.src.math.lroundf
+ #libc.src.math.lroundl
+ #libc.src.math.ldexp
+ #libc.src.math.ldexpf
+ #libc.src.math.ldexpl
+ #libc.src.math.log10f
+ #libc.src.math.log1pf
+ #libc.src.math.log2f
+ #libc.src.math.logf
+ #libc.src.math.logb
+ #libc.src.math.logbf
+ #libc.src.math.logbl
+ #libc.src.math.modf
+ #libc.src.math.modff
+ #libc.src.math.modfl
+ #libc.src.math.nan
+ #libc.src.math.nanf
+ #libc.src.math.nanl
+ #libc.src.math.nearbyint
+ #libc.src.math.nearbyintf
+ #libc.src.math.nearbyintl
+ #libc.src.math.nextafter
+ #libc.src.math.nextafterf
+ #libc.src.math.nextafterl
+ #libc.src.math.nexttoward
+ #libc.src.math.nexttowardf
+ #libc.src.math.nexttowardl
+ #libc.src.math.remainderf
+ #libc.src.math.remainder
+ #libc.src.math.remainderl
+ #libc.src.math.remquof
+ #libc.src.math.remquo
+ #libc.src.math.remquol
+ #libc.src.math.rint
+ #libc.src.math.rintf
+ #libc.src.math.rintl
+ #libc.src.math.round
+ #libc.src.math.roundf
+ #libc.src.math.roundl
+ #libc.src.math.sincosf
+ #libc.src.math.sinhf
+ #libc.src.math.sinf
+ #libc.src.math.sqrt
+ #libc.src.math.sqrtf
+ #libc.src.math.sqrtl
+ #libc.src.math.tanf
+ #libc.src.math.tanhf
+ #libc.src.math.totalordermag
+ #libc.src.math.totalordermagf
+ #libc.src.math.totalordermagl
+ #libc.src.math.trunc
+ #libc.src.math.truncf
+ #libc.src.math.truncl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/gpu/amdgpu/entrypoints.txt b/libc/config/gpu/amdgpu/entrypoints.txt
index c8a22b8aaf25c..bf5844a2d0279 100644
--- a/libc/config/gpu/amdgpu/entrypoints.txt
+++ b/libc/config/gpu/amdgpu/entrypoints.txt
@@ -339,699 +339,6 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.floorf
libc.src.math.floorl
libc.src.math.fma
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaximum
- libc.src.math.fmaximumf
- libc.src.math.fmaximuml
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numl
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminimum
- libc.src.math.fminimumf
- libc.src.math.fminimuml
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numl
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgamma
- libc.src.math.lgamma_r
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintl
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenl
- libc.src.math.round
- libc.src.math.roundf
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.tgamma
- libc.src.math.tgammaf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-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
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- 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
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log2f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- 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
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha
- libc.src.ctype.isalpha_l
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower
- libc.src.ctype.islower_l
- libc.src.ctype.isprint
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit
- libc.src.ctype.isxdigit_l
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper
- libc.src.ctype.toupper_l
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcoll_l
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strtod
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull
- libc.src.stdlib.strtoull_l
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.quick_exit
- libc.src.stdlib.getenv
- libc.src.stdlib.system
-
- # TODO: Implement these correctly
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.realloc
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.fclose
- libc.src.stdio.printf
- libc.src.stdio.vprintf
- libc.src.stdio.fprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.asprintf
- libc.src.stdio.vasprintf
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.sscanf
- libc.src.stdio.vsscanf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fopen
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fseek
- libc.src.stdio.ftell
- libc.src.stdio.fwrite
- libc.src.stdio.getc
- libc.src.stdio.getchar
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # time.h entrypoints
- libc.src.time.clock
- libc.src.time.clock_gettime
- libc.src.time.timespec_get
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.mktime
-
- # wchar.h entrypoints
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2l
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorl
- libc.src.math.fma
libc.src.math.fmabf16
libc.src.math.fmaf
libc.src.math.fmax
diff --git a/libc/config/gpu/nvptx/entrypoints.txt b/libc/config/gpu/nvptx/entrypoints.txt
index c557b751c5b6e..42f96930128b8 100644
--- a/libc/config/gpu/nvptx/entrypoints.txt
+++ b/libc/config/gpu/nvptx/entrypoints.txt
@@ -339,701 +339,6 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.floorf
libc.src.math.floorl
libc.src.math.fma
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaximum
- libc.src.math.fmaximumf
- libc.src.math.fmaximuml
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numl
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminimum
- libc.src.math.fminimumf
- libc.src.math.fminimuml
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numl
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- # FIXME: Broken.
- # libc.src.math.fromfp
- # libc.src.math.fromfpf
- # libc.src.math.fromfpl
- # libc.src.math.fromfpx
- # libc.src.math.fromfpxf
- # libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgamma
- libc.src.math.lgamma_r
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintl
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenl
- libc.src.math.round
- libc.src.math.roundf
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.tgamma
- libc.src.math.tgammaf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncl
- # FIXME: Broken.
- # libc.src.math.ufromfp
- # libc.src.math.ufromfpf
- # libc.src.math.ufromfpl
- # libc.src.math.ufromfpx
- # libc.src.math.ufromfpxf
- # libc.src.math.ufromfpxl
-)
-
-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
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- 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
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log2f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- 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
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha
- libc.src.ctype.isalpha_l
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower
- libc.src.ctype.islower_l
- libc.src.ctype.isprint
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit
- libc.src.ctype.isxdigit_l
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper
- libc.src.ctype.toupper_l
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcoll_l
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strtod
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull
- libc.src.stdlib.strtoull_l
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.quick_exit
- libc.src.stdlib.getenv
- libc.src.stdlib.system
-
- # TODO: Implement these correctly
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.realloc
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.fclose
- libc.src.stdio.printf
- libc.src.stdio.vprintf
- libc.src.stdio.fprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.asprintf
- libc.src.stdio.vasprintf
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.sscanf
- libc.src.stdio.vsscanf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fopen
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fseek
- libc.src.stdio.ftell
- libc.src.stdio.fwrite
- libc.src.stdio.getc
- libc.src.stdio.getchar
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # time.h entrypoints
- libc.src.time.clock
- libc.src.time.clock_gettime
- libc.src.time.timespec_get
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.mktime
-
- # wchar.h entrypoints
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2l
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorl
- libc.src.math.fma
libc.src.math.fmabf16
libc.src.math.fmaf
libc.src.math.fmax
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt
index 609e85bebc9d6..e4702a4f132f3 100644
--- a/libc/config/linux/aarch64/entrypoints.txt
+++ b/libc/config/linux/aarch64/entrypoints.txt
@@ -478,6 +478,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.floorf
libc.src.math.floorl
libc.src.math.fma
+ libc.src.math.fmabf16
libc.src.math.fmaf
libc.src.math.fmax
libc.src.math.fmaxf
@@ -1194,1188 +1195,3 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBM_ENTRYPOINTS}
${TARGET_LIBMVEC_ENTRYPOINTS}
)
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # dlfcn.h entrypoints
- libc.src.dlfcn.dlclose
- libc.src.dlfcn.dlerror
- libc.src.dlfcn.dlopen
- libc.src.dlfcn.dlsym
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # fcntl.h entrypoints
- libc.src.fcntl.creat
- libc.src.fcntl.fcntl
- libc.src.fcntl.open
- libc.src.fcntl.openat
-
- # poll.h entrypoints
- libc.src.poll.poll
-
- # sched.h entrypoints
- libc.src.sched.sched_get_priority_max
- libc.src.sched.sched_get_priority_min
- libc.src.sched.sched_getaffinity
- libc.src.sched.sched_getparam
- libc.src.sched.sched_getscheduler
- libc.src.sched.sched_rr_get_interval
- libc.src.sched.sched_setaffinity
- libc.src.sched.sched_setparam
- libc.src.sched.sched_setscheduler
- libc.src.sched.sched_yield
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strsignal
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strfromd
- libc.src.stdlib.strfromf
- # TODO: long double support is buggy with clang-11. Re-enable when buildbots are upgraded.
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.realloc
-
- # stdio.h entrypoints
- libc.src.stdio.fprintf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.printf
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.asprintf
- libc.src.stdio.sscanf
- libc.src.stdio.vsscanf
- libc.src.stdio.vfprintf
- libc.src.stdio.vprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vasprintf
-
- # sys/epoll.h entrypoints
- libc.src.sys.epoll.epoll_create
- libc.src.sys.epoll.epoll_create1
- libc.src.sys.epoll.epoll_ctl
- libc.src.sys.epoll.epoll_pwait
- libc.src.sys.epoll.epoll_wait
- # TODO: Need to check if pwait2 is available before providing.
- # https://github.com/llvm/llvm-project/issues/80060
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.madvise
- libc.src.sys.mman.mincore
- libc.src.sys.mman.mlock
- libc.src.sys.mman.mlock2
- libc.src.sys.mman.mlockall
- libc.src.sys.mman.mmap
- libc.src.sys.mman.mremap
- libc.src.sys.mman.mprotect
- libc.src.sys.mman.msync
- libc.src.sys.mman.munlock
- libc.src.sys.mman.munlockall
- libc.src.sys.mman.munmap
- libc.src.sys.mman.remap_file_pages
- libc.src.sys.mman.posix_madvise
- libc.src.sys.mman.shm_open
- libc.src.sys.mman.shm_unlink
-
- # sys/random.h entrypoints
- libc.src.sys.random.getrandom
-
- # sys/resource.h entrypoints
- libc.src.sys.resource.getrlimit
- libc.src.sys.resource.setrlimit
-
- # sys/sendfile entrypoints
- libc.src.sys.sendfile.sendfile
-
- # sys/stat.h entrypoints
- libc.src.sys.stat.chmod
- libc.src.sys.stat.fchmod
- libc.src.sys.stat.fchmodat
- libc.src.sys.stat.fstat
- libc.src.sys.stat.lstat
- libc.src.sys.stat.mkdir
- libc.src.sys.stat.mkdirat
- libc.src.sys.stat.stat
-
- # sys/statvfs.h
- libc.src.sys.statvfs.fstatvfs
- libc.src.sys.statvfs.statvfs
-
- # sys/utsname.h entrypoints
- libc.src.sys.utsname.uname
-
- # sys/wait.h entrypoints
- libc.src.sys.wait.wait
- libc.src.sys.wait.wait4
- libc.src.sys.wait.waitpid
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/auxv.h entrypoints
- libc.src.sys.auxv.getauxval
-
- # termios.h entrypoints
- libc.src.termios.cfgetispeed
- libc.src.termios.cfgetospeed
- libc.src.termios.cfsetispeed
- libc.src.termios.cfsetospeed
- libc.src.termios.tcdrain
- libc.src.termios.tcflow
- libc.src.termios.tcflush
- libc.src.termios.tcgetattr
- libc.src.termios.tcgetsid
- libc.src.termios.tcsendbreak
- libc.src.termios.tcsetattr
-
- # unistd.h entrypoints
- libc.src.unistd.access
- libc.src.unistd.chdir
- libc.src.unistd.close
- libc.src.unistd.dup
- libc.src.unistd.dup2
- libc.src.unistd.dup3
- libc.src.unistd.execve
- libc.src.unistd.faccessat
- libc.src.unistd.fchdir
- libc.src.unistd.fchown
- libc.src.unistd.fpathconf
- libc.src.unistd.fsync
- libc.src.unistd.ftruncate
- libc.src.unistd.getcwd
- libc.src.unistd.getentropy
- libc.src.unistd.geteuid
- libc.src.unistd.gethostname
- libc.src.unistd.getpagesize
- libc.src.unistd.getpid
- libc.src.unistd.getppid
- libc.src.unistd.getsid
- libc.src.unistd.gettid
- libc.src.unistd.getuid
- libc.src.unistd.isatty
- libc.src.unistd.link
- libc.src.unistd.linkat
- libc.src.unistd.lseek
- libc.src.unistd.pathconf
- libc.src.unistd.pipe
- libc.src.unistd.pipe2
- libc.src.unistd.pread
- libc.src.unistd.pwrite
- libc.src.unistd.read
- libc.src.unistd.readlink
- libc.src.unistd.readlinkat
- libc.src.unistd.rmdir
- libc.src.unistd.setsid
- libc.src.unistd.symlink
- libc.src.unistd.symlinkat
- libc.src.unistd.sysconf
- libc.src.unistd.truncate
- libc.src.unistd.unlink
- libc.src.unistd.unlinkat
- libc.src.unistd.write
-
- # wchar.h entrypoints
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
-
- # sys/uio.h entrypoints
- libc.src.sys.uio.writev
- libc.src.sys.uio.readv
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
-)
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-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
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdiml
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acoshf16
- libc.src.math.asinpif16
- libc.src.math.canonicalizef16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cospif16
- libc.src.math.expf16
- libc.src.math.f16add
- libc.src.math.f16addf
- # libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- # libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- # libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- # libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- # libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- # libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- # libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.logbf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- # libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- # Temporarily disable nexttowardf16 on aarch64 because the conversion
- # between _Float16 and long double will crash clang-11. This is fixed in
- # clang-12 and after: https://godbolt.org/z/8ceT9454c
- # libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.rsqrtf
- libc.src.math.rsqrtf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- # if(LIBC_TYPES_HAS_FLOAT128)
- # list(APPEND TARGET_LIBM_ENTRYPOINTS
- # # math.h C23 mixed _Float16 and _Float128 entrypoints
- # libc.src.math.f16addf128
- # libc.src.math.f16divf128
- # libc.src.math.f16fmaf128
- # libc.src.math.f16mulf128
- # libc.src.math.f16sqrtf128
- # libc.src.math.f16subf128
- # )
- # endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.atan2f128
- libc.src.math.canonicalizef128
- libc.src.math.ceilf128
- libc.src.math.copysignf128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.fabsf128
- libc.src.math.faddf128
- libc.src.math.fdimf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.floorf128
- libc.src.math.fmaxf128
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximumf128
- libc.src.math.fminf128
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_numf128
- libc.src.math.fminimumf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.iscanonicalf128
- libc.src.math.issignalingf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.llrintf128
- libc.src.math.llroundf128
- libc.src.math.logbf128
- libc.src.math.lrintf128
- libc.src.math.lroundf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nearbyintf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.rintf128
- libc.src.math.roundevenf128
- libc.src.math.roundf128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.sqrtf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.truncf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # dirent.h entrypoints
- libc.src.dirent.closedir
- libc.src.dirent.dirfd
- libc.src.dirent.opendir
- libc.src.dirent.readdir
-
- # arpa/inet.h entrypoints
- libc.src.arpa.inet.htonl
- libc.src.arpa.inet.htons
- libc.src.arpa.inet.inet_addr
- libc.src.arpa.inet.inet_aton
- libc.src.arpa.inet.ntohl
- libc.src.arpa.inet.ntohs
-
- # pthread.h entrypoints
- libc.src.pthread.pthread_atfork
- libc.src.pthread.pthread_attr_destroy
- libc.src.pthread.pthread_attr_getdetachstate
- libc.src.pthread.pthread_attr_getguardsize
- libc.src.pthread.pthread_attr_getstack
- libc.src.pthread.pthread_attr_getstacksize
- libc.src.pthread.pthread_attr_init
- libc.src.pthread.pthread_attr_setdetachstate
- libc.src.pthread.pthread_attr_setguardsize
- libc.src.pthread.pthread_attr_setstack
- libc.src.pthread.pthread_attr_setstacksize
- libc.src.pthread.pthread_condattr_destroy
- libc.src.pthread.pthread_condattr_getclock
- libc.src.pthread.pthread_condattr_getpshared
- libc.src.pthread.pthread_condattr_init
- libc.src.pthread.pthread_condattr_setclock
- libc.src.pthread.pthread_condattr_setpshared
- libc.src.pthread.pthread_create
- libc.src.pthread.pthread_detach
- libc.src.pthread.pthread_equal
- libc.src.pthread.pthread_exit
- libc.src.pthread.pthread_getname_np
- libc.src.pthread.pthread_getspecific
- libc.src.pthread.pthread_join
- libc.src.pthread.pthread_key_create
- libc.src.pthread.pthread_key_delete
- libc.src.pthread.pthread_mutex_destroy
- libc.src.pthread.pthread_mutex_init
- libc.src.pthread.pthread_mutex_lock
- libc.src.pthread.pthread_mutex_unlock
- libc.src.pthread.pthread_mutexattr_destroy
- libc.src.pthread.pthread_mutexattr_getpshared
- libc.src.pthread.pthread_mutexattr_getrobust
- libc.src.pthread.pthread_mutexattr_gettype
- libc.src.pthread.pthread_mutexattr_init
- libc.src.pthread.pthread_mutexattr_setpshared
- libc.src.pthread.pthread_mutexattr_setrobust
- libc.src.pthread.pthread_mutexattr_settype
- libc.src.pthread.pthread_once
- libc.src.pthread.pthread_rwlock_clockrdlock
- libc.src.pthread.pthread_rwlock_clockwrlock
- libc.src.pthread.pthread_rwlock_destroy
- libc.src.pthread.pthread_rwlock_init
- libc.src.pthread.pthread_rwlock_rdlock
- libc.src.pthread.pthread_rwlock_timedrdlock
- libc.src.pthread.pthread_rwlock_timedwrlock
- libc.src.pthread.pthread_rwlock_tryrdlock
- libc.src.pthread.pthread_rwlock_trywrlock
- libc.src.pthread.pthread_rwlock_unlock
- libc.src.pthread.pthread_rwlock_wrlock
- libc.src.pthread.pthread_rwlockattr_destroy
- libc.src.pthread.pthread_rwlockattr_getkind_np
- libc.src.pthread.pthread_rwlockattr_getpshared
- libc.src.pthread.pthread_rwlockattr_init
- libc.src.pthread.pthread_rwlockattr_setkind_np
- libc.src.pthread.pthread_rwlockattr_setpshared
- libc.src.pthread.pthread_spin_destroy
- libc.src.pthread.pthread_spin_init
- libc.src.pthread.pthread_spin_lock
- libc.src.pthread.pthread_spin_trylock
- libc.src.pthread.pthread_spin_unlock
- libc.src.pthread.pthread_self
- libc.src.pthread.pthread_setname_np
- libc.src.pthread.pthread_setspecific
-
- # sched.h entrypoints
- libc.src.sched.__sched_getcpucount
- libc.src.sched.__sched_setcpuzero
- libc.src.sched.__sched_setcpuset
- libc.src.sched.__sched_getcpuisset
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.clearerr_unlocked
- libc.src.stdio.fclose
- libc.src.stdio.fdopen
- libc.src.stdio.feof
- libc.src.stdio.feof_unlocked
- libc.src.stdio.ferror
- libc.src.stdio.ferror_unlocked
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgetc_unlocked
- libc.src.stdio.fgets
- libc.src.stdio.fileno
- libc.src.stdio.flockfile
- libc.src.stdio.fopen
- libc.src.stdio.fopencookie
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fread_unlocked
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.funlockfile
- libc.src.stdio.fwrite
- libc.src.stdio.fwrite_unlocked
- libc.src.stdio.getc
- libc.src.stdio.getc_unlocked
- libc.src.stdio.getchar
- libc.src.stdio.getchar_unlocked
- libc.src.stdio.perror
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.setbuf
- libc.src.stdio.setvbuf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.atexit
- libc.src.stdlib.exit
- libc.src.stdlib.getenv
- libc.src.stdlib.quick_exit
-
- # signal.h entrypoints
- libc.src.signal.kill
- libc.src.signal.raise
- libc.src.signal.sigaction
- libc.src.signal.sigaddset
- libc.src.signal.sigaltstack
- libc.src.signal.sigdelset
- libc.src.signal.sigemptyset
- libc.src.signal.sigfillset
- libc.src.signal.signal
- libc.src.signal.sigprocmask
-
- # spawn.h entrypoints
- libc.src.spawn.posix_spawn
- libc.src.spawn.posix_spawn_file_actions_addclose
- libc.src.spawn.posix_spawn_file_actions_adddup2
- libc.src.spawn.posix_spawn_file_actions_addopen
- libc.src.spawn.posix_spawn_file_actions_destroy
- libc.src.spawn.posix_spawn_file_actions_init
-
- # search.h entrypoints
- libc.src.search.hcreate
- libc.src.search.hcreate_r
- libc.src.search.hdestroy
- libc.src.search.hdestroy_r
- libc.src.search.hsearch
- libc.src.search.hsearch_r
- libc.src.search.insque
- libc.src.search.lfind
- libc.src.search.lsearch
- libc.src.search.remque
-
- # threads.h entrypoints
- libc.src.threads.call_once
- libc.src.threads.cnd_broadcast
- libc.src.threads.cnd_destroy
- libc.src.threads.cnd_init
- libc.src.threads.cnd_signal
- libc.src.threads.cnd_wait
- libc.src.threads.mtx_destroy
- libc.src.threads.mtx_init
- libc.src.threads.mtx_lock
- libc.src.threads.mtx_unlock
- libc.src.threads.thrd_create
- libc.src.threads.thrd_current
- libc.src.threads.thrd_detach
- libc.src.threads.thrd_equal
- libc.src.threads.thrd_exit
- libc.src.threads.thrd_join
- libc.src.threads.tss_create
- libc.src.threads.tss_delete
- libc.src.threads.tss_get
- libc.src.threads.tss_set
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.clock
- libc.src.time.clock_gettime
- libc.src.time.clock_settime
- libc.src.time.difftime
- libc.src.time.gettimeofday
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.mktime
- libc.src.time.nanosleep
- libc.src.time.time
- libc.src.time.timespec_get
-
- # unistd.h entrypoints
- libc.src.unistd.__llvm_libc_syscall
- libc.src.unistd._exit
- libc.src.unistd.environ
- libc.src.unistd.execv
- libc.src.unistd.fork
- libc.src.unistd.getopt
- libc.src.unistd.optarg
- libc.src.unistd.opterr
- libc.src.unistd.optind
- libc.src.unistd.optopt
- libc.src.unistd.swab
-
- # sys/select.h entrypoints
- libc.src.sys.select.select
-
- # sys/socket.h entrypoints
- libc.src.sys.socket.bind
- libc.src.sys.socket.socket
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
diff --git a/libc/config/linux/arm/entrypoints.txt b/libc/config/linux/arm/entrypoints.txt
index 9c298499fda36..8d5b23602c982 100644
--- a/libc/config/linux/arm/entrypoints.txt
+++ b/libc/config/linux/arm/entrypoints.txt
@@ -303,543 +303,6 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.floorf
libc.src.math.floorl
libc.src.math.fma
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmul
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundf
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # poll.h entrypoints
- libc.src.poll.poll
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.mmap
- libc.src.sys.mman.munmap
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/epoll.h entrypoints
- # Disabled due to epoll_wait syscalls not being available on this platform.
- # libc.src.sys.epoll.epoll_wait
- # libc.src.sys.epoll.epoll_pwait
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
-)
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # search.h entrypoints
- libc.src.search.lfind
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
- )
-endif()
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-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
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.dfmal
- libc.src.math.dsqrtl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorl
- libc.src.math.fma
libc.src.math.fmabf16
libc.src.math.fmaf
libc.src.math.fmax
diff --git a/libc/config/linux/riscv/entrypoints.txt b/libc/config/linux/riscv/entrypoints.txt
index 7c0eee0a1f1e2..017ee5482cf0b 100644
--- a/libc/config/linux/riscv/entrypoints.txt
+++ b/libc/config/linux/riscv/entrypoints.txt
@@ -487,1337 +487,6 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.floorf
libc.src.math.floorl
libc.src.math.fma
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-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.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
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- 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
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log2f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.rsqrtf
- libc.src.math.rsqrtf16
- libc.src.math.scalblnf16
- 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
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.atan2f128
- libc.src.math.canonicalizef128
- libc.src.math.ceilf128
- libc.src.math.copysignf128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.fabsf128
- libc.src.math.faddf128
- libc.src.math.fdimf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.floorf128
- libc.src.math.fmaxf128
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximumf128
- libc.src.math.fminf128
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_numf128
- libc.src.math.fminimumf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.iscanonicalf128
- libc.src.math.issignalingf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.llrintf128
- libc.src.math.llroundf128
- libc.src.math.logbf128
- libc.src.math.lrintf128
- libc.src.math.lroundf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nearbyintf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.rintf128
- libc.src.math.roundevenf128
- libc.src.math.roundf128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.sqrtf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.truncf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- libc.src.stdfix.rdivi
- )
-endif()
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # dirent.h entrypoints
- libc.src.dirent.closedir
- libc.src.dirent.dirfd
- libc.src.dirent.opendir
- libc.src.dirent.readdir
-
- # arpa/inet.h entrypoints
- libc.src.arpa.inet.htonl
- libc.src.arpa.inet.htons
- libc.src.arpa.inet.inet_addr
- libc.src.arpa.inet.inet_aton
- libc.src.arpa.inet.ntohl
- libc.src.arpa.inet.ntohs
-
- # pthread.h entrypoints
- libc.src.pthread.pthread_atfork
- libc.src.pthread.pthread_attr_destroy
- libc.src.pthread.pthread_attr_getdetachstate
- libc.src.pthread.pthread_attr_getguardsize
- libc.src.pthread.pthread_attr_getstack
- libc.src.pthread.pthread_attr_getstacksize
- libc.src.pthread.pthread_attr_init
- libc.src.pthread.pthread_attr_setdetachstate
- libc.src.pthread.pthread_attr_setguardsize
- libc.src.pthread.pthread_attr_setstack
- libc.src.pthread.pthread_attr_setstacksize
- libc.src.pthread.pthread_condattr_destroy
- libc.src.pthread.pthread_condattr_getclock
- libc.src.pthread.pthread_condattr_getpshared
- libc.src.pthread.pthread_condattr_init
- libc.src.pthread.pthread_condattr_setclock
- libc.src.pthread.pthread_condattr_setpshared
- libc.src.pthread.pthread_create
- libc.src.pthread.pthread_detach
- libc.src.pthread.pthread_equal
- libc.src.pthread.pthread_exit
- libc.src.pthread.pthread_getname_np
- libc.src.pthread.pthread_getspecific
- libc.src.pthread.pthread_join
- libc.src.pthread.pthread_key_create
- libc.src.pthread.pthread_key_delete
- libc.src.pthread.pthread_mutex_destroy
- libc.src.pthread.pthread_mutex_init
- libc.src.pthread.pthread_mutex_lock
- libc.src.pthread.pthread_mutex_unlock
- libc.src.pthread.pthread_mutexattr_destroy
- libc.src.pthread.pthread_mutexattr_getpshared
- libc.src.pthread.pthread_mutexattr_getrobust
- libc.src.pthread.pthread_mutexattr_gettype
- libc.src.pthread.pthread_mutexattr_init
- libc.src.pthread.pthread_mutexattr_setpshared
- libc.src.pthread.pthread_mutexattr_setrobust
- libc.src.pthread.pthread_mutexattr_settype
- libc.src.pthread.pthread_once
- libc.src.pthread.pthread_rwlock_clockrdlock
- libc.src.pthread.pthread_rwlock_clockwrlock
- libc.src.pthread.pthread_rwlock_destroy
- libc.src.pthread.pthread_rwlock_init
- libc.src.pthread.pthread_rwlock_rdlock
- libc.src.pthread.pthread_rwlock_timedrdlock
- libc.src.pthread.pthread_rwlock_timedwrlock
- libc.src.pthread.pthread_rwlock_tryrdlock
- libc.src.pthread.pthread_rwlock_trywrlock
- libc.src.pthread.pthread_rwlock_unlock
- libc.src.pthread.pthread_rwlock_wrlock
- libc.src.pthread.pthread_rwlockattr_destroy
- libc.src.pthread.pthread_rwlockattr_getkind_np
- libc.src.pthread.pthread_rwlockattr_getpshared
- libc.src.pthread.pthread_rwlockattr_init
- libc.src.pthread.pthread_rwlockattr_setkind_np
- libc.src.pthread.pthread_rwlockattr_setpshared
- libc.src.pthread.pthread_spin_destroy
- libc.src.pthread.pthread_spin_init
- libc.src.pthread.pthread_spin_lock
- libc.src.pthread.pthread_spin_trylock
- libc.src.pthread.pthread_spin_unlock
- libc.src.pthread.pthread_self
- libc.src.pthread.pthread_setname_np
- libc.src.pthread.pthread_setspecific
-
- # sched.h entrypoints
- libc.src.sched.__sched_getcpucount
- libc.src.sched.__sched_setcpuzero
- libc.src.sched.__sched_setcpuset
- libc.src.sched.__sched_getcpuisset
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.clearerr_unlocked
- libc.src.stdio.fclose
- libc.src.stdio.fdopen
- libc.src.stdio.feof
- libc.src.stdio.feof_unlocked
- libc.src.stdio.ferror
- libc.src.stdio.ferror_unlocked
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgetc_unlocked
- libc.src.stdio.fgets
- libc.src.stdio.fileno
- libc.src.stdio.flockfile
- libc.src.stdio.fopen
- libc.src.stdio.fopencookie
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fread_unlocked
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.funlockfile
- libc.src.stdio.fwrite
- libc.src.stdio.fwrite_unlocked
- libc.src.stdio.getc
- libc.src.stdio.getc_unlocked
- libc.src.stdio.getchar
- libc.src.stdio.getchar_unlocked
- libc.src.stdio.perror
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.setbuf
- libc.src.stdio.setvbuf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.atexit
- libc.src.stdlib.exit
- libc.src.stdlib.getenv
- libc.src.stdlib.quick_exit
-
- # signal.h entrypoints
- libc.src.signal.kill
- libc.src.signal.raise
- libc.src.signal.sigaction
- libc.src.signal.sigaddset
- libc.src.signal.sigaltstack
- libc.src.signal.sigdelset
- libc.src.signal.sigemptyset
- libc.src.signal.sigfillset
- libc.src.signal.signal
- libc.src.signal.sigprocmask
-
- # spawn.h entrypoints
- libc.src.spawn.posix_spawn
- libc.src.spawn.posix_spawn_file_actions_addclose
- libc.src.spawn.posix_spawn_file_actions_adddup2
- libc.src.spawn.posix_spawn_file_actions_addopen
- libc.src.spawn.posix_spawn_file_actions_destroy
- libc.src.spawn.posix_spawn_file_actions_init
-
- # search.h entrypoints
- libc.src.search.hcreate
- libc.src.search.hcreate_r
- libc.src.search.hdestroy
- libc.src.search.hdestroy_r
- libc.src.search.hsearch
- libc.src.search.hsearch_r
- libc.src.search.insque
- libc.src.search.lfind
- libc.src.search.lsearch
- libc.src.search.remque
-
- # threads.h entrypoints
- libc.src.threads.call_once
- libc.src.threads.cnd_broadcast
- libc.src.threads.cnd_destroy
- libc.src.threads.cnd_init
- libc.src.threads.cnd_signal
- libc.src.threads.cnd_wait
- libc.src.threads.mtx_destroy
- libc.src.threads.mtx_init
- libc.src.threads.mtx_lock
- libc.src.threads.mtx_unlock
- libc.src.threads.thrd_create
- libc.src.threads.thrd_current
- libc.src.threads.thrd_detach
- libc.src.threads.thrd_equal
- libc.src.threads.thrd_exit
- libc.src.threads.thrd_join
- libc.src.threads.tss_create
- libc.src.threads.tss_delete
- libc.src.threads.tss_get
- libc.src.threads.tss_set
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.clock
- libc.src.time.clock_gettime
- libc.src.time.clock_settime
- libc.src.time.difftime
- libc.src.time.gettimeofday
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.mktime
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.time
- libc.src.time.timespec_get
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # unistd.h entrypoints
- libc.src.unistd.__llvm_libc_syscall
- libc.src.unistd._exit
- libc.src.unistd.environ
- libc.src.unistd.execv
- libc.src.unistd.fork
- libc.src.unistd.getopt
- libc.src.unistd.optarg
- libc.src.unistd.opterr
- libc.src.unistd.optind
- libc.src.unistd.optopt
- libc.src.unistd.swab
-
- # sys/select.h entrypoints
- libc.src.sys.select.select
-
- # sys/socket.h entrypoints
- libc.src.sys.socket.bind
- libc.src.sys.socket.socket
- libc.src.sys.socket.socketpair
- libc.src.sys.socket.send
- libc.src.sys.socket.sendto
- libc.src.sys.socket.sendmsg
- libc.src.sys.socket.recv
- libc.src.sys.socket.recvfrom
- libc.src.sys.socket.recvmsg
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # dlfcn.h entrypoints
- libc.src.dlfcn.dlclose
- libc.src.dlfcn.dlerror
- libc.src.dlfcn.dlopen
- libc.src.dlfcn.dlsym
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # fcntl.h entrypoints
- libc.src.fcntl.creat
- libc.src.fcntl.fcntl
- libc.src.fcntl.open
- libc.src.fcntl.openat
-
- # poll.h entrypoints
- libc.src.poll.poll
-
- # sched.h entrypoints
- libc.src.sched.sched_get_priority_max
- libc.src.sched.sched_get_priority_min
- libc.src.sched.sched_getaffinity
- libc.src.sched.sched_getparam
- libc.src.sched.sched_getscheduler
- libc.src.sched.sched_rr_get_interval
- libc.src.sched.sched_setaffinity
- libc.src.sched.sched_setparam
- libc.src.sched.sched_setscheduler
- libc.src.sched.sched_yield
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strsignal
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.a64l
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strfromd
- libc.src.stdlib.strfromf
- libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.realloc
-
- # stdio.h entrypoints
- libc.src.stdio.fprintf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.printf
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.asprintf
- libc.src.stdio.sscanf
- libc.src.stdio.vsscanf
- libc.src.stdio.vfprintf
- libc.src.stdio.vprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vasprintf
-
- # sys/epoll.h entrypoints
- libc.src.sys.epoll.epoll_create
- libc.src.sys.epoll.epoll_create1
- libc.src.sys.epoll.epoll_ctl
- libc.src.sys.epoll.epoll_pwait
- libc.src.sys.epoll.epoll_wait
- # TODO: Need to check if pwait2 is available before providing.
- # https://github.com/llvm/llvm-project/issues/80060
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.madvise
- libc.src.sys.mman.mincore
- libc.src.sys.mman.mlock
- libc.src.sys.mman.mlock2
- libc.src.sys.mman.mlockall
- libc.src.sys.mman.mmap
- libc.src.sys.mman.mremap
- libc.src.sys.mman.mprotect
- libc.src.sys.mman.msync
- libc.src.sys.mman.munlock
- libc.src.sys.mman.munlockall
- libc.src.sys.mman.munmap
- libc.src.sys.mman.remap_file_pages
- libc.src.sys.mman.posix_madvise
- libc.src.sys.mman.shm_open
- libc.src.sys.mman.shm_unlink
-
- # sys/random.h entrypoints
- libc.src.sys.random.getrandom
-
- # sys/resource.h entrypoints
- libc.src.sys.resource.getrlimit
- libc.src.sys.resource.setrlimit
-
- # sys/sendfile entrypoints
- libc.src.sys.sendfile.sendfile
-
- # sys/stat.h entrypoints
- libc.src.sys.stat.chmod
- libc.src.sys.stat.fchmod
- libc.src.sys.stat.fchmodat
- libc.src.sys.stat.fstat
- libc.src.sys.stat.lstat
- libc.src.sys.stat.mkdir
- libc.src.sys.stat.mkdirat
- libc.src.sys.stat.stat
-
- # sys/statvfs.h
- libc.src.sys.statvfs.fstatvfs
- libc.src.sys.statvfs.statvfs
-
- # sys/utimes.h entrypoints
- libc.src.sys.time.utimes
-
- # sys/utsname.h entrypoints
- libc.src.sys.utsname.uname
-
- # sys/wait.h entrypoints
- libc.src.sys.wait.wait
- libc.src.sys.wait.wait4
- libc.src.sys.wait.waitpid
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/auxv.h entrypoints
- libc.src.sys.auxv.getauxval
-
- # termios.h entrypoints
- libc.src.termios.cfgetispeed
- libc.src.termios.cfgetospeed
- libc.src.termios.cfsetispeed
- libc.src.termios.cfsetospeed
- libc.src.termios.tcdrain
- libc.src.termios.tcflow
- libc.src.termios.tcflush
- libc.src.termios.tcgetattr
- libc.src.termios.tcgetsid
- libc.src.termios.tcsendbreak
- libc.src.termios.tcsetattr
-
- # unistd.h entrypoints
- libc.src.unistd.access
- libc.src.unistd.chdir
- libc.src.unistd.close
- libc.src.unistd.dup
- libc.src.unistd.dup2
- libc.src.unistd.dup3
- libc.src.unistd.execve
- libc.src.unistd.faccessat
- libc.src.unistd.fchdir
- libc.src.unistd.fpathconf
- libc.src.unistd.fsync
- libc.src.unistd.ftruncate
- libc.src.unistd.getcwd
- libc.src.unistd.getentropy
- libc.src.unistd.geteuid
- libc.src.unistd.gethostname
- libc.src.unistd.getpagesize
- libc.src.unistd.getpid
- libc.src.unistd.getppid
- libc.src.unistd.getsid
- libc.src.unistd.gettid
- libc.src.unistd.getuid
- libc.src.unistd.isatty
- libc.src.unistd.link
- libc.src.unistd.linkat
- libc.src.unistd.lseek
- libc.src.unistd.pathconf
- libc.src.unistd.pipe
- libc.src.unistd.pipe2
- libc.src.unistd.pread
- libc.src.unistd.pwrite
- libc.src.unistd.read
- libc.src.unistd.readlink
- libc.src.unistd.readlinkat
- libc.src.unistd.rmdir
- libc.src.unistd.setsid
- libc.src.unistd.symlink
- libc.src.unistd.symlinkat
- libc.src.unistd.sysconf
- libc.src.unistd.truncate
- libc.src.unistd.unlink
- libc.src.unistd.unlinkat
- libc.src.unistd.write
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
-
- # sys/uio.h entrypoints
- libc.src.sys.uio.writev
- libc.src.sys.uio.readv
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
-)
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-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
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorl
- libc.src.math.fma
libc.src.math.fmabf16
libc.src.math.fmaf
libc.src.math.fmax
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index 1ae4f0f31cbb0..91da16aadcb04 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -532,6 +532,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.floorf
libc.src.math.floorl
libc.src.math.fma
+ libc.src.math.fmabf16
libc.src.math.fmaf
libc.src.math.fmax
libc.src.math.fmaxf
@@ -1416,1406 +1417,3 @@ set(TARGET_LLVMLIBC_ENTRYPOINTS
${TARGET_LIBM_ENTRYPOINTS}
${TARGET_LIBMVEC_ENTRYPOINTS}
)
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # dlfcn.h entrypoints
- libc.src.dlfcn.dladdr
- libc.src.dlfcn.dlclose
- libc.src.dlfcn.dlerror
- libc.src.dlfcn.dlopen
- libc.src.dlfcn.dlsym
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # fcntl.h entrypoints
- libc.src.fcntl.creat
- libc.src.fcntl.fcntl
- libc.src.fcntl.open
- libc.src.fcntl.openat
-
- # poll.h entrypoints
- libc.src.poll.poll
-
- # sched.h entrypoints
- libc.src.sched.getcpu
- libc.src.sched.sched_get_priority_max
- libc.src.sched.sched_get_priority_min
- libc.src.sched.sched_getaffinity
- libc.src.sched.sched_getparam
- libc.src.sched.sched_getscheduler
- libc.src.sched.sched_rr_get_interval
- libc.src.sched.sched_setaffinity
- libc.src.sched.sched_setparam
- libc.src.sched.sched_setscheduler
- libc.src.sched.sched_yield
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strsignal
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.a64l
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strfromd
- libc.src.stdlib.strfromf
- libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.realloc
-
- # stdio.h entrypoints
- libc.src.stdio.fprintf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.printf
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.asprintf
- libc.src.stdio.sscanf
- libc.src.stdio.vsscanf
- libc.src.stdio.vfprintf
- libc.src.stdio.vprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vasprintf
-
- # sys/epoll.h entrypoints
- libc.src.sys.epoll.epoll_create
- libc.src.sys.epoll.epoll_create1
- libc.src.sys.epoll.epoll_ctl
- libc.src.sys.epoll.epoll_pwait
- libc.src.sys.epoll.epoll_wait
- # TODO: Need to check if pwait2 is available before providing.
- # https://github.com/llvm/llvm-project/issues/80060
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.madvise
- libc.src.sys.mman.mincore
- libc.src.sys.mman.mlock
- libc.src.sys.mman.mlock2
- libc.src.sys.mman.mlockall
- libc.src.sys.mman.mmap
- libc.src.sys.mman.mremap
- libc.src.sys.mman.mprotect
- libc.src.sys.mman.msync
- libc.src.sys.mman.munlock
- libc.src.sys.mman.munlockall
- libc.src.sys.mman.munmap
- libc.src.sys.mman.pkey_alloc
- libc.src.sys.mman.pkey_free
- libc.src.sys.mman.pkey_get
- libc.src.sys.mman.pkey_mprotect
- libc.src.sys.mman.pkey_set
- libc.src.sys.mman.remap_file_pages
- libc.src.sys.mman.posix_madvise
- libc.src.sys.mman.shm_open
- libc.src.sys.mman.shm_unlink
-
- # sys/random.h entrypoints
- libc.src.sys.random.getrandom
-
- # sys/resource.h entrypoints
- libc.src.sys.resource.getrlimit
- libc.src.sys.resource.setrlimit
-
- # sys/sendfile entrypoints
- libc.src.sys.sendfile.sendfile
-
- # sys/stat.h entrypoints
- libc.src.sys.stat.chmod
- libc.src.sys.stat.fchmod
- libc.src.sys.stat.fchmodat
- libc.src.sys.stat.fstat
- libc.src.sys.stat.lstat
- libc.src.sys.stat.mkdir
- libc.src.sys.stat.mkdirat
- libc.src.sys.stat.stat
-
- # sys/statvfs.h
- libc.src.sys.statvfs.fstatvfs
- libc.src.sys.statvfs.statvfs
-
- # sys/utimes.h entrypoints
- libc.src.sys.time.utimes
-
- # sys/utsname.h entrypoints
- libc.src.sys.utsname.uname
-
- # sys/wait.h entrypoints
- libc.src.sys.wait.wait
- libc.src.sys.wait.wait4
- libc.src.sys.wait.waitpid
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/auxv.h entrypoints
- libc.src.sys.auxv.getauxval
-
- # termios.h entrypoints
- libc.src.termios.cfgetispeed
- libc.src.termios.cfgetospeed
- libc.src.termios.cfsetispeed
- libc.src.termios.cfsetospeed
- libc.src.termios.tcdrain
- libc.src.termios.tcflow
- libc.src.termios.tcflush
- libc.src.termios.tcgetattr
- libc.src.termios.tcgetsid
- libc.src.termios.tcsendbreak
- libc.src.termios.tcsetattr
-
- # unistd.h entrypoints
- libc.src.unistd.access
- libc.src.unistd.chdir
- libc.src.unistd.chown
- libc.src.unistd.close
- libc.src.unistd.dup
- libc.src.unistd.dup2
- libc.src.unistd.dup3
- libc.src.unistd.execve
- libc.src.unistd.faccessat
- libc.src.unistd.fchdir
- libc.src.unistd.fchown
- libc.src.unistd.fpathconf
- libc.src.unistd.fsync
- libc.src.unistd.ftruncate
- libc.src.unistd.getcwd
- libc.src.unistd.getentropy
- libc.src.unistd.geteuid
- libc.src.unistd.gethostname
- libc.src.unistd.getpagesize
- libc.src.unistd.getpid
- libc.src.unistd.getppid
- libc.src.unistd.getsid
- libc.src.unistd.gettid
- libc.src.unistd.getgid
- libc.src.unistd.getuid
- libc.src.unistd.isatty
- libc.src.unistd.link
- libc.src.unistd.linkat
- libc.src.unistd.lseek
- libc.src.unistd.pathconf
- libc.src.unistd.pipe
- libc.src.unistd.pipe2
- libc.src.unistd.pread
- libc.src.unistd.pwrite
- libc.src.unistd.read
- libc.src.unistd.readlink
- libc.src.unistd.readlinkat
- libc.src.unistd.rmdir
- libc.src.unistd.setsid
- libc.src.unistd.symlink
- libc.src.unistd.symlinkat
- libc.src.unistd.sysconf
- libc.src.unistd.truncate
- libc.src.unistd.unlink
- libc.src.unistd.unlinkat
- libc.src.unistd.write
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wcsnlen
- libc.src.wchar.wctob
- libc.src.wchar.wmemmove
- libc.src.wchar.wmemset
- libc.src.wchar.wcschr
- libc.src.wchar.wcsncmp
- libc.src.wchar.wcscmp
- libc.src.wchar.wcspbrk
- libc.src.wchar.wcsrchr
- libc.src.wchar.wcsspn
- libc.src.wchar.wcscspn
- libc.src.wchar.wcsdup
- libc.src.wchar.wmemcmp
- libc.src.wchar.wmempcpy
- libc.src.wchar.wmemcpy
- libc.src.wchar.wcsncpy
- libc.src.wchar.wcscat
- libc.src.wchar.wcsstr
- libc.src.wchar.wcsncat
- libc.src.wchar.wcslcat
- libc.src.wchar.wcscpy
- libc.src.wchar.wcslcpy
- libc.src.wchar.wmemchr
- libc.src.wchar.wcpcpy
- libc.src.wchar.wcpncpy
- libc.src.wchar.wcstod
- libc.src.wchar.wcstof
- libc.src.wchar.wcstok
- libc.src.wchar.wcstol
- libc.src.wchar.wcstold
- libc.src.wchar.wcstoll
- libc.src.wchar.wcstoul
- libc.src.wchar.wcstoull
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
-
- # sys/uio.h entrypoints
- libc.src.sys.uio.writev
- libc.src.sys.uio.readv
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
-)
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-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
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-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.asinpif16
- libc.src.math.atanf16
- libc.src.math.atanhf16
- libc.src.math.atanpif16
- 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
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- 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
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log2f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.rsqrtf
- libc.src.math.rsqrtf16
- libc.src.math.scalblnf16
- 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
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.atan2f128
- libc.src.math.canonicalizef128
- libc.src.math.ceilf128
- libc.src.math.copysignf128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.fabsf128
- libc.src.math.faddf128
- libc.src.math.fdimf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.floorf128
- libc.src.math.fmaxf128
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximumf128
- libc.src.math.fminf128
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_numf128
- libc.src.math.fminimumf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.iscanonicalf128
- libc.src.math.issignalingf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.llrintf128
- libc.src.math.llroundf128
- libc.src.math.logbf128
- libc.src.math.lrintf128
- libc.src.math.lroundf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nearbyintf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.rintf128
- libc.src.math.roundevenf128
- libc.src.math.roundf128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.sqrtf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.truncf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- libc.src.stdfix.rdivi
- )
-endif()
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # dirent.h entrypoints
- libc.src.dirent.closedir
- libc.src.dirent.dirfd
- libc.src.dirent.opendir
- libc.src.dirent.readdir
-
- # arpa/inet.h entrypoints
- libc.src.arpa.inet.htonl
- libc.src.arpa.inet.htons
- libc.src.arpa.inet.inet_addr
- libc.src.arpa.inet.inet_aton
- libc.src.arpa.inet.ntohl
- libc.src.arpa.inet.ntohs
-
- # pthread.h entrypoints
- libc.src.pthread.pthread_atfork
- libc.src.pthread.pthread_attr_destroy
- libc.src.pthread.pthread_attr_getdetachstate
- libc.src.pthread.pthread_attr_getguardsize
- libc.src.pthread.pthread_attr_getstack
- libc.src.pthread.pthread_attr_getstacksize
- libc.src.pthread.pthread_attr_init
- libc.src.pthread.pthread_attr_setdetachstate
- libc.src.pthread.pthread_attr_setguardsize
- libc.src.pthread.pthread_attr_setstack
- libc.src.pthread.pthread_attr_setstacksize
- libc.src.pthread.pthread_condattr_destroy
- libc.src.pthread.pthread_condattr_getclock
- libc.src.pthread.pthread_condattr_getpshared
- libc.src.pthread.pthread_condattr_init
- libc.src.pthread.pthread_condattr_setclock
- libc.src.pthread.pthread_condattr_setpshared
- libc.src.pthread.pthread_create
- libc.src.pthread.pthread_detach
- libc.src.pthread.pthread_equal
- libc.src.pthread.pthread_exit
- libc.src.pthread.pthread_getname_np
- libc.src.pthread.pthread_getspecific
- libc.src.pthread.pthread_join
- libc.src.pthread.pthread_key_create
- libc.src.pthread.pthread_key_delete
- libc.src.pthread.pthread_barrier_init
- libc.src.pthread.pthread_barrier_wait
- libc.src.pthread.pthread_barrier_destroy
- libc.src.pthread.pthread_mutex_destroy
- libc.src.pthread.pthread_mutex_init
- libc.src.pthread.pthread_mutex_lock
- libc.src.pthread.pthread_mutex_unlock
- libc.src.pthread.pthread_mutexattr_destroy
- libc.src.pthread.pthread_mutexattr_getpshared
- libc.src.pthread.pthread_mutexattr_getrobust
- libc.src.pthread.pthread_mutexattr_gettype
- libc.src.pthread.pthread_mutexattr_init
- libc.src.pthread.pthread_mutexattr_setpshared
- libc.src.pthread.pthread_mutexattr_setrobust
- libc.src.pthread.pthread_mutexattr_settype
- libc.src.pthread.pthread_once
- libc.src.pthread.pthread_rwlock_clockrdlock
- libc.src.pthread.pthread_rwlock_clockwrlock
- libc.src.pthread.pthread_rwlock_destroy
- libc.src.pthread.pthread_rwlock_init
- libc.src.pthread.pthread_rwlock_rdlock
- libc.src.pthread.pthread_rwlock_timedrdlock
- libc.src.pthread.pthread_rwlock_timedwrlock
- libc.src.pthread.pthread_rwlock_tryrdlock
- libc.src.pthread.pthread_rwlock_trywrlock
- libc.src.pthread.pthread_rwlock_unlock
- libc.src.pthread.pthread_rwlock_wrlock
- libc.src.pthread.pthread_rwlockattr_destroy
- libc.src.pthread.pthread_rwlockattr_getkind_np
- libc.src.pthread.pthread_rwlockattr_getpshared
- libc.src.pthread.pthread_rwlockattr_init
- libc.src.pthread.pthread_rwlockattr_setkind_np
- libc.src.pthread.pthread_rwlockattr_setpshared
- libc.src.pthread.pthread_spin_destroy
- libc.src.pthread.pthread_spin_init
- libc.src.pthread.pthread_spin_lock
- libc.src.pthread.pthread_spin_trylock
- libc.src.pthread.pthread_spin_unlock
- libc.src.pthread.pthread_self
- libc.src.pthread.pthread_setname_np
- libc.src.pthread.pthread_setspecific
-
- # sched.h entrypoints
- libc.src.sched.__sched_getcpucount
- libc.src.sched.__sched_setcpuzero
- libc.src.sched.__sched_setcpuset
- libc.src.sched.__sched_getcpuisset
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.clearerr_unlocked
- libc.src.stdio.fclose
- libc.src.stdio.fdopen
- libc.src.stdio.feof
- libc.src.stdio.feof_unlocked
- libc.src.stdio.ferror
- libc.src.stdio.ferror_unlocked
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgetc_unlocked
- libc.src.stdio.fgets
- libc.src.stdio.fileno
- libc.src.stdio.flockfile
- libc.src.stdio.fopen
- libc.src.stdio.fopencookie
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fread_unlocked
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.funlockfile
- libc.src.stdio.fwrite
- libc.src.stdio.fwrite_unlocked
- libc.src.stdio.getc
- libc.src.stdio.getc_unlocked
- libc.src.stdio.getchar
- libc.src.stdio.getchar_unlocked
- libc.src.stdio.perror
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.setbuf
- libc.src.stdio.setvbuf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.atexit
- libc.src.stdlib.exit
- libc.src.stdlib.getenv
- libc.src.stdlib.mbstowcs
- libc.src.stdlib.mbtowc
- libc.src.stdlib.quick_exit
- libc.src.stdlib.wcstombs
- libc.src.stdlib.wctomb
-
- # signal.h entrypoints
- libc.src.signal.kill
- libc.src.signal.raise
- libc.src.signal.sigaction
- libc.src.signal.sigaddset
- libc.src.signal.sigaltstack
- libc.src.signal.sigdelset
- libc.src.signal.sigemptyset
- libc.src.signal.sigfillset
- libc.src.signal.signal
- libc.src.signal.sigprocmask
-
- # spawn.h entrypoints
- libc.src.spawn.posix_spawn
- libc.src.spawn.posix_spawn_file_actions_addclose
- libc.src.spawn.posix_spawn_file_actions_adddup2
- libc.src.spawn.posix_spawn_file_actions_addopen
- libc.src.spawn.posix_spawn_file_actions_destroy
- libc.src.spawn.posix_spawn_file_actions_init
-
- # search.h entrypoints
- libc.src.search.hcreate
- libc.src.search.hcreate_r
- libc.src.search.hdestroy
- libc.src.search.hdestroy_r
- libc.src.search.hsearch
- libc.src.search.hsearch_r
- libc.src.search.insque
- libc.src.search.lfind
- libc.src.search.lsearch
- libc.src.search.remque
-
- # threads.h entrypoints
- libc.src.threads.call_once
- libc.src.threads.cnd_broadcast
- libc.src.threads.cnd_destroy
- libc.src.threads.cnd_init
- libc.src.threads.cnd_signal
- libc.src.threads.cnd_wait
- libc.src.threads.mtx_destroy
- libc.src.threads.mtx_init
- libc.src.threads.mtx_lock
- libc.src.threads.mtx_unlock
- libc.src.threads.thrd_create
- libc.src.threads.thrd_current
- libc.src.threads.thrd_detach
- libc.src.threads.thrd_equal
- libc.src.threads.thrd_exit
- libc.src.threads.thrd_join
- libc.src.threads.tss_create
- libc.src.threads.tss_delete
- libc.src.threads.tss_get
- libc.src.threads.tss_set
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.clock
- libc.src.time.clock_gettime
- libc.src.time.clock_settime
- libc.src.time.difftime
- libc.src.time.gettimeofday
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.time
- libc.src.time.timespec_get
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # unistd.h entrypoints
- libc.src.unistd.__llvm_libc_syscall
- libc.src.unistd._exit
- libc.src.unistd.environ
- libc.src.unistd.execv
- libc.src.unistd.fork
- libc.src.unistd.getopt
- libc.src.unistd.optarg
- libc.src.unistd.opterr
- libc.src.unistd.optind
- libc.src.unistd.optopt
- libc.src.unistd.swab
-
- # sys/select.h entrypoints
- libc.src.sys.select.select
-
- # sys/socket.h entrypoints
- libc.src.sys.socket.socket
- libc.src.sys.socket.bind
- libc.src.sys.socket.socketpair
- libc.src.sys.socket.send
- libc.src.sys.socket.sendto
- libc.src.sys.socket.sendmsg
- libc.src.sys.socket.recv
- libc.src.sys.socket.recvfrom
- libc.src.sys.socket.recvmsg
-
- # wchar.h entrypoints
- libc.src.wchar.mblen
- libc.src.wchar.mbrlen
- libc.src.wchar.mbsinit
- libc.src.wchar.mbrtowc
- libc.src.wchar.mbsrtowcs
- libc.src.wchar.mbsnrtowcs
- libc.src.wchar.wcrtomb
- libc.src.wchar.wcsrtombs
- libc.src.wchar.wcsnrtombs
-
- # nl_types.h entrypoints
- libc.src.nl_types.catopen
- libc.src.nl_types.catclose
- libc.src.nl_types.catgets
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
diff --git a/libc/config/windows/entrypoints.txt b/libc/config/windows/entrypoints.txt
index 7f5913a1cce3c..ff25130b7e09d 100644
--- a/libc/config/windows/entrypoints.txt
+++ b/libc/config/windows/entrypoints.txt
@@ -183,390 +183,6 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.floorf
libc.src.math.floorl
libc.src.math.fma
- libc.src.math.fmaf
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminl
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxl
- libc.src.math.fmaximum
- libc.src.math.fmaximumf
- libc.src.math.fmaximuml
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fminimum
- libc.src.math.fminimumf
- libc.src.math.fminimuml
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numl
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fmul
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundl
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.log
- libc.src.math.logf
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainderf
- libc.src.math.remainder
- libc.src.math.remainderl
- libc.src.math.remquof
- libc.src.math.remquo
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundf
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.sin
- libc.src.math.sincosf
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
-
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.free
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # time.h entrypoints
- libc.src.time.time
- libc.src.time.clock_getres
-
- # unistd.h entrypoints
- libc.src.unistd.getentropy
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignl
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceill
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.expf
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorl
- libc.src.math.fma
libc.src.math.fmabf16
libc.src.math.fmaf
libc.src.math.fmin
diff --git a/libc/docs/headers/math/index.rst b/libc/docs/headers/math/index.rst
index e8b3fe63b2a6c..4fe7bb4f81978 100644
--- a/libc/docs/headers/math/index.rst
+++ b/libc/docs/headers/math/index.rst
@@ -309,7 +309,7 @@ Higher Math Functions
+-----------+------------------+-----------------+------------------------+----------------------+------------------------+------------------------+------------------------+----------------------------+
| expm1 | |check| | |check| | | |check| | | | 7.12.6.6 | F.10.3.6 |
+-----------+------------------+-----------------+------------------------+----------------------+------------------------+------------------------+------------------------+----------------------------+
-| fma | |check| | |check| | | |check| | | | 7.12.13.1 | F.10.10.1 |
+| fma | |check| | |check| | | |check| | | |check| | 7.12.13.1 | F.10.10.1 |
+-----------+------------------+-----------------+------------------------+----------------------+------------------------+------------------------+------------------------+----------------------------+
| f16sqrt | |check|\* | |check|\* | |check|\* | N/A | |check| | | 7.12.14.6 | F.10.11 |
+-----------+------------------+-----------------+------------------------+----------------------+------------------------+------------------------+------------------------+----------------------------+
diff --git a/libc/src/__support/FPUtil/generic/FMA.h b/libc/src/__support/FPUtil/generic/FMA.h
index bec312e44b1b1..9ca6d5f594c94 100644
--- a/libc/src/__support/FPUtil/generic/FMA.h
+++ b/libc/src/__support/FPUtil/generic/FMA.h
@@ -198,8 +198,13 @@ fma(InType x, InType y, InType z) {
if (LIBC_UNLIKELY(x_exp == InFPBits::MAX_BIASED_EXPONENT ||
y_exp == InFPBits::MAX_BIASED_EXPONENT ||
- z_exp == InFPBits::MAX_BIASED_EXPONENT))
+ z_exp == InFPBits::MAX_BIASED_EXPONENT)) {
+ if (LIBC_UNLIKELY(x_exp != InFPBits::MAX_BIASED_EXPONENT &&
+ y_exp != InFPBits::MAX_BIASED_EXPONENT &&
+ z_bits.is_inf()))
+ return cast<OutType>(z);
return cast<OutType>(x * y + z);
+ }
// Extract mantissa and append hidden leading bits.
InStorageType x_mant = x_bits.get_explicit_mantissa();
diff --git a/libc/src/math/CMakeLists.txt b/libc/src/math/CMakeLists.txt
index 21620d9cf89da..1285890ef2f74 100644
--- a/libc/src/math/CMakeLists.txt
+++ b/libc/src/math/CMakeLists.txt
@@ -228,6 +228,7 @@ add_math_entrypoint_object(floorf128)
add_math_entrypoint_object(floorbf16)
add_math_entrypoint_object(fma)
+add_math_entrypoint_object(fmabf16)
add_math_entrypoint_object(fmaf)
add_math_entrypoint_object(fmaf16)
@@ -645,649 +646,3 @@ add_math_entrypoint_object(bf16sub)
add_math_entrypoint_object(bf16subf)
add_math_entrypoint_object(bf16subl)
add_math_entrypoint_object(bf16subf128)
-add_subdirectory(generic)
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_ARCHITECTURE})
- add_subdirectory(${LIBC_TARGET_ARCHITECTURE})
-endif()
-
-function(add_math_entrypoint_object name)
- # We prefer machine specific implementation if available. Hence we check
- # that first and return early if we are able to add an alias target for the
- # machine specific implementation.
- get_fq_target_name("${LIBC_TARGET_ARCHITECTURE}.${name}" fq_machine_specific_target_name)
- if(TARGET ${fq_machine_specific_target_name})
- add_entrypoint_object(
- ${name}
- ALIAS
- DEPENDS
- .${LIBC_TARGET_ARCHITECTURE}.${name}
- )
- return()
- endif()
-
- get_fq_target_name("generic.${name}" fq_generic_target_name)
- if(TARGET ${fq_generic_target_name})
- add_entrypoint_object(
- ${name}
- ALIAS
- DEPENDS
- .generic.${name}
- )
- return()
- endif()
-
- # Add a dummy entrypoint object for missing implementations. They will be skipped
- # anyway as there will be no entry for them in the target entrypoints list.
- add_entrypoint_object(
- ${name}
- SRCS
- dummy_srcs
- HDRS
- dummy_hdrs
- )
-endfunction()
-
-add_math_entrypoint_object(acos)
-add_math_entrypoint_object(acosf)
-add_math_entrypoint_object(acosf16)
-
-add_math_entrypoint_object(acosh)
-add_math_entrypoint_object(acoshf)
-add_math_entrypoint_object(acoshf16)
-
-add_math_entrypoint_object(acospif16)
-
-add_math_entrypoint_object(asin)
-add_math_entrypoint_object(asinf)
-add_math_entrypoint_object(asinf16)
-
-add_math_entrypoint_object(asinh)
-add_math_entrypoint_object(asinhf)
-add_math_entrypoint_object(asinhf16)
-
-add_math_entrypoint_object(asinpif16)
-
-add_math_entrypoint_object(atan)
-add_math_entrypoint_object(atanf)
-add_math_entrypoint_object(atanf16)
-
-add_math_entrypoint_object(atan2)
-add_math_entrypoint_object(atan2f)
-add_math_entrypoint_object(atan2l)
-add_math_entrypoint_object(atan2f128)
-
-add_math_entrypoint_object(atanh)
-add_math_entrypoint_object(atanhf)
-add_math_entrypoint_object(atanhf16)
-
-add_math_entrypoint_object(atanpif16)
-
-add_math_entrypoint_object(canonicalize)
-add_math_entrypoint_object(canonicalizef)
-add_math_entrypoint_object(canonicalizel)
-add_math_entrypoint_object(canonicalizef16)
-add_math_entrypoint_object(canonicalizef128)
-add_math_entrypoint_object(canonicalizebf16)
-
-add_math_entrypoint_object(iscanonical)
-add_math_entrypoint_object(iscanonicalf)
-add_math_entrypoint_object(iscanonicall)
-add_math_entrypoint_object(iscanonicalf16)
-add_math_entrypoint_object(iscanonicalf128)
-add_math_entrypoint_object(iscanonicalbf16)
-
-add_math_entrypoint_object(cbrt)
-add_math_entrypoint_object(cbrtf)
-
-add_math_entrypoint_object(ceil)
-add_math_entrypoint_object(ceilf)
-add_math_entrypoint_object(ceill)
-add_math_entrypoint_object(ceilf16)
-add_math_entrypoint_object(ceilf128)
-add_math_entrypoint_object(ceilbf16)
-
-add_math_entrypoint_object(copysign)
-add_math_entrypoint_object(copysignf)
-add_math_entrypoint_object(copysignl)
-add_math_entrypoint_object(copysignf16)
-add_math_entrypoint_object(copysignf128)
-add_math_entrypoint_object(copysignbf16)
-
-add_math_entrypoint_object(cos)
-add_math_entrypoint_object(cosf)
-add_math_entrypoint_object(cosf16)
-
-add_math_entrypoint_object(cosh)
-add_math_entrypoint_object(coshf)
-add_math_entrypoint_object(coshf16)
-
-add_math_entrypoint_object(cospif)
-add_math_entrypoint_object(cospif16)
-
-add_math_entrypoint_object(daddl)
-add_math_entrypoint_object(daddf128)
-add_math_entrypoint_object(ddivl)
-add_math_entrypoint_object(ddivf128)
-add_math_entrypoint_object(dmull)
-add_math_entrypoint_object(dmulf128)
-
-add_math_entrypoint_object(dfmal)
-add_math_entrypoint_object(dfmaf128)
-
-add_math_entrypoint_object(dsqrtl)
-add_math_entrypoint_object(dsqrtf128)
-
-add_math_entrypoint_object(dsubl)
-add_math_entrypoint_object(dsubf128)
-
-add_math_entrypoint_object(erf)
-add_math_entrypoint_object(erff)
-
-add_math_entrypoint_object(exp)
-add_math_entrypoint_object(expf)
-add_math_entrypoint_object(expf16)
-
-add_math_entrypoint_object(exp2)
-add_math_entrypoint_object(exp2f)
-add_math_entrypoint_object(exp2f16)
-
-add_math_entrypoint_object(exp2m1f)
-add_math_entrypoint_object(exp2m1f16)
-
-add_math_entrypoint_object(exp10)
-add_math_entrypoint_object(exp10f)
-add_math_entrypoint_object(exp10f16)
-
-add_math_entrypoint_object(exp10m1f)
-add_math_entrypoint_object(exp10m1f16)
-
-add_math_entrypoint_object(expm1)
-add_math_entrypoint_object(expm1f)
-add_math_entrypoint_object(expm1f16)
-
-add_math_entrypoint_object(f16add)
-add_math_entrypoint_object(f16addf)
-add_math_entrypoint_object(f16addl)
-add_math_entrypoint_object(f16addf128)
-
-add_math_entrypoint_object(f16div)
-add_math_entrypoint_object(f16divf)
-add_math_entrypoint_object(f16divl)
-add_math_entrypoint_object(f16divf128)
-
-add_math_entrypoint_object(f16fma)
-add_math_entrypoint_object(f16fmaf)
-add_math_entrypoint_object(f16fmal)
-add_math_entrypoint_object(f16fmaf128)
-
-add_math_entrypoint_object(f16mul)
-add_math_entrypoint_object(f16mulf)
-add_math_entrypoint_object(f16mull)
-add_math_entrypoint_object(f16mulf128)
-
-add_math_entrypoint_object(f16sqrt)
-add_math_entrypoint_object(f16sqrtf)
-add_math_entrypoint_object(f16sqrtl)
-add_math_entrypoint_object(f16sqrtf128)
-
-add_math_entrypoint_object(fsqrt)
-add_math_entrypoint_object(fsqrtl)
-add_math_entrypoint_object(fsqrtf128)
-
-add_math_entrypoint_object(f16sub)
-add_math_entrypoint_object(f16subf)
-add_math_entrypoint_object(f16subl)
-add_math_entrypoint_object(f16subf128)
-
-add_math_entrypoint_object(fabs)
-add_math_entrypoint_object(fabsf)
-add_math_entrypoint_object(fabsl)
-add_math_entrypoint_object(fabsf16)
-add_math_entrypoint_object(fabsf128)
-add_math_entrypoint_object(fabsbf16)
-
-add_math_entrypoint_object(fadd)
-add_math_entrypoint_object(faddl)
-add_math_entrypoint_object(faddf128)
-
-add_math_entrypoint_object(fdim)
-add_math_entrypoint_object(fdimf)
-add_math_entrypoint_object(fdiml)
-add_math_entrypoint_object(fdimf16)
-add_math_entrypoint_object(fdimf128)
-add_math_entrypoint_object(fdimbf16)
-
-add_math_entrypoint_object(fdiv)
-add_math_entrypoint_object(fdivl)
-add_math_entrypoint_object(fdivf128)
-
-add_math_entrypoint_object(ffma)
-add_math_entrypoint_object(ffmal)
-add_math_entrypoint_object(ffmaf128)
-
-add_math_entrypoint_object(floor)
-add_math_entrypoint_object(floorf)
-add_math_entrypoint_object(floorl)
-add_math_entrypoint_object(floorf16)
-add_math_entrypoint_object(floorf128)
-add_math_entrypoint_object(floorbf16)
-
-add_math_entrypoint_object(fma)
-add_math_entrypoint_object(fmaf)
-add_math_entrypoint_object(fmaf16)
-add_math_entrypoint_object(fmabf16)
-
-add_math_entrypoint_object(fmax)
-add_math_entrypoint_object(fmaxf)
-add_math_entrypoint_object(fmaxl)
-add_math_entrypoint_object(fmaxf128)
-add_math_entrypoint_object(fmaxf16)
-add_math_entrypoint_object(fmaxbf16)
-
-add_math_entrypoint_object(fmin)
-add_math_entrypoint_object(fminf)
-add_math_entrypoint_object(fminl)
-add_math_entrypoint_object(fminf128)
-add_math_entrypoint_object(fminf16)
-add_math_entrypoint_object(fminbf16)
-
-add_math_entrypoint_object(fmaximum)
-add_math_entrypoint_object(fmaximumf)
-add_math_entrypoint_object(fmaximuml)
-add_math_entrypoint_object(fmaximumf16)
-add_math_entrypoint_object(fmaximumf128)
-add_math_entrypoint_object(fmaximumbf16)
-
-add_math_entrypoint_object(fmaximum_num)
-add_math_entrypoint_object(fmaximum_numf)
-add_math_entrypoint_object(fmaximum_numl)
-add_math_entrypoint_object(fmaximum_numf16)
-add_math_entrypoint_object(fmaximum_numf128)
-add_math_entrypoint_object(fmaximum_numbf16)
-
-add_math_entrypoint_object(fmaximum_mag)
-add_math_entrypoint_object(fmaximum_magf)
-add_math_entrypoint_object(fmaximum_magl)
-add_math_entrypoint_object(fmaximum_magf16)
-add_math_entrypoint_object(fmaximum_magf128)
-add_math_entrypoint_object(fmaximum_magbf16)
-
-add_math_entrypoint_object(fmaximum_mag_num)
-add_math_entrypoint_object(fmaximum_mag_numf)
-add_math_entrypoint_object(fmaximum_mag_numl)
-add_math_entrypoint_object(fmaximum_mag_numf16)
-add_math_entrypoint_object(fmaximum_mag_numf128)
-add_math_entrypoint_object(fmaximum_mag_numbf16)
-
-add_math_entrypoint_object(fminimum)
-add_math_entrypoint_object(fminimumf)
-add_math_entrypoint_object(fminimuml)
-add_math_entrypoint_object(fminimumf16)
-add_math_entrypoint_object(fminimumf128)
-add_math_entrypoint_object(fminimumbf16)
-
-add_math_entrypoint_object(fminimum_num)
-add_math_entrypoint_object(fminimum_numf)
-add_math_entrypoint_object(fminimum_numl)
-add_math_entrypoint_object(fminimum_numf16)
-add_math_entrypoint_object(fminimum_numf128)
-add_math_entrypoint_object(fminimum_numbf16)
-
-add_math_entrypoint_object(fminimum_mag)
-add_math_entrypoint_object(fminimum_magf)
-add_math_entrypoint_object(fminimum_magl)
-add_math_entrypoint_object(fminimum_magf16)
-add_math_entrypoint_object(fminimum_magf128)
-add_math_entrypoint_object(fminimum_magbf16)
-
-add_math_entrypoint_object(fminimum_mag_num)
-add_math_entrypoint_object(fminimum_mag_numf)
-add_math_entrypoint_object(fminimum_mag_numl)
-add_math_entrypoint_object(fminimum_mag_numf16)
-add_math_entrypoint_object(fminimum_mag_numf128)
-add_math_entrypoint_object(fminimum_mag_numbf16)
-
-add_math_entrypoint_object(fmul)
-add_math_entrypoint_object(fmull)
-add_math_entrypoint_object(fmulf128)
-
-add_math_entrypoint_object(fmod)
-add_math_entrypoint_object(fmodf)
-add_math_entrypoint_object(fmodl)
-add_math_entrypoint_object(fmodf16)
-add_math_entrypoint_object(fmodf128)
-add_math_entrypoint_object(fmodbf16)
-
-add_math_entrypoint_object(frexp)
-add_math_entrypoint_object(frexpf)
-add_math_entrypoint_object(frexpl)
-add_math_entrypoint_object(frexpf16)
-add_math_entrypoint_object(frexpf128)
-add_math_entrypoint_object(frexpbf16)
-
-add_math_entrypoint_object(fromfp)
-add_math_entrypoint_object(fromfpf)
-add_math_entrypoint_object(fromfpl)
-add_math_entrypoint_object(fromfpf16)
-add_math_entrypoint_object(fromfpf128)
-add_math_entrypoint_object(fromfpbf16)
-
-add_math_entrypoint_object(fromfpx)
-add_math_entrypoint_object(fromfpxf)
-add_math_entrypoint_object(fromfpxl)
-add_math_entrypoint_object(fromfpxf16)
-add_math_entrypoint_object(fromfpxf128)
-add_math_entrypoint_object(fromfpxbf16)
-
-add_math_entrypoint_object(fsub)
-add_math_entrypoint_object(fsubl)
-add_math_entrypoint_object(fsubf128)
-
-add_math_entrypoint_object(getpayload)
-add_math_entrypoint_object(getpayloadf)
-add_math_entrypoint_object(getpayloadl)
-add_math_entrypoint_object(getpayloadf16)
-add_math_entrypoint_object(getpayloadf128)
-add_math_entrypoint_object(getpayloadbf16)
-
-add_math_entrypoint_object(hypot)
-add_math_entrypoint_object(hypotf)
-add_math_entrypoint_object(hypotf16)
-
-add_math_entrypoint_object(ilogb)
-add_math_entrypoint_object(ilogbf)
-add_math_entrypoint_object(ilogbl)
-add_math_entrypoint_object(ilogbf16)
-add_math_entrypoint_object(ilogbf128)
-add_math_entrypoint_object(ilogbbf16)
-
-add_math_entrypoint_object(isnan)
-add_math_entrypoint_object(isnanf)
-add_math_entrypoint_object(isnanl)
-
-add_math_entrypoint_object(issignaling)
-add_math_entrypoint_object(issignalingf)
-add_math_entrypoint_object(issignalingl)
-add_math_entrypoint_object(issignalingf16)
-add_math_entrypoint_object(issignalingf128)
-add_math_entrypoint_object(issignalingbf16)
-
-add_math_entrypoint_object(llogb)
-add_math_entrypoint_object(llogbf)
-add_math_entrypoint_object(llogbl)
-add_math_entrypoint_object(llogbf16)
-add_math_entrypoint_object(llogbf128)
-add_math_entrypoint_object(llogbbf16)
-
-add_math_entrypoint_object(ldexp)
-add_math_entrypoint_object(ldexpf)
-add_math_entrypoint_object(ldexpl)
-add_math_entrypoint_object(ldexpf16)
-add_math_entrypoint_object(ldexpf128)
-add_math_entrypoint_object(ldexpbf16)
-
-add_math_entrypoint_object(log10)
-add_math_entrypoint_object(log10f)
-add_math_entrypoint_object(log10f16)
-
-add_math_entrypoint_object(log1p)
-add_math_entrypoint_object(log1pf)
-
-add_math_entrypoint_object(log2)
-add_math_entrypoint_object(log2f)
-add_math_entrypoint_object(log2f16)
-
-add_math_entrypoint_object(log)
-add_math_entrypoint_object(logf)
-add_math_entrypoint_object(logf16)
-add_math_entrypoint_object(log_bf16)
-
-add_math_entrypoint_object(logb)
-add_math_entrypoint_object(logbf)
-add_math_entrypoint_object(logbl)
-add_math_entrypoint_object(logbf16)
-add_math_entrypoint_object(logbf128)
-add_math_entrypoint_object(logbbf16)
-
-add_math_entrypoint_object(llrint)
-add_math_entrypoint_object(llrintf)
-add_math_entrypoint_object(llrintl)
-add_math_entrypoint_object(llrintf16)
-add_math_entrypoint_object(llrintf128)
-add_math_entrypoint_object(llrintbf16)
-
-add_math_entrypoint_object(llround)
-add_math_entrypoint_object(llroundf)
-add_math_entrypoint_object(llroundl)
-add_math_entrypoint_object(llroundf16)
-add_math_entrypoint_object(llroundf128)
-add_math_entrypoint_object(llroundbf16)
-
-add_math_entrypoint_object(lrint)
-add_math_entrypoint_object(lrintf)
-add_math_entrypoint_object(lrintl)
-add_math_entrypoint_object(lrintf16)
-add_math_entrypoint_object(lrintf128)
-add_math_entrypoint_object(lrintbf16)
-
-add_math_entrypoint_object(lround)
-add_math_entrypoint_object(lroundf)
-add_math_entrypoint_object(lroundl)
-add_math_entrypoint_object(lroundf16)
-add_math_entrypoint_object(lroundf128)
-add_math_entrypoint_object(lroundbf16)
-
-add_math_entrypoint_object(modf)
-add_math_entrypoint_object(modff)
-add_math_entrypoint_object(modfl)
-add_math_entrypoint_object(modff16)
-add_math_entrypoint_object(modff128)
-add_math_entrypoint_object(modfbf16)
-
-add_math_entrypoint_object(nan)
-add_math_entrypoint_object(nanf)
-add_math_entrypoint_object(nanl)
-add_math_entrypoint_object(nanf16)
-add_math_entrypoint_object(nanf128)
-add_math_entrypoint_object(nanbf16)
-
-add_math_entrypoint_object(nearbyint)
-add_math_entrypoint_object(nearbyintf)
-add_math_entrypoint_object(nearbyintl)
-add_math_entrypoint_object(nearbyintf16)
-add_math_entrypoint_object(nearbyintf128)
-add_math_entrypoint_object(nearbyintbf16)
-
-add_math_entrypoint_object(nextafter)
-add_math_entrypoint_object(nextafterf)
-add_math_entrypoint_object(nextafterl)
-add_math_entrypoint_object(nextafterf16)
-add_math_entrypoint_object(nextafterf128)
-add_math_entrypoint_object(nextafterbf16)
-
-add_math_entrypoint_object(nexttoward)
-add_math_entrypoint_object(nexttowardf)
-add_math_entrypoint_object(nexttowardl)
-add_math_entrypoint_object(nexttowardf16)
-add_math_entrypoint_object(nexttowardbf16)
-
-add_math_entrypoint_object(nextdown)
-add_math_entrypoint_object(nextdownf)
-add_math_entrypoint_object(nextdownl)
-add_math_entrypoint_object(nextdownf16)
-add_math_entrypoint_object(nextdownf128)
-add_math_entrypoint_object(nextdownbf16)
-
-add_math_entrypoint_object(nextup)
-add_math_entrypoint_object(nextupf)
-add_math_entrypoint_object(nextupl)
-add_math_entrypoint_object(nextupf16)
-add_math_entrypoint_object(nextupf128)
-add_math_entrypoint_object(nextupbf16)
-
-add_math_entrypoint_object(pow)
-add_math_entrypoint_object(powf)
-add_math_entrypoint_object(powi)
-add_math_entrypoint_object(powif)
-
-add_math_entrypoint_object(remainder)
-add_math_entrypoint_object(remainderf)
-add_math_entrypoint_object(remainderl)
-add_math_entrypoint_object(remainderf16)
-add_math_entrypoint_object(remainderf128)
-add_math_entrypoint_object(remainderbf16)
-
-add_math_entrypoint_object(remquo)
-add_math_entrypoint_object(remquof)
-add_math_entrypoint_object(remquol)
-add_math_entrypoint_object(remquof16)
-add_math_entrypoint_object(remquof128)
-add_math_entrypoint_object(remquobf16)
-
-add_math_entrypoint_object(rint)
-add_math_entrypoint_object(rintf)
-add_math_entrypoint_object(rintl)
-add_math_entrypoint_object(rintf16)
-add_math_entrypoint_object(rintf128)
-add_math_entrypoint_object(rintbf16)
-
-add_math_entrypoint_object(round)
-add_math_entrypoint_object(roundf)
-add_math_entrypoint_object(roundl)
-add_math_entrypoint_object(roundf16)
-add_math_entrypoint_object(roundf128)
-add_math_entrypoint_object(roundbf16)
-
-add_math_entrypoint_object(roundeven)
-add_math_entrypoint_object(roundevenf)
-add_math_entrypoint_object(roundevenl)
-add_math_entrypoint_object(roundevenf16)
-add_math_entrypoint_object(roundevenf128)
-add_math_entrypoint_object(roundevenbf16)
-
-add_math_entrypoint_object(rsqrtf)
-add_math_entrypoint_object(rsqrtf16)
-
-add_math_entrypoint_object(scalbln)
-add_math_entrypoint_object(scalblnf)
-add_math_entrypoint_object(scalblnl)
-add_math_entrypoint_object(scalblnf16)
-add_math_entrypoint_object(scalblnf128)
-add_math_entrypoint_object(scalblnbf16)
-
-add_math_entrypoint_object(scalbn)
-add_math_entrypoint_object(scalbnf)
-add_math_entrypoint_object(scalbnl)
-add_math_entrypoint_object(scalbnf16)
-add_math_entrypoint_object(scalbnf128)
-add_math_entrypoint_object(scalbnbf16)
-
-add_math_entrypoint_object(setpayload)
-add_math_entrypoint_object(setpayloadf)
-add_math_entrypoint_object(setpayloadl)
-add_math_entrypoint_object(setpayloadf16)
-add_math_entrypoint_object(setpayloadf128)
-add_math_entrypoint_object(setpayloadbf16)
-
-add_math_entrypoint_object(setpayloadsig)
-add_math_entrypoint_object(setpayloadsigf)
-add_math_entrypoint_object(setpayloadsigl)
-add_math_entrypoint_object(setpayloadsigf16)
-add_math_entrypoint_object(setpayloadsigf128)
-add_math_entrypoint_object(setpayloadsigbf16)
-
-add_math_entrypoint_object(sincos)
-add_math_entrypoint_object(sincosf)
-
-add_math_entrypoint_object(sin)
-add_math_entrypoint_object(sinf)
-add_math_entrypoint_object(sinf16)
-add_math_entrypoint_object(sinpif)
-add_math_entrypoint_object(sinpif16)
-
-add_math_entrypoint_object(sinh)
-add_math_entrypoint_object(sinhf)
-add_math_entrypoint_object(sinhf16)
-
-add_math_entrypoint_object(sqrt)
-add_math_entrypoint_object(sqrtf)
-add_math_entrypoint_object(sqrtl)
-add_math_entrypoint_object(sqrtf16)
-add_math_entrypoint_object(sqrtf128)
-add_math_entrypoint_object(sqrtbf16)
-
-add_math_entrypoint_object(tan)
-add_math_entrypoint_object(tanf)
-add_math_entrypoint_object(tanf16)
-
-add_math_entrypoint_object(tanh)
-add_math_entrypoint_object(tanhf)
-add_math_entrypoint_object(tanhf16)
-
-add_math_entrypoint_object(tanpif)
-add_math_entrypoint_object(tanpif16)
-
-add_math_entrypoint_object(tgamma)
-add_math_entrypoint_object(tgammaf)
-add_math_entrypoint_object(lgamma)
-add_math_entrypoint_object(lgamma_r)
-
-add_math_entrypoint_object(totalorder)
-add_math_entrypoint_object(totalorderf)
-add_math_entrypoint_object(totalorderl)
-add_math_entrypoint_object(totalorderf16)
-add_math_entrypoint_object(totalorderf128)
-add_math_entrypoint_object(totalorderbf16)
-
-add_math_entrypoint_object(totalordermag)
-add_math_entrypoint_object(totalordermagf)
-add_math_entrypoint_object(totalordermagl)
-add_math_entrypoint_object(totalordermagf16)
-add_math_entrypoint_object(totalordermagf128)
-add_math_entrypoint_object(totalordermagbf16)
-
-add_math_entrypoint_object(trunc)
-add_math_entrypoint_object(truncf)
-add_math_entrypoint_object(truncl)
-add_math_entrypoint_object(truncf16)
-add_math_entrypoint_object(truncf128)
-add_math_entrypoint_object(truncbf16)
-
-add_math_entrypoint_object(ufromfp)
-add_math_entrypoint_object(ufromfpf)
-add_math_entrypoint_object(ufromfpl)
-add_math_entrypoint_object(ufromfpf16)
-add_math_entrypoint_object(ufromfpf128)
-add_math_entrypoint_object(ufromfpbf16)
-
-add_math_entrypoint_object(ufromfpx)
-add_math_entrypoint_object(ufromfpxf)
-add_math_entrypoint_object(ufromfpxl)
-add_math_entrypoint_object(ufromfpxf16)
-add_math_entrypoint_object(ufromfpxf128)
-add_math_entrypoint_object(ufromfpxbf16)
-
-add_math_entrypoint_object(bf16add)
-add_math_entrypoint_object(bf16addf)
-add_math_entrypoint_object(bf16addl)
-add_math_entrypoint_object(bf16addf128)
-
-add_math_entrypoint_object(bf16div)
-add_math_entrypoint_object(bf16divf)
-add_math_entrypoint_object(bf16divl)
-add_math_entrypoint_object(bf16divf128)
-
-add_math_entrypoint_object(bf16fma)
-add_math_entrypoint_object(bf16fmaf)
-add_math_entrypoint_object(bf16fmal)
-add_math_entrypoint_object(bf16fmaf128)
-
-add_math_entrypoint_object(bf16mul)
-add_math_entrypoint_object(bf16mulf)
-add_math_entrypoint_object(bf16mull)
-add_math_entrypoint_object(bf16mulf128)
-
-add_math_entrypoint_object(bf16sub)
-add_math_entrypoint_object(bf16subf)
-add_math_entrypoint_object(bf16subl)
-add_math_entrypoint_object(bf16subf128)
diff --git a/libc/src/math/ffmal.h b/libc/src/math/ffmal.h
index 1cbb61dcd2134..75fd40a0a92a2 100644
--- a/libc/src/math/ffmal.h
+++ b/libc/src/math/ffmal.h
@@ -1,20 +1,20 @@
-//===-- Implementation header for ffmal -------------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_SRC_MATH_FFMAL_H
-#define LLVM_LIBC_SRC_MATH_FFMAL_H
-
-#include "src/__support/macros/config.h"
-
-namespace LIBC_NAMESPACE_DECL {
-
-float ffmal(long double x, long double y, long double z);
-
-} // namespace LIBC_NAMESPACE_DECL
-
-#endif // LLVM_LIBC_SRC_MATH_FFMAL_H
+//===-- Implementation header for ffmal -------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC_MATH_FFMAL_H
+#define LLVM_LIBC_SRC_MATH_FFMAL_H
+
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+float ffmal(long double x, long double y, long double z);
+
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC_MATH_FFMAL_H
diff --git a/libc/src/math/generic/CMakeLists.txt b/libc/src/math/generic/CMakeLists.txt
index 9f31dc934da46..77200921d982d 100644
--- a/libc/src/math/generic/CMakeLists.txt
+++ b/libc/src/math/generic/CMakeLists.txt
@@ -4362,27 +4362,27 @@ add_entrypoint_object(
)
add_entrypoint_object(
- fmabf16
+ fma
SRCS
- fmabf16.cpp
+ fma.cpp
HDRS
- ../fmabf16.h
+ ../fma.h
DEPENDS
- libc.src.__support.common
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.FMA
- libc.src.__support.macros.config
- libc.src.__support.macros.properties.types
+ libc.src.__support.FPUtil.fma
)
add_entrypoint_object(
- fma
+ fmabf16
SRCS
- fma.cpp
+ fmabf16.cpp
HDRS
- ../fma.h
+ ../fmabf16.h
DEPENDS
+ libc.src.__support.common
+ libc.src.__support.FPUtil.bfloat16
libc.src.__support.FPUtil.fma
+ libc.src.__support.macros.config
+ libc.src.__support.macros.properties.types
)
add_entrypoint_object(
diff --git a/libc/src/math/generic/fmabf16.cpp b/libc/src/math/generic/fmabf16.cpp
index 233dbc9089f9c..ab221dd19ac8d 100644
--- a/libc/src/math/generic/fmabf16.cpp
+++ b/libc/src/math/generic/fmabf16.cpp
@@ -7,9 +7,9 @@
//===----------------------------------------------------------------------===//
#include "src/math/fmabf16.h"
-#include "src/__support/common.h"
#include "src/__support/FPUtil/FMA.h"
#include "src/__support/FPUtil/bfloat16.h"
+#include "src/__support/common.h"
#include "src/__support/macros/config.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/src/math/CMakeLists.txt b/libc/test/src/math/CMakeLists.txt
index 82fdc874b36f5..e8e80487de9f2 100644
--- a/libc/test/src/math/CMakeLists.txt
+++ b/libc/test/src/math/CMakeLists.txt
@@ -2012,6 +2012,20 @@ add_fp_unittest(
libc.src.stdlib.srand
)
+add_fp_unittest(
+ fma_test
+ NEED_MPFR
+ SUITE
+ libc-math-unittests
+ SRCS
+ fma_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.math.fmabf16
+)
+
add_fp_unittest(
tan_test
NEED_MPFR
@@ -3501,3485 +3515,3 @@ if(NOT LLVM_LIBC_FULL_BUILD)
add_subdirectory(exhaustive)
add_subdirectory(performance_testing)
endif()
-add_custom_target(libc-math-unittests)
-
-add_fp_unittest(
- cosf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- cosf_test.cpp
- HDRS
- sdcomp26094.h
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.cosf
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- cosf_float_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- cosf_float_test.cpp
- DEPENDS
- libc.src.__support.math.sincosf_utils
- libc.src.__support.FPUtil.fp_bits
- FLAGS
- FMA_OPT__ONLY
-)
-
-add_fp_unittest(
- cos_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- cos_test.cpp
- DEPENDS
- libc.src.math.cos
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- cosf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- cosf16_test.cpp
- DEPENDS
- libc.src.math.cosf16
-)
-
-add_fp_unittest(
- cospif_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- cospif_test.cpp
- HDRS
- sdcomp26094.h
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.cospif
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-
-add_fp_unittest(
- cospif16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- cospif16_test.cpp
- DEPENDS
- libc.src.math.cospif16
-)
-
-add_fp_unittest(
- daddl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- daddl_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.math.daddl
-)
-
-add_fp_unittest(
- sinf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sinf_test.cpp
- HDRS
- sdcomp26094.h
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.sinf
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- sinf_float_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sinf_float_test.cpp
- DEPENDS
- libc.src.__support.math.sincosf_utils
- libc.src.__support.FPUtil.fp_bits
- FLAGS
- FMA_OPT__ONLY
-)
-
-add_fp_unittest(
- sinf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sinf16_test.cpp
- DEPENDS
- libc.src.math.sinf16
-)
-
-add_fp_unittest(
- sinpif_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sinpif_test.cpp
- HDRS
- sdcomp26094.h
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.sinpif
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- sinpif16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sinpif16_test.cpp
- DEPENDS
- libc.src.math.sinpif16
-)
-
-add_fp_unittest(
- sin_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sin_test.cpp
- DEPENDS
- libc.src.math.sin
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- sincosf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sincosf_test.cpp
- HDRS
- sdcomp26094.h
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.sincosf
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- sincos_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sincos_test.cpp
- DEPENDS
- libc.src.math.sincos
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- tanf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- tanf_test.cpp
- HDRS
- sdcomp26094.h
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.tanf
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- tanf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- tanf16_test.cpp
- DEPENDS
- libc.src.math.tanf16
-)
-
-add_fp_unittest(
- tanpif_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- tanpif_test.cpp
- HDRS
- sdcomp26094.h
- DEPENDS
- libc.src.math.tanpif
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- tanpif16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- tanpif16_test.cpp
- DEPENDS
- libc.src.math.tanpif16
-)
-
-add_fp_unittest(
- fabs_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fabs_test.cpp
- HDRS
- FAbsTest.h
- DEPENDS
- libc.src.math.fabs
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fabsf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fabsf_test.cpp
- HDRS
- FAbsTest.h
- DEPENDS
- libc.src.math.fabsf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fabsl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fabsl_test.cpp
- HDRS
- FAbsTest.h
- DEPENDS
- libc.src.math.fabsl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fadd_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fadd_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.math.fadd
- libc.src.__support.FPUtil.basic_operations
-)
-
-add_fp_unittest(
- faddl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- faddl_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.math.faddl
-)
-
-add_fp_unittest(
- trunc_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- trunc_test.cpp
- HDRS
- TruncTest.h
- DEPENDS
- libc.src.math.trunc
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- truncf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- truncf_test.cpp
- HDRS
- TruncTest.h
- DEPENDS
- libc.src.math.truncf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- truncl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- truncl_test.cpp
- HDRS
- TruncTest.h
- DEPENDS
- libc.src.math.truncl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- truncf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- truncf16_test.cpp
- HDRS
- TruncTest.h
- DEPENDS
- libc.src.math.truncf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- ceil_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- ceil_test.cpp
- HDRS
- CeilTest.h
- DEPENDS
- libc.src.math.ceil
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- ceilf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- ceilf_test.cpp
- HDRS
- CeilTest.h
- DEPENDS
- libc.src.math.ceilf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- ceill_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- ceill_test.cpp
- HDRS
- CeilTest.h
- DEPENDS
- libc.src.math.ceill
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- ceilf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- ceilf16_test.cpp
- HDRS
- CeilTest.h
- DEPENDS
- libc.src.math.ceilf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- floor_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- floor_test.cpp
- HDRS
- FloorTest.h
- DEPENDS
- libc.src.math.floor
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- floorf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- floorf_test.cpp
- HDRS
- FloorTest.h
- DEPENDS
- libc.src.math.floorf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- floorl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- floorl_test.cpp
- HDRS
- FloorTest.h
- DEPENDS
- libc.src.math.floorl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- floorf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- floorf16_test.cpp
- HDRS
- FloorTest.h
- DEPENDS
- libc.src.math.floorf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- round_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- round_test.cpp
- HDRS
- RoundTest.h
- DEPENDS
- libc.src.math.round
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- roundf_test.cpp
- HDRS
- RoundTest.h
- DEPENDS
- libc.src.math.roundf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- roundl_test.cpp
- HDRS
- RoundTest.h
- DEPENDS
- libc.src.math.roundl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- roundf16_test.cpp
- HDRS
- RoundTest.h
- DEPENDS
- libc.src.math.roundf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundeven_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- roundeven_test.cpp
- HDRS
- RoundEvenTest.h
- DEPENDS
- libc.src.math.roundeven
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundevenf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- roundevenf_test.cpp
- HDRS
- RoundEvenTest.h
- DEPENDS
- libc.src.math.roundevenf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundevenl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- roundevenl_test.cpp
- HDRS
- RoundEvenTest.h
- DEPENDS
- libc.src.math.roundevenl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundevenf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- roundevenf16_test.cpp
- HDRS
- RoundEvenTest.h
- DEPENDS
- libc.src.math.roundevenf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lround_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- lround_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.errno.errno
- libc.src.math.lround
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lroundf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- lroundf_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.errno.errno
- libc.src.math.lroundf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lroundl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- lroundl_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.errno.errno
- libc.src.math.lroundl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lroundf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- lroundf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.errno.errno
- libc.src.math.lroundf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lroundbf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- lroundbf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.errno.errno
- libc.src.math.lroundbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llround_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- llround_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.errno.errno
- libc.src.math.llround
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llroundf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- llroundf_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.errno.errno
- libc.src.math.llroundf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llroundl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- llroundl_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.errno.errno
- libc.src.math.llroundl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llroundf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- llroundf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.errno.errno
- libc.src.math.llroundf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llroundbf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- llroundbf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.errno.errno
- libc.src.math.llroundbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nearbyint_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- nearbyint_test.cpp
- HDRS
- NearbyIntTest.h
- DEPENDS
- libc.src.math.nearbyint
- libc.src.__support.CPP.algorithm
- libc.src.__support.CPP.array
-)
-
-add_fp_unittest(
- nearbyintf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- nearbyintf_test.cpp
- HDRS
- NearbyIntTest.h
- DEPENDS
- libc.src.math.nearbyintf
- libc.src.__support.CPP.algorithm
- libc.src.__support.CPP.array
-)
-
-add_fp_unittest(
- nearbyintl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- nearbyintl_test.cpp
- HDRS
- NearbyIntTest.h
- DEPENDS
- libc.src.math.nearbyintl
- libc.src.__support.CPP.algorithm
- libc.src.__support.CPP.array
-)
-
-add_fp_unittest(
- nearbyintf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- nearbyintf16_test.cpp
- HDRS
- NearbyIntTest.h
- DEPENDS
- libc.src.math.nearbyintf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.CPP.array
-)
-
-add_fp_unittest(
- nearbyintbf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- nearbyintbf16_test.cpp
- HDRS
- NearbyIntTest.h
- DEPENDS
- libc.src.math.nearbyintbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- rint_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- rint_test.cpp
- HDRS
- RIntTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.rint
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- rintf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- rintf_test.cpp
- HDRS
- RIntTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.rintf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- rintl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- rintl_test.cpp
- HDRS
- RIntTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.rintl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- rintf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- rintf16_test.cpp
- HDRS
- RIntTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.rintf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- rintbf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- rintbf16_test.cpp
- HDRS
- RIntTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.rintbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lrint_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- lrint_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.math.lrint
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lrintf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- lrintf_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.math.lrintf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lrintl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- lrintl_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.math.lrintl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lrintf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- lrintf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.math.lrintf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lrintbf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- lrintbf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.math.lrintbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llrint_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- llrint_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.math.llrint
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llrintf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- llrintf_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.math.llrintf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llrintl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- llrintl_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.math.llrintl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llrintf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- llrintf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.math.llrintf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llrintbf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- llrintbf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.math.llrintbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- exp_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- exp_test.cpp
- DEPENDS
- libc.src.math.exp
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- expf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- expf_test.cpp
- DEPENDS
- libc.src.errno.errno
- libc.src.math.expf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- expf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- expf16_test.cpp
- DEPENDS
- libc.src.math.expf16
-)
-
-add_fp_unittest(
- exp2_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- exp2_test.cpp
- DEPENDS
- libc.src.math.exp2
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- exp2f_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- exp2f_test.cpp
- DEPENDS
- libc.src.errno.errno
- libc.src.math.exp2f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- exp2f16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- exp2f16_test.cpp
- DEPENDS
- libc.src.math.exp2f16
-)
-
-add_fp_unittest(
- exp2m1f_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- exp2m1f_test.cpp
- DEPENDS
- libc.src.errno.errno
- libc.src.math.exp2m1f
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- exp2m1f16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- exp2m1f16_test.cpp
- DEPENDS
- libc.src.math.exp2m1f16
-)
-
-add_fp_unittest(
- exp10_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- exp10_test.cpp
- DEPENDS
- libc.src.math.exp10
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- exp10f_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- exp10f_test.cpp
- DEPENDS
- libc.src.errno.errno
- libc.src.math.exp10f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- exp10f16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- exp10f16_test.cpp
- DEPENDS
- libc.src.math.exp10f16
-)
-
-add_fp_unittest(
- exp10m1f16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- exp10m1f16_test.cpp
- DEPENDS
- libc.src.math.exp10m1f16
-)
-
-add_fp_unittest(
- exp10m1f_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- exp10m1f_test.cpp
- DEPENDS
- libc.hdr.math_macros
- libc.src.errno.errno
- libc.src.math.exp10m1f
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- copysign_test
- SUITE
- libc-math-unittests
- SRCS
- copysign_test.cpp
- HDRS
- CopySignTest.h
- DEPENDS
- libc.src.math.copysign
- libc.src.__support.FPUtil.fp_bits
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- copysignf_test
- SUITE
- libc-math-unittests
- SRCS
- copysignf_test.cpp
- HDRS
- CopySignTest.h
- DEPENDS
- libc.src.math.copysignf
- libc.src.__support.FPUtil.fp_bits
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- copysignl_test
- SUITE
- libc-math-unittests
- SRCS
- copysignl_test.cpp
- HDRS
- CopySignTest.h
- DEPENDS
- libc.src.math.copysignl
- libc.src.__support.FPUtil.fp_bits
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- frexp_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- frexp_test.cpp
- HDRS
- FrexpTest.h
- DEPENDS
- libc.src.math.frexp
- libc.src.__support.FPUtil.basic_operations
-)
-
-add_fp_unittest(
- frexpf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- frexpf_test.cpp
- HDRS
- FrexpTest.h
- DEPENDS
- libc.src.math.frexpf
- libc.src.__support.FPUtil.basic_operations
-)
-
-add_fp_unittest(
- frexpl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- frexpl_test.cpp
- HDRS
- FrexpTest.h
- DEPENDS
- libc.src.math.frexpl
- libc.src.__support.FPUtil.basic_operations
-)
-
-add_fp_unittest(
- ilogb_test
- SUITE
- libc-math-unittests
- SRCS
- ilogb_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.ilogb
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- ilogbf_test
- SUITE
- libc-math-unittests
- SRCS
- ilogbf_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.ilogbf
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- ilogbl_test
- SUITE
- libc-math-unittests
- SRCS
- ilogbl_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.ilogbl
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- ldexp_test
- SUITE
- libc-math-unittests
- SRCS
- ldexp_test.cpp
- HDRS
- LdExpTest.h
- DEPENDS
- libc.src.math.ldexp
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- ldexpf_test
- SUITE
- libc-math-unittests
- SRCS
- ldexpf_test.cpp
- HDRS
- LdExpTest.h
- DEPENDS
- libc.src.math.ldexpf
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- ldexpl_test
- SUITE
- libc-math-unittests
- SRCS
- ldexpl_test.cpp
- HDRS
- LdExpTest.h
- DEPENDS
- libc.src.math.ldexpl
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- logb_test
- SUITE
- libc-math-unittests
- SRCS
- logb_test.cpp
- DEPENDS
- libc.src.math.logb
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- logbf_test
- SUITE
- libc-math-unittests
- SRCS
- logbf_test.cpp
- DEPENDS
- libc.src.math.logbf
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- logbl_test
- SUITE
- libc-math-unittests
- SRCS
- logbl_test.cpp
- HDRS
- LogbTest.h
- DEPENDS
- libc.src.math.logbl
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- modf_test
- SUITE
- libc-math-unittests
- SRCS
- modf_test.cpp
- HDRS
- ModfTest.h
- DEPENDS
- libc.src.math.modf
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.nearest_integer_operations
- # Requires C++ limits.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- modff_test
- SUITE
- libc-math-unittests
- SRCS
- modff_test.cpp
- HDRS
- ModfTest.h
- DEPENDS
- libc.src.math.modff
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.nearest_integer_operations
- # Requires C++ limits.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- modfl_test
- SUITE
- libc-math-unittests
- SRCS
- modfl_test.cpp
- HDRS
- ModfTest.h
- DEPENDS
- libc.src.math.modfl
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.nearest_integer_operations
-)
-
-add_fp_unittest(
- fdimf_test
- SUITE
- libc-math-unittests
- SRCS
- fdimf_test.cpp
- HDRS
- FDimTest.h
- DEPENDS
- libc.src.math.fdimf
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fdim_test
- SUITE
- libc-math-unittests
- SRCS
- fdim_test.cpp
- HDRS
- FDimTest.h
- DEPENDS
- libc.src.math.fdim
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fdiml_test
- SUITE
- libc-math-unittests
- SRCS
- fdiml_test.cpp
- HDRS
- FDimTest.h
- DEPENDS
- libc.src.math.fdiml
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminf_test
- SUITE
- libc-math-unittests
- SRCS
- fminf_test.cpp
- HDRS
- FMinTest.h
- DEPENDS
- libc.src.math.fminf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmin_test
- SUITE
- libc-math-unittests
- SRCS
- fmin_test.cpp
- HDRS
- FMinTest.h
- DEPENDS
- libc.src.math.fmin
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminl_test
- SUITE
- libc-math-unittests
- SRCS
- fminl_test.cpp
- HDRS
- FMinTest.h
- DEPENDS
- libc.src.math.fminl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaxf_test
- SUITE
- libc-math-unittests
- SRCS
- fmaxf_test.cpp
- HDRS
- FMaxTest.h
- DEPENDS
- libc.src.math.fmaxf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmax_test
- SUITE
- libc-math-unittests
- SRCS
- fmax_test.cpp
- HDRS
- FMaxTest.h
- DEPENDS
- libc.src.math.fmax
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaxl_test
- SUITE
- libc-math-unittests
- SRCS
- fmaxl_test.cpp
- HDRS
- FMaxTest.h
- DEPENDS
- libc.src.math.fmaxl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- sqrtf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sqrtf_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrtf
-)
-
-add_fp_unittest(
- sqrt_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sqrt_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrt
-)
-
-add_fp_unittest(
- sqrtl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sqrtl_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrtl
-)
-
-add_fp_unittest(
- rsqrtf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- rsqrtf_test.cpp
- DEPENDS
- libc.src.math.rsqrtf
-)
-
-add_fp_unittest(
- rsqrtf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- rsqrtf16_test.cpp
- DEPENDS
- libc.src.math.rsqrtf16
-)
-
-add_fp_unittest(
- sqrtf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sqrtf16_test.cpp
- DEPENDS
- libc.src.math.sqrtf16
-)
-
-add_fp_unittest(
- sqrtf128_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sqrtf128_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrtf128
-)
-
-add_fp_unittest(
- sqrtbf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sqrtbf16_test.cpp
- DEPENDS
- libc.src.math.sqrtbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- generic_sqrtf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- generic_sqrtf_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrtf
- libc.src.__support.FPUtil.generic.sqrt
- COMPILE_OPTIONS
- ${libc_opt_high_flag}
-)
-
-add_fp_unittest(
- generic_sqrt_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- generic_sqrt_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrt
- libc.src.__support.FPUtil.generic.sqrt
- COMPILE_OPTIONS
- ${libc_opt_high_flag}
-)
-
-add_fp_unittest(
- generic_sqrtl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- generic_sqrtl_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrtl
- libc.src.__support.FPUtil.generic.sqrt
- COMPILE_OPTIONS
- ${libc_opt_high_flag}
-)
-
-add_fp_unittest(
- remquof_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- remquof_test.cpp
- HDRS
- RemQuoTest.h
- DEPENDS
- libc.src.math.remquof
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- remquo_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- remquo_test.cpp
- HDRS
- RemQuoTest.h
- DEPENDS
- libc.src.math.remquo
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- remquol_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- remquol_test.cpp
- HDRS
- RemQuoTest.h
- DEPENDS
- libc.src.math.remquol
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- hypotf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- hypotf_test.cpp
- DEPENDS
- libc.src.math.hypotf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- hypot_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- hypot_test.cpp
- DEPENDS
- libc.src.math.hypot
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- hypotf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- hypotf16_test.cpp
- DEPENDS
- libc.src.math.hypotf16
-)
-
-add_fp_unittest(
- nextafter_test
- SUITE
- libc-math-unittests
- SRCS
- nextafter_test.cpp
- HDRS
- NextAfterTest.h
- DEPENDS
- libc.src.math.nextafter
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nextafterf_test
- SUITE
- libc-math-unittests
- SRCS
- nextafterf_test.cpp
- HDRS
- NextAfterTest.h
- DEPENDS
- libc.src.math.nextafterf
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nextafterl_test
- SUITE
- libc-math-unittests
- SRCS
- nextafterl_test.cpp
- HDRS
- NextAfterTest.h
- DEPENDS
- libc.src.math.nextafterl
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nextafterf128_test
- SUITE
- libc-math-unittests
- SRCS
- nextafterf128_test.cpp
- HDRS
- NextAfterTest.h
- DEPENDS
- libc.src.math.nextafterf128
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-# TODO(lntue): The current implementation of fputil::general::fma<float> is only
-# correctly rounded for the default rounding mode round-to-nearest tie-to-even.
-add_fp_unittest(
- fmaf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fmaf_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.fmaf
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- FLAGS
- FMA_OPT__ONLY
-)
-
-add_fp_unittest(
- fmaf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fmaf16_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.fmaf16
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- fmabf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fmabf16_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.fmabf16
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- fma_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fma_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.fma
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- tan_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- tan_test.cpp
- DEPENDS
- libc.src.math.tan
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- expm1_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- expm1_test.cpp
- DEPENDS
- libc.src.math.expm1
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- expm1f_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- expm1f_test.cpp
- DEPENDS
- libc.src.errno.errno
- libc.src.math.expm1f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- expm1f16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- expm1f16_test.cpp
- DEPENDS
- libc.src.math.expm1f16
-)
-
-add_fp_unittest(
- log_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- log_test.cpp
- DEPENDS
- libc.src.math.log
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- logf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- logf_test.cpp
- DEPENDS
- libc.src.math.logf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- logf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- logf16_test.cpp
- DEPENDS
- libc.src.math.logf16
-)
-
-add_fp_unittest(
- log_bf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- log_bf16_test.cpp
- DEPENDS
- libc.src.math.log_bf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
-log2_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- log2_test.cpp
- DEPENDS
- libc.src.math.log2
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- log2f_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- log2f_test.cpp
- DEPENDS
- libc.src.errno.errno
- libc.src.math.log2f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- log2f16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- log2f16_test.cpp
- DEPENDS
- libc.src.math.log2f16
-)
-
-add_fp_unittest(
- log10_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- log10_test.cpp
- DEPENDS
- libc.src.math.log10
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- log10f_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- log10f_test.cpp
- DEPENDS
- libc.src.math.log10f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- log10f16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- log10f16_test.cpp
- DEPENDS
- libc.src.math.log10f16
-)
-
-add_fp_unittest(
-log1p_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- log1p_test.cpp
- DEPENDS
- libc.src.math.log1p
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- log1pf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- log1pf_test.cpp
- DEPENDS
- libc.src.math.log1pf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmodf_test
- SUITE
- libc-math-unittests
- SRCS
- fmodf_test.cpp
- HDRS
- FModTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.fmodf
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.nearest_integer_operations
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- fmod_test
- SUITE
- libc-math-unittests
- SRCS
- fmod_test.cpp
- HDRS
- FModTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.fmod
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.nearest_integer_operations
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- explogxf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- HDRS
- in_float_range_test_helper.h
- SRCS
- explogxf_test.cpp
- DEPENDS
- libc.src.math.generic.explogxf
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- coshf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- coshf_test.cpp
- HDRS
- sdcomp26094.h
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.coshf
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- coshf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- coshf16_test.cpp
- DEPENDS
- libc.src.math.coshf16
-)
-
-add_fp_unittest(
- sinhf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sinhf_test.cpp
- HDRS
- sdcomp26094.h
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.sinhf
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- sinhf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sinhf16_test.cpp
- DEPENDS
- libc.src.math.sinhf16
-)
-
-add_fp_unittest(
- tanhf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- tanhf_test.cpp
- DEPENDS
- libc.src.math.tanhf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- tanhf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- tanhf16_test.cpp
- DEPENDS
- libc.src.math.tanhf16
-)
-
-add_fp_unittest(
- atanhf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- atanhf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.atanhf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- atanhf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- atanhf16_test.cpp
- DEPENDS
- libc.src.math.atanhf16
-)
-
-add_fp_unittest(
- atanpif16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- atanpif16_test.cpp
- DEPENDS
- libc.src.math.atanpif16
-)
-
-add_fp_unittest(
- fmul_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fmul_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.src.math.fmul
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- fmull_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fmull_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.src.math.fmull
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- asinhf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- asinhf_test.cpp
- DEPENDS
- libc.src.math.asinhf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- asinhf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- asinhf16_test.cpp
- DEPENDS
- libc.src.math.asinhf16
-)
-
-add_fp_unittest(
- acoshf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- acoshf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.acoshf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- acoshf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- acoshf16_test.cpp
- DEPENDS
- libc.src.math.acoshf16
-)
-
-add_fp_unittest(
- asinf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- asinf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.asinf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- asin_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- asin_test.cpp
- DEPENDS
- libc.src.math.asin
-)
-
-add_fp_unittest(
- asinf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- asinf16_test.cpp
- DEPENDS
- libc.src.math.asinf16
-)
-
-add_fp_unittest(
- asinpif16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- asinpif16_test.cpp
- DEPENDS
- libc.src.math.asinpif16
-)
-
-add_fp_unittest(
- acosf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- acosf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.acosf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- acos_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- acos_test.cpp
- DEPENDS
- libc.src.math.acos
-)
-
-add_fp_unittest(
- acosf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- acosf16_test.cpp
- DEPENDS
- libc.src.math.acosf16
-)
-
-add_fp_unittest(
- acospif16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- acospif16_test.cpp
- DEPENDS
- libc.src.math.acospif16
-)
-
-add_fp_unittest(
- atanf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- atanf_test.cpp
- DEPENDS
- libc.src.math.atanf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- atan_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- atan_test.cpp
- DEPENDS
- libc.src.math.atan
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- atanf16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- atanf16_test.cpp
- DEPENDS
- libc.src.math.atanf16
-)
-
-add_fp_unittest(
- scalbn_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- scalbn_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalbn
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalbnf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- scalbnf_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalbnf
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalbnl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- scalbnl_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalbnl
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalbnf128_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- scalbnf128_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalbnf128
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- erff_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- erff_test.cpp
- DEPENDS
- libc.src.math.erff
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- pow_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- pow_test.cpp
- DEPENDS
- libc.src.math.pow
-)
-
-add_fp_unittest(
- powf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- powf_test.cpp
- DEPENDS
- libc.src.math.powf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- atan2f_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- atan2f_test.cpp
- DEPENDS
- libc.src.math.atan2f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- atan2_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- atan2_test.cpp
- DEPENDS
- libc.src.math.atan2
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- atan2f128_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- atan2f128_test.cpp
- DEPENDS
- libc.src.math.atan2f128
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- f16add_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16add_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.math.f16add
-)
-
-add_fp_unittest(
- f16addf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16addf_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.math.f16addf
-)
-
-add_fp_unittest(
- f16addl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16addl_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.math.f16addl
-)
-
-add_fp_unittest(
- f16sub_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16sub_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.math.f16sub
-)
-
-add_fp_unittest(
- f16subf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16subf_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.math.f16subf
-)
-
-add_fp_unittest(
- f16subl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16subl_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.math.f16subl
-)
-
-add_fp_unittest(
- f16div_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16div_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.f16div
-)
-
-add_fp_unittest(
- f16divf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16divf_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.f16divf
-)
-
-add_fp_unittest(
- f16divl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16divl_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.f16divl
-)
-
-add_fp_unittest(
- f16fma_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16fma_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.f16fma
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- f16fmaf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16fmaf_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.f16fmaf
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- f16fmal_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16fmal_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.f16fmal
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- f16sqrt_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16sqrt_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.f16sqrt
-)
-
-add_fp_unittest(
- f16sqrtf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16sqrtf_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.f16sqrtf
-)
-
-add_fp_unittest(
- f16sqrtl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16sqrtl_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.f16sqrtl
-)
-
-add_fp_unittest(
- fsqrt_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fsqrt_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.fsqrt
-)
-
-add_fp_unittest(
- fsqrtl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fsqrtl_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.fsqrtl
-)
-
-add_fp_unittest(
- fsub_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fsub_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.math.fsub
-)
-
-add_fp_unittest(
- fsubl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fsubl_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.math.fsubl
-)
-
-add_fp_unittest(
- dsqrtl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- dsqrtl_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.dsqrtl
-)
-
-add_fp_unittest(
- cbrtf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- cbrtf_test.cpp
- DEPENDS
- libc.src.math.cbrtf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- cbrt_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- cbrt_test.cpp
- DEPENDS
- libc.src.math.cbrt
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- dmull_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- dmull_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.src.math.dmull
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- f16mul_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16mul_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.src.math.f16mul
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- f16mulf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16mulf_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.src.math.f16mulf
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- f16mull_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- f16mull_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.src.math.f16mull
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- ddivl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- ddivl_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.ddivl
-)
-
-add_fp_unittest(
- dfmal_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- dfmal_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.dfmal
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- dsubl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- dsubl_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.math.dsubl
-)
-
-add_fp_unittest(
- fdiv_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fdiv_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.fdiv
-)
-
-add_fp_unittest(
- fdivl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- fdivl_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.fdivl
-)
-
-add_fp_unittest(
- ffma_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- ffma_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.ffma
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- ffmal_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- ffmal_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.ffmal
- libc.src.stdlib.rand
- libc.src.stdlib.srand
-)
-
-add_fp_unittest(
- add_same_type_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- add_same_type_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.generic.add_sub
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- sub_same_type_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- sub_same_type_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.generic.add_sub
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- bf16add_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16add_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.math.bf16add
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16addf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16addf_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.math.bf16addf
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16addl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16addl_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.math.bf16addl
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16addf128_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16addf128_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.math.bf16addf128
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16div_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16div_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.bf16div
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16divf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16divf_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.bf16divf
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16divl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16divl_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.bf16divl
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16divf128_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16divf128_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.bf16divf128
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16fma_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16fma_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.bf16fma
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16fmaf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16fmaf_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.bf16fmaf
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16fmal_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16fmal_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.bf16fmal
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16fmaf128_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16fmaf128_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.bf16fmaf128
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16mul_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16mul_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.src.math.bf16mul
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16mulf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16mulf_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.src.math.bf16mulf
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16mull_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16mull_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.src.math.bf16mull
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16mulf128_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16mulf128_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.src.math.bf16mulf128
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16sub_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16sub_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.math.bf16sub
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16subf_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16subf_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.math.bf16subf
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16subl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16subl_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.math.bf16subl
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16subf128_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- bf16subf128_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.math.bf16subf128
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_subdirectory(generic)
-add_subdirectory(smoke)
-
-if(NOT LLVM_LIBC_FULL_BUILD)
- add_subdirectory(exhaustive)
- add_subdirectory(performance_testing)
-endif()
diff --git a/libc/test/src/math/bf16mul_test.cpp b/libc/test/src/math/bf16mul_test.cpp
index 76bd3dba42566..3682705556b0a 100644
--- a/libc/test/src/math/bf16mul_test.cpp
+++ b/libc/test/src/math/bf16mul_test.cpp
@@ -1,15 +1,15 @@
-//===-- Unittests for bf16mul ---------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "MulTest.h"
-
-#include "src/math/bf16mul.h"
-
-#include "src/__support/FPUtil/bfloat16.h"
-
-LIST_MUL_TESTS(bfloat16, double, LIBC_NAMESPACE::bf16mul)
+//===-- Unittests for bf16mul ---------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "MulTest.h"
+
+#include "src/math/bf16mul.h"
+
+#include "src/__support/FPUtil/bfloat16.h"
+
+LIST_MUL_TESTS(bfloat16, double, LIBC_NAMESPACE::bf16mul)
diff --git a/libc/test/src/math/exhaustive/CMakeLists.txt b/libc/test/src/math/exhaustive/CMakeLists.txt
index a21e208312c56..66c183b736d92 100644
--- a/libc/test/src/math/exhaustive/CMakeLists.txt
+++ b/libc/test/src/math/exhaustive/CMakeLists.txt
@@ -293,6 +293,23 @@ add_fp_unittest(
-lpthread
)
+add_fp_unittest(
+ fmabf16_test
+ NO_RUN_POSTBUILD
+ NEED_MPFR
+ SUITE
+ libc_math_exhaustive_tests
+ SRCS
+ fmabf16_test.cpp
+ DEPENDS
+ .exhaustive_test
+ libc.src.math.fmabf16
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.bfloat16
+ LINK_LIBRARIES
+ -lpthread
+)
+
add_fp_unittest(
logf_test
NO_RUN_POSTBUILD
diff --git a/libc/test/src/math/exhaustive/fmabf16_test.cpp b/libc/test/src/math/exhaustive/fmabf16_test.cpp
new file mode 100644
index 0000000000000..dce60d0594108
--- /dev/null
+++ b/libc/test/src/math/exhaustive/fmabf16_test.cpp
@@ -0,0 +1,105 @@
+//===-- Exhaustive test for fmabf16 -------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/__support/FPUtil/bfloat16.h"
+#include "src/math/fmabf16.h"
+#include "test/UnitTest/FPMatcher.h"
+#include "test/UnitTest/Test.h"
+#include "utils/MPFRWrapper/MPFRUtils.h"
+
+using LlvmLibcFmaBf16Test = LIBC_NAMESPACE::testing::FPTest<bfloat16>;
+
+namespace mpfr = LIBC_NAMESPACE::testing::mpfr;
+
+// Normal range: [+0, +int]
+static constexpr uint16_t POS_START = 0x0000U;
+static constexpr uint16_t POS_STOP = 0x7f80U;
+
+// Normal range: [-0, -int]
+static constexpr uint16_t NEG_START = 0x8000U;
+static constexpr uint16_t NEG_STOP = 0xff80U;
+
+// Subnormal range (positive)
+static constexpr uint16_t SUBNORM_POS_START = 0x0001U;
+static constexpr uint16_t SUBNORM_POS_STOP = 0x007FU;
+
+// Subnormal range (negative)
+static constexpr uint16_t SUBNORM_NEG_START = 0x8001U;
+static constexpr uint16_t SUBNORM_NEG_STOP = 0x807FU;
+
+TEST_F(LlvmLibcFmaBf16Test, NormalPositiveRange) {
+ constexpr bfloat16 VALUES[] = {zero, neg_zero, inf,
+ neg_inf, min_normal, max_normal};
+ for (uint16_t v1 = POS_START; v1 <= POS_STOP; v1++) {
+ for (uint16_t v2 = v1; v2 <= POS_STOP; v2++) {
+
+ bfloat16 x = FPBits(v1).get_val();
+ bfloat16 y = FPBits(v2).get_val();
+ for (const bfloat16 &z : VALUES) {
+ mpfr::TernaryInput<bfloat16> input{x, y, z};
+
+ EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
+ LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
+ }
+ }
+ }
+}
+
+TEST_F(LlvmLibcFmaBf16Test, NormalNegativeRange) {
+ constexpr bfloat16 VALUES[] = {zero, neg_zero, inf,
+ neg_inf, min_normal, max_normal};
+ for (uint16_t v1 = NEG_START; v1 <= NEG_STOP; v1++) {
+ for (uint16_t v2 = v1; v2 <= NEG_STOP; v2++) {
+
+ bfloat16 x = FPBits(v1).get_val();
+ bfloat16 y = FPBits(v2).get_val();
+ for (const bfloat16 &z : VALUES) {
+ mpfr::TernaryInput<bfloat16> input{x, y, z};
+
+ EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
+ LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
+ }
+ }
+ }
+}
+
+TEST_F(LlvmLibcFmaBf16Test, SubnormalNegativeRange) {
+ constexpr bfloat16 VALUES[] = {zero, neg_zero, inf,
+ neg_inf, min_normal, max_normal};
+ for (uint16_t v1 = SUBNORM_NEG_START; v1 <= SUBNORM_NEG_STOP; v1++) {
+ for (uint16_t v2 = v1; v2 <= SUBNORM_NEG_STOP; v2++) {
+
+ bfloat16 x = FPBits(v1).get_val();
+ bfloat16 y = FPBits(v2).get_val();
+ for (const bfloat16 &z : VALUES) {
+ mpfr::TernaryInput<bfloat16> input{x, y, z};
+
+ EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
+ LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
+ }
+ }
+ }
+}
+
+TEST_F(LlvmLibcFmaBf16Test, SubnormalPositiveRange) {
+ constexpr bfloat16 VALUES[] = {zero, neg_zero, inf,
+ neg_inf, min_normal, max_normal};
+ for (uint16_t v1 = SUBNORM_POS_START; v1 <= SUBNORM_POS_STOP; v1++) {
+ for (uint16_t v2 = v1; v2 <= SUBNORM_POS_STOP; v2++) {
+
+ bfloat16 x = FPBits(v1).get_val();
+ bfloat16 y = FPBits(v2).get_val();
+ for (const bfloat16 &z : VALUES) {
+ mpfr::TernaryInput<bfloat16> input{x, y, z};
+
+ EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
+ LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
+ }
+ }
+ }
+}
diff --git a/libc/test/src/math/fmabf16_test.cpp b/libc/test/src/math/fmabf16_test.cpp
index ae01948c21ca5..4b7a9e90b7226 100644
--- a/libc/test/src/math/fmabf16_test.cpp
+++ b/libc/test/src/math/fmabf16_test.cpp
@@ -1,29 +1,66 @@
-// //===-- Exhaustive test for fmabf16 ---------------------------------------===//
-// //
-// // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// // See https://llvm.org/LICENSE.txt for license information.
-// // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-// //
-// //===----------------------------------------------------------------------===//
-
-// #include "src/__support/FPUtil/bfloat16.h"
-// #include "src/math/fmabf16.h"
-// #include "test/UnitTest/FPMatcher.h"
-// #include "test/UnitTest/Test.h"
-// #include "utils/MPFRWrapper/MPFRUtils.h"
-
-// using LlvmLibcFmabf16Test = LIBC_NAMESPACE::testing::FPTest<bfloat16>;
-
-// namespace mpfr = LIBC_NAMESPACE::testing::mpfr;
-
-// // range: [0, inf]
-// static constexpr uint16_t POS_START = 0x0000U;
-// static constexpr uint16_t POS_STOP = 0x7f80U;
-
-// TEST_F(LlvmLibcSqrtf16Test, PositiveRange) {
-// for (uint16_t v = POS_START; v <= POS_STOP; ++v) {
-// bfloat16 x = FPBits(v).get_val();
-// EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Sqrt, x,
-// LIBC_NAMESPACE::sqrtbf16(x), 0.5);
-// }
-// }
+//===-- Exhaustive test for fmabf16 ---------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/__support/FPUtil/bfloat16.h"
+#include "src/math/fmabf16.h"
+#include "test/UnitTest/FPMatcher.h"
+#include "test/UnitTest/Test.h"
+#include "utils/MPFRWrapper/MPFRUtils.h"
+
+using LlvmLibcFmaBf16Test = LIBC_NAMESPACE::testing::FPTest<bfloat16>;
+
+namespace mpfr = LIBC_NAMESPACE::testing::mpfr;
+
+// subnormal range (negative)
+static constexpr uint16_t SUBNORM_NEG_START = 0x8001U;
+static constexpr uint16_t SUBNORM_NEG_STOP = 0x807FU;
+
+TEST_F(LlvmLibcFmaBf16Test, SubnormalNegativeRange) {
+ constexpr bfloat16 Z_VALUES[] = {zero, neg_zero, inf,
+ neg_inf, min_normal, max_normal};
+ for (uint16_t v1 = SUBNORM_NEG_START; v1 <= SUBNORM_NEG_STOP; v1++) {
+ for (uint16_t v2 = v1; v2 <= SUBNORM_NEG_STOP; v2++) {
+
+ bfloat16 x = FPBits(v1).get_val();
+ bfloat16 y = FPBits(v2).get_val();
+ for (const bfloat16 &z : Z_VALUES) {
+ mpfr::TernaryInput<bfloat16> input{x, y, z};
+
+ EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
+ LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
+ }
+ bfloat16 neg_xy = -(x * y);
+ mpfr::TernaryInput<bfloat16> input{x, y, neg_xy};
+ EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
+ LIBC_NAMESPACE::fmabf16(x, y, neg_xy),
+ 0.5);
+ }
+ }
+}
+
+TEST_F(LlvmLibcFmaBf16Test, SpecialNumbers) {
+ constexpr bfloat16 VALUES[] = {zero, neg_zero, inf,
+ neg_inf, min_normal, max_normal};
+ for (size_t i = 0; i < 6; ++i) {
+ for (size_t j = i; j < 6; ++j) {
+ bfloat16 x = VALUES[i];
+ bfloat16 y = VALUES[j];
+ for (const bfloat16 &z : VALUES) {
+ mpfr::TernaryInput<bfloat16> input{x, y, z};
+
+ EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
+ LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
+ }
+ bfloat16 neg_xy = -(x * y);
+ mpfr::TernaryInput<bfloat16> input{x, y, neg_xy};
+ EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
+ LIBC_NAMESPACE::fmabf16(x, y, neg_xy),
+ 0.5);
+ }
+ }
+}
diff --git a/libc/test/src/math/smoke/CMakeLists.txt b/libc/test/src/math/smoke/CMakeLists.txt
index 92a8ccbd6f6da..b2d2e33fa5128 100644
--- a/libc/test/src/math/smoke/CMakeLists.txt
+++ b/libc/test/src/math/smoke/CMakeLists.txt
@@ -4281,6 +4281,19 @@ add_fp_unittest(
libc.src.__support.macros.properties.types
)
+add_fp_unittest(
+ fmabf16_test
+ SUITE
+ libc-math-smoke-tests
+ SRCS
+ fmabf16_test.cpp
+ HDRS
+ FmaTest.h
+ DEPENDS
+ libc.src.math.fmabf16
+ libc.src.__support.FPUtil.bfloat16
+)
+
add_fp_unittest(
expm1_test
SUITE
@@ -6487,6537 +6500,6 @@ add_fp_unittest(
)
-add_fp_unittest(
- bf16sub_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16sub_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16sub
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- bf16subf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16subf_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16subf
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- bf16subl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16subl_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16subl
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- bf16subf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16subf128_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16subf128
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.macros.properties.os
-)
-add_custom_target(libc-math-smoke-tests)
-add_dependencies(libc-math-unittests libc-math-smoke-tests)
-
-add_fp_unittest(
- cosf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- cosf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.cosf
-)
-
-add_fp_unittest(
- cosf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- cosf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.cosf16
-)
-
-add_fp_unittest(
- cospif_test
- SUITE
- libc-math-smoke-tests
- SRCS
- cospif_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.cospif
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- cospif16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- cospif16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.cospif16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- sinf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sinf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.sinf
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- sinf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sinf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.sinf16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- sinpif_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sinpif_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.sinpif
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- sinpif16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sinpif16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.sinpif16
-)
-
-add_fp_unittest(
- sincosf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sincosf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.sincosf
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- tanf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- tanf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.tanf
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- tanf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- tanf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.tanf16
-)
-
-add_fp_unittest(
- tanpif_test
- SUITE
- libc-math-smoke-tests
- SRCS
- tanpif_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.tanpif
-)
-
-add_fp_unittest(
- tanpif16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- tanpif16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.tanpif16
-)
-
-add_fp_unittest(
- fabs_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fabs_test.cpp
- HDRS
- FAbsTest.h
- DEPENDS
- libc.src.math.fabs
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fabsf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fabsf_test.cpp
- HDRS
- FAbsTest.h
- DEPENDS
- libc.src.math.fabsf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fabsl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fabsl_test.cpp
- HDRS
- FAbsTest.h
- DEPENDS
- libc.src.math.fabsl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fabsf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fabsf16_test.cpp
- HDRS
- FAbsTest.h
- DEPENDS
- libc.src.math.fabsf16
-)
-
-add_fp_unittest(
- fabsf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fabsf128_test.cpp
- HDRS
- FAbsTest.h
- DEPENDS
- libc.src.math.fabsf128
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fabsbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fabsbf16_test.cpp
- HDRS
- FAbsTest.h
- DEPENDS
- libc.src.__support.FPUtil.bfloat16
- libc.src.math.fabsbf16
-)
-
-add_fp_unittest(
- fadd_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fadd_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fadd
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- faddl_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- faddl_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.faddl
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- faddf128_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- faddf128_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.faddf128
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- trunc_test
- SUITE
- libc-math-smoke-tests
- SRCS
- trunc_test.cpp
- HDRS
- TruncTest.h
- DEPENDS
- libc.src.math.trunc
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- truncf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- truncf_test.cpp
- HDRS
- TruncTest.h
- DEPENDS
- libc.src.math.truncf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- truncl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- truncl_test.cpp
- HDRS
- TruncTest.h
- DEPENDS
- libc.src.math.truncl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- truncf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- truncf16_test.cpp
- HDRS
- TruncTest.h
- DEPENDS
- libc.src.math.truncf16
-)
-
-add_fp_unittest(
- truncf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- truncf128_test.cpp
- HDRS
- TruncTest.h
- DEPENDS
- libc.src.math.truncf128
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- truncbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- truncbf16_test.cpp
- HDRS
- TruncTest.h
- DEPENDS
- libc.src.math.truncbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- canonicalize_test
- SUITE
- libc-math-smoke-tests
- SRCS
- canonicalize_test.cpp
- HDRS
- CanonicalizeTest.h
- DEPENDS
- libc.src.math.canonicalize
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.integer_literals
-)
-
-add_fp_unittest(
- canonicalizef_test
- SUITE
- libc-math-smoke-tests
- SRCS
- canonicalizef_test.cpp
- HDRS
- CanonicalizeTest.h
- DEPENDS
- libc.src.math.canonicalizef
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.integer_literals
-)
-
-add_fp_unittest(
- canonicalizef16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- canonicalizef16_test.cpp
- HDRS
- CanonicalizeTest.h
- DEPENDS
- libc.src.math.canonicalizef16
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.integer_literals
-)
-
-add_fp_unittest(
- canonicalizef128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- canonicalizef128_test.cpp
- HDRS
- CanonicalizeTest.h
- DEPENDS
- libc.src.math.canonicalizef128
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.integer_literals
-)
-
-add_fp_unittest(
- canonicalizel_test
- SUITE
- libc-math-smoke-tests
- SRCS
- canonicalizel_test.cpp
- HDRS
- CanonicalizeTest.h
- DEPENDS
- libc.src.math.canonicalizel
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.integer_literals
-)
-
-add_fp_unittest(
- canonicalizebf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- canonicalizebf16_test.cpp
- HDRS
- CanonicalizeTest.h
- DEPENDS
- libc.src.math.canonicalizebf16
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.integer_literals
-)
-
-add_fp_unittest(
- iscanonical_test
- SUITE
- libc-math-smoke-tests
- SRCS
- iscanonical_test.cpp
- HDRS
- IsCanonicalTest.h
- DEPENDS
- libc.src.math.iscanonical
-)
-
-add_fp_unittest(
- iscanonicalf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- iscanonicalf_test.cpp
- HDRS
- IsCanonicalTest.h
- DEPENDS
- libc.src.math.iscanonicalf
-)
-
-add_fp_unittest(
- iscanonicall_test
- SUITE
- libc-math-smoke-tests
- SRCS
- iscanonicall_test.cpp
- HDRS
- IsCanonicalTest.h
- DEPENDS
- libc.src.math.iscanonicall
-)
-
-add_fp_unittest(
- iscanonicalf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- iscanonicalf16_test.cpp
- HDRS
- IsCanonicalTest.h
- DEPENDS
- libc.src.math.iscanonicalf16
-)
-
-add_fp_unittest(
- iscanonicalf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- iscanonicalf128_test.cpp
- HDRS
- IsCanonicalTest.h
- DEPENDS
- libc.src.math.iscanonicalf128
-)
-
-add_fp_unittest(
- iscanonicalbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- iscanonicalbf16_test.cpp
- HDRS
- IsCanonicalTest.h
- DEPENDS
- libc.src.math.iscanonicalbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- ceil_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ceil_test.cpp
- HDRS
- CeilTest.h
- DEPENDS
- libc.src.math.ceil
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- ceilf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ceilf_test.cpp
- HDRS
- CeilTest.h
- DEPENDS
- libc.src.math.ceilf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- ceill_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ceill_test.cpp
- HDRS
- CeilTest.h
- DEPENDS
- libc.src.math.ceill
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- ceilf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ceilf16_test.cpp
- HDRS
- CeilTest.h
- DEPENDS
- libc.src.math.ceilf16
-)
-
-add_fp_unittest(
- ceilf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ceilf128_test.cpp
- HDRS
- CeilTest.h
- DEPENDS
- libc.src.math.ceilf128
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- ceilbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ceilbf16_test.cpp
- HDRS
- CeilTest.h
- DEPENDS
- libc.src.math.ceilbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- dfmal_test
- SUITE
- libc-math-smoke-tests
- SRCS
- dfmal_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.dfmal
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- dfmaf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- dfmaf128_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.dfmaf128
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- dsubl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- dsubl_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.dsubl
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- dsubf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- dsubf128_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.dsubf128
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- floor_test
- SUITE
- libc-math-smoke-tests
- SRCS
- floor_test.cpp
- HDRS
- FloorTest.h
- DEPENDS
- libc.src.math.floor
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- floorf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- floorf_test.cpp
- HDRS
- FloorTest.h
- DEPENDS
- libc.src.math.floorf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- floorl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- floorl_test.cpp
- HDRS
- FloorTest.h
- DEPENDS
- libc.src.math.floorl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- floorf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- floorf16_test.cpp
- HDRS
- FloorTest.h
- DEPENDS
- libc.src.math.floorf16
-)
-
-add_fp_unittest(
- floorf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- floorf128_test.cpp
- HDRS
- FloorTest.h
- DEPENDS
- libc.src.math.floorf128
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- floorbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- floorbf16_test.cpp
- HDRS
- FloorTest.h
- DEPENDS
- libc.src.math.floorbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- round_test
- SUITE
- libc-math-smoke-tests
- SRCS
- round_test.cpp
- HDRS
- RoundTest.h
- DEPENDS
- libc.src.math.round
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- roundf_test.cpp
- HDRS
- RoundTest.h
- DEPENDS
- libc.src.math.roundf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- roundl_test.cpp
- HDRS
- RoundTest.h
- DEPENDS
- libc.src.math.roundl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- roundf16_test.cpp
- HDRS
- RoundTest.h
- DEPENDS
- libc.src.math.roundf16
-)
-
-add_fp_unittest(
- roundf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- roundf128_test.cpp
- HDRS
- RoundTest.h
- DEPENDS
- libc.src.math.roundf128
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- roundbf16_test.cpp
- HDRS
- RoundTest.h
- DEPENDS
- libc.src.math.roundbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- roundeven_test
- SUITE
- libc-math-smoke-tests
- SRCS
- roundeven_test.cpp
- HDRS
- RoundEvenTest.h
- DEPENDS
- libc.src.math.roundeven
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundevenf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- roundevenf_test.cpp
- HDRS
- RoundEvenTest.h
- DEPENDS
- libc.src.math.roundevenf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundevenl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- roundevenl_test.cpp
- HDRS
- RoundEvenTest.h
- DEPENDS
- libc.src.math.roundevenl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundevenf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- roundevenf16_test.cpp
- HDRS
- RoundEvenTest.h
- DEPENDS
- libc.src.math.roundevenf16
-)
-
-add_fp_unittest(
- roundevenf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- roundevenf128_test.cpp
- HDRS
- RoundEvenTest.h
- DEPENDS
- libc.src.math.roundevenf128
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- roundevenbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- roundevenbf16_test.cpp
- HDRS
- RoundEvenTest.h
- DEPENDS
- libc.src.math.roundevenbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- lround_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lround_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lround
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lroundf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lroundf_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lroundf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lroundl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lroundl_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lroundl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lroundf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lroundf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lroundf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lroundf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lroundf128_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lroundf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lroundbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lroundbf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lroundbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llround_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llround_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llround
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llroundf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llroundf_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llroundf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llroundl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llroundl_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llroundl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llroundf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llroundf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llroundf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llroundf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llroundf128_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llroundf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llroundbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llroundbf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llroundbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- rint_test
- SUITE
- libc-math-smoke-tests
- SRCS
- rint_test.cpp
- HDRS
- RIntTest.h
- DEPENDS
- libc.src.math.rint
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- rintf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- rintf_test.cpp
- HDRS
- RIntTest.h
- DEPENDS
- libc.src.math.rintf
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- rintl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- rintl_test.cpp
- HDRS
- RIntTest.h
- DEPENDS
- libc.src.math.rintl
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- rintf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- rintf16_test.cpp
- HDRS
- RIntTest.h
- DEPENDS
- libc.src.math.rintf16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- rintf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- rintf128_test.cpp
- HDRS
- RIntTest.h
- DEPENDS
- libc.src.math.rintf128
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- rintbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- rintbf16_test.cpp
- HDRS
- RIntTest.h
- DEPENDS
- libc.src.math.rintbf16
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lrint_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lrint_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lrint
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lrintf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lrintf_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lrintf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lrintl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lrintl_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lrintl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lrintf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lrintf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lrintf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lrintf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lrintf128_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lrintf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- lrintbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- lrintbf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.lrintbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llrint_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llrint_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llrint
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llrintf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llrintf_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llrintf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llrintl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llrintl_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llrintl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llrintf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llrintf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llrintf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llrintf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llrintf128_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llrintf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- llrintbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llrintbf16_test.cpp
- HDRS
- RoundToIntegerTest.h
- DEPENDS
- libc.src.errno.errno
- libc.src.math.llrintbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- exp_test
- SUITE
- libc-math-smoke-tests
- SRCS
- exp_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.exp
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- expf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- expf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.expf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- expf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- expf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.expf16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- exp2_test
- SUITE
- libc-math-smoke-tests
- SRCS
- exp2_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.exp2
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- exp2f_test
- SUITE
- libc-math-smoke-tests
- SRCS
- exp2f_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.exp2f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- exp2f16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- exp2f16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.exp2f16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- exp2m1f_test
- SUITE
- libc-math-smoke-tests
- SRCS
- exp2m1f_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.exp2m1f
-)
-
-add_fp_unittest(
- exp2m1f16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- exp2m1f16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.exp2m1f16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- exp10_test
- SUITE
- libc-math-smoke-tests
- SRCS
- exp10_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.exp10
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- exp10f_test
- SUITE
- libc-math-smoke-tests
- SRCS
- exp10f_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.exp10f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- exp10f16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- exp10f16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.exp10f16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- exp10m1f16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- exp10m1f16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.exp10m1f16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- exp10m1f_test
- SUITE
- libc-math-smoke-tests
- SRCS
- exp10m1f_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.exp10m1f
-)
-
-add_fp_unittest(
- copysign_test
- SUITE
- libc-math-smoke-tests
- SRCS
- copysign_test.cpp
- HDRS
- CopySignTest.h
- DEPENDS
- libc.src.math.copysign
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- copysignf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- copysignf_test.cpp
- HDRS
- CopySignTest.h
- DEPENDS
- libc.src.math.copysignf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- copysignl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- copysignl_test.cpp
- HDRS
- CopySignTest.h
- DEPENDS
- libc.src.math.copysignl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- copysignf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- copysignf16_test.cpp
- HDRS
- CopySignTest.h
- DEPENDS
- libc.src.math.copysignf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- copysignf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- copysignf128_test.cpp
- HDRS
- CopySignTest.h
- DEPENDS
- libc.src.math.copysignf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- copysignbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- copysignbf16_test.cpp
- HDRS
- CopySignTest.h
- DEPENDS
- libc.src.math.copysignbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- frexp_test
- SUITE
- libc-math-smoke-tests
- SRCS
- frexp_test.cpp
- HDRS
- FrexpTest.h
- DEPENDS
- libc.src.math.frexp
-)
-
-add_fp_unittest(
- frexpf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- frexpf_test.cpp
- HDRS
- FrexpTest.h
- DEPENDS
- libc.src.math.frexpf
-)
-
-add_fp_unittest(
- frexpl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- frexpl_test.cpp
- HDRS
- FrexpTest.h
- DEPENDS
- libc.src.math.frexpl
-)
-
-add_fp_unittest(
- frexpf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- frexpf16_test.cpp
- HDRS
- FrexpTest.h
- DEPENDS
- libc.src.math.frexpf16
-)
-
-add_fp_unittest(
- frexpf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- frexpf128_test.cpp
- HDRS
- FrexpTest.h
- DEPENDS
- libc.src.math.frexpf128
-)
-
-add_fp_unittest(
- frexpbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- frexpbf16_test.cpp
- HDRS
- FrexpTest.h
- DEPENDS
- libc.src.math.frexpbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- fromfp_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfp_test.cpp
- HDRS
- FromfpTest.h
- DEPENDS
- libc.src.math.fromfp
-)
-
-add_fp_unittest(
- fromfpf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfpf_test.cpp
- HDRS
- FromfpTest.h
- DEPENDS
- libc.src.math.fromfpf
-)
-
-add_fp_unittest(
- fromfpl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfpl_test.cpp
- HDRS
- FromfpTest.h
- DEPENDS
- libc.src.math.fromfpl
-)
-
-add_fp_unittest(
- fromfpf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfpf16_test.cpp
- HDRS
- FromfpTest.h
- DEPENDS
- libc.src.math.fromfpf16
-)
-
-add_fp_unittest(
- fromfpf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfpf128_test.cpp
- HDRS
- FromfpTest.h
- DEPENDS
- libc.src.math.fromfpf128
-)
-
-add_fp_unittest(
- fromfpbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfpbf16_test.cpp
- HDRS
- FromfpTest.h
- DEPENDS
- libc.src.math.fromfpbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- fromfpx_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfpx_test.cpp
- HDRS
- FromfpxTest.h
- DEPENDS
- libc.src.math.fromfpx
-)
-
-add_fp_unittest(
- fromfpxf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfpxf_test.cpp
- HDRS
- FromfpxTest.h
- DEPENDS
- libc.src.math.fromfpxf
-)
-
-add_fp_unittest(
- fromfpxl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfpxl_test.cpp
- HDRS
- FromfpxTest.h
- DEPENDS
- libc.src.math.fromfpxl
-)
-
-add_fp_unittest(
- fromfpxf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfpxf16_test.cpp
- HDRS
- FromfpxTest.h
- DEPENDS
- libc.src.math.fromfpxf16
-)
-
-add_fp_unittest(
- fromfpxf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfpxf128_test.cpp
- HDRS
- FromfpxTest.h
- DEPENDS
- libc.src.math.fromfpxf128
-)
-
-add_fp_unittest(
- fromfpxbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fromfpxbf16_test.cpp
- HDRS
- FromfpxTest.h
- DEPENDS
- libc.src.math.fromfpxbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-
-add_fp_unittest(
- ufromfp_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfp_test.cpp
- HDRS
- UfromfpTest.h
- DEPENDS
- libc.src.math.ufromfp
-)
-
-add_fp_unittest(
- ufromfpf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfpf_test.cpp
- HDRS
- UfromfpTest.h
- DEPENDS
- libc.src.math.ufromfpf
-)
-
-add_fp_unittest(
- ufromfpl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfpl_test.cpp
- HDRS
- UfromfpTest.h
- DEPENDS
- libc.src.math.ufromfpl
-)
-
-add_fp_unittest(
- ufromfpf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfpf16_test.cpp
- HDRS
- UfromfpTest.h
- DEPENDS
- libc.src.math.ufromfpf16
-)
-
-add_fp_unittest(
- ufromfpf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfpf128_test.cpp
- HDRS
- UfromfpTest.h
- DEPENDS
- libc.src.math.ufromfpf128
-)
-
-add_fp_unittest(
- ufromfpbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfpbf16_test.cpp
- HDRS
- UfromfpTest.h
- DEPENDS
- libc.src.math.ufromfpbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- ufromfpx_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfpx_test.cpp
- HDRS
- UfromfpxTest.h
- DEPENDS
- libc.src.math.ufromfpx
-)
-
-add_fp_unittest(
- ufromfpxf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfpxf_test.cpp
- HDRS
- UfromfpxTest.h
- DEPENDS
- libc.src.math.ufromfpxf
-)
-
-add_fp_unittest(
- ufromfpxl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfpxl_test.cpp
- HDRS
- UfromfpxTest.h
- DEPENDS
- libc.src.math.ufromfpxl
-)
-
-add_fp_unittest(
- ufromfpxf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfpxf16_test.cpp
- HDRS
- UfromfpxTest.h
- DEPENDS
- libc.src.math.ufromfpxf16
-)
-
-add_fp_unittest(
- ufromfpxf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfpxf128_test.cpp
- HDRS
- UfromfpxTest.h
- DEPENDS
- libc.src.math.ufromfpxf128
-)
-
-add_fp_unittest(
- ufromfpxbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ufromfpxbf16_test.cpp
- HDRS
- UfromfpxTest.h
- DEPENDS
- libc.src.math.ufromfpxbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- ilogb_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ilogb_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.ilogb
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- ilogbf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ilogbf_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.ilogbf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- ilogbl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ilogbl_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.ilogbl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- ilogbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ilogbf16_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.ilogbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- ilogbf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ilogbf128_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.ilogbf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- ilogbbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ilogbbf16_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.ilogbbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- issignaling_test
- SUITE
- libc-math-smoke-tests
- SRCS
- issignaling_test.cpp
- HDRS
- IsSignalingTest.h
- DEPENDS
- libc.src.math.issignaling
-)
-
-add_fp_unittest(
- issignalingf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- issignalingf_test.cpp
- HDRS
- IsSignalingTest.h
- DEPENDS
- libc.src.math.issignalingf
-)
-
-add_fp_unittest(
- issignalingl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- issignalingl_test.cpp
- HDRS
- IsSignalingTest.h
- DEPENDS
- libc.src.math.issignalingl
-)
-
-add_fp_unittest(
- issignalingf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- issignalingf16_test.cpp
- HDRS
- IsSignalingTest.h
- DEPENDS
- libc.src.math.issignalingf16
-)
-
-add_fp_unittest(
- issignalingf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- issignalingf128_test.cpp
- HDRS
- IsSignalingTest.h
- DEPENDS
- libc.src.math.issignalingf128
-)
-
-add_fp_unittest(
- issignalingbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- issignalingbf16_test.cpp
- HDRS
- IsSignalingTest.h
- DEPENDS
- libc.src.math.issignalingbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- llogb_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llogb_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.llogb
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- llogbf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llogbf_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.llogbf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- llogbl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llogbl_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.llogbl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- llogbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llogbf16_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.llogbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- llogbf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llogbf128_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.llogbf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- llogbbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- llogbbf16_test.cpp
- HDRS
- ILogbTest.h
- DEPENDS
- libc.src.math.llogbbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- ldexp_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ldexp_test.cpp
- HDRS
- LdExpTest.h
- DEPENDS
- libc.src.math.ldexp
- libc.src.__support.CPP.algorithm
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- ldexpf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ldexpf_test.cpp
- HDRS
- LdExpTest.h
- DEPENDS
- libc.src.math.ldexpf
- libc.src.__support.CPP.algorithm
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- ldexpl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ldexpl_test.cpp
- HDRS
- LdExpTest.h
- DEPENDS
- libc.src.math.ldexpl
- libc.src.__support.CPP.algorithm
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- ldexpf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ldexpf16_test.cpp
- HDRS
- LdExpTest.h
- DEPENDS
- libc.src.math.ldexpf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- ldexpf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ldexpf128_test.cpp
- HDRS
- LdExpTest.h
- DEPENDS
- libc.src.math.ldexpf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- ldexpbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ldexpbf16_test.cpp
- HDRS
- LdExpTest.h
- DEPENDS
- libc.src.math.ldexpbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- logb_test
- SUITE
- libc-math-smoke-tests
- SRCS
- logb_test.cpp
- HDRS
- LogbTest.h
- DEPENDS
- libc.src.math.logb
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- logbf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- logbf_test.cpp
- HDRS
- LogbTest.h
- DEPENDS
- libc.src.math.logbf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- logbl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- logbl_test.cpp
- HDRS
- LogbTest.h
- DEPENDS
- libc.src.math.logbl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- logbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- logbf16_test.cpp
- HDRS
- LogbTest.h
- DEPENDS
- libc.src.math.logbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- logbf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- logbf128_test.cpp
- HDRS
- LogbTest.h
- DEPENDS
- libc.src.math.logbf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- logbbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- logbbf16_test.cpp
- HDRS
- LogbTest.h
- DEPENDS
- libc.src.math.logbbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.manipulation_functions
-)
-
-add_fp_unittest(
- modf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- modf_test.cpp
- HDRS
- ModfTest.h
- DEPENDS
- libc.src.math.modf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.nearest_integer_operations
-)
-
-add_fp_unittest(
- modff_test
- SUITE
- libc-math-smoke-tests
- SRCS
- modff_test.cpp
- HDRS
- ModfTest.h
- DEPENDS
- libc.src.math.modff
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.nearest_integer_operations
-)
-
-add_fp_unittest(
- modfl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- modfl_test.cpp
- HDRS
- ModfTest.h
- DEPENDS
- libc.src.math.modfl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.nearest_integer_operations
-)
-
-add_fp_unittest(
- modff16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- modff16_test.cpp
- HDRS
- ModfTest.h
- DEPENDS
- libc.src.math.modff16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.nearest_integer_operations
-)
-
-add_fp_unittest(
- modff128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- modff128_test.cpp
- HDRS
- ModfTest.h
- DEPENDS
- libc.src.math.modff128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.nearest_integer_operations
-)
-
-add_fp_unittest(
- modfbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- modfbf16_test.cpp
- HDRS
- ModfTest.h
- DEPENDS
- libc.src.math.modfbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.nearest_integer_operations
-)
-
-add_fp_unittest(
- fdimf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fdimf_test.cpp
- HDRS
- FDimTest.h
- DEPENDS
- libc.src.math.fdimf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fdim_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fdim_test.cpp
- HDRS
- FDimTest.h
- DEPENDS
- libc.src.math.fdim
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fdiml_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fdiml_test.cpp
- HDRS
- FDimTest.h
- DEPENDS
- libc.src.math.fdiml
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fdimf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fdimf16_test.cpp
- HDRS
- FDimTest.h
- DEPENDS
- libc.src.math.fdimf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fdimf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fdimf128_test.cpp
- HDRS
- FDimTest.h
- DEPENDS
- libc.src.math.fdimf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fdimbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fdimbf16_test.cpp
- HDRS
- FDimTest.h
- DEPENDS
- libc.src.math.fdimbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminf_test.cpp
- HDRS
- FMinTest.h
- DEPENDS
- libc.src.math.fminf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmin_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmin_test.cpp
- HDRS
- FMinTest.h
- DEPENDS
- libc.src.math.fmin
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminl_test.cpp
- HDRS
- FMinTest.h
- DEPENDS
- libc.src.math.fminl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminf128_test.cpp
- HDRS
- FMinTest.h
- DEPENDS
- libc.src.math.fminf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminf16_test.cpp
- HDRS
- FMinTest.h
- DEPENDS
- libc.src.math.fminf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminbf16_test.cpp
- HDRS
- FMinTest.h
- DEPENDS
- libc.src.math.fminbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaxf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaxf_test.cpp
- HDRS
- FMaxTest.h
- DEPENDS
- libc.src.math.fmaxf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmax_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmax_test.cpp
- HDRS
- FMaxTest.h
- DEPENDS
- libc.src.math.fmax
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaxl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaxl_test.cpp
- HDRS
- FMaxTest.h
- DEPENDS
- libc.src.math.fmaxl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaxf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaxf128_test.cpp
- HDRS
- FMaxTest.h
- DEPENDS
- libc.src.math.fmaxf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaxf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaxf16_test.cpp
- HDRS
- FMaxTest.h
- DEPENDS
- libc.src.math.fmaxf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaxbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaxbf16_test.cpp
- HDRS
- FMaxTest.h
- DEPENDS
- libc.src.math.fmaxbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximuml_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximuml_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fmaximuml
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximumf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximumf16_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fmaximumf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximumf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximumf128_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fmaximumf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fmaximum
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximumf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximumf_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fmaximumf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_numf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_numf_test.cpp
- HDRS
- FMaximumNumTest.h
- DEPENDS
- libc.src.math.fmaximum_numf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximumbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximumbf16_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fmaximumbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_num_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_num_test.cpp
- HDRS
- FMaximumNumTest.h
- DEPENDS
- libc.src.math.fmaximum_num
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_numl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_numl_test.cpp
- HDRS
- FMaximumNumTest.h
- DEPENDS
- libc.src.math.fmaximum_numl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_numf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_numf16_test.cpp
- HDRS
- FMaximumNumTest.h
- DEPENDS
- libc.src.math.fmaximum_numf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_numf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_numf128_test.cpp
- HDRS
- FMaximumNumTest.h
- DEPENDS
- libc.src.math.fmaximum_numf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_numbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_numbf16_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fmaximum_numbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_magf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_magf_test.cpp
- HDRS
- FMaximumMagTest.h
- DEPENDS
- libc.src.math.fmaximum_magf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_mag_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_mag_test.cpp
- HDRS
- FMaximumMagTest.h
- DEPENDS
- libc.src.math.fmaximum_mag
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_magl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_magl_test.cpp
- HDRS
- FMaximumMagTest.h
- DEPENDS
- libc.src.math.fmaximum_magl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_magf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_magf16_test.cpp
- HDRS
- FMaximumMagTest.h
- DEPENDS
- libc.src.math.fmaximum_magf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_magf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_magf128_test.cpp
- HDRS
- FMaximumMagTest.h
- DEPENDS
- libc.src.math.fmaximum_magf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_magbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_magbf16_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fmaximum_magbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_mag_numf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_mag_numf_test.cpp
- HDRS
- FMaximumMagNumTest.h
- DEPENDS
- libc.src.math.fmaximum_mag_numf
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_mag_num_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_mag_num_test.cpp
- HDRS
- FMaximumMagNumTest.h
- DEPENDS
- libc.src.math.fmaximum_mag_num
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_mag_numl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_mag_numl_test.cpp
- HDRS
- FMaximumMagNumTest.h
- DEPENDS
- libc.src.math.fmaximum_mag_numl
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_mag_numf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_mag_numf16_test.cpp
- HDRS
- FMaximumMagNumTest.h
- DEPENDS
- libc.src.math.fmaximum_mag_numf16
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_mag_numf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_mag_numf128_test.cpp
- HDRS
- FMaximumMagNumTest.h
- DEPENDS
- libc.src.math.fmaximum_mag_numf128
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmaximum_mag_numbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaximum_mag_numbf16_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fmaximum_mag_numbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimuml_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimuml_test.cpp
- HDRS
- FMinimumTest.h
- DEPENDS
- libc.src.math.fminimuml
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimumf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimumf16_test.cpp
- HDRS
- FMinimumTest.h
- DEPENDS
- libc.src.math.fminimumf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimumf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimumf128_test.cpp
- HDRS
- FMinimumTest.h
- DEPENDS
- libc.src.math.fminimumf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_test.cpp
- HDRS
- FMinimumTest.h
- DEPENDS
- libc.src.math.fminimum
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimumf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimumf_test.cpp
- HDRS
- FMinimumTest.h
- DEPENDS
- libc.src.math.fminimumf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimumbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimumbf16_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fminimumbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_numf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_numf_test.cpp
- HDRS
- FMinimumNumTest.h
- DEPENDS
- libc.src.math.fminimum_numf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_num_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_num_test.cpp
- HDRS
- FMinimumNumTest.h
- DEPENDS
- libc.src.math.fminimum_num
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_numl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_numl_test.cpp
- HDRS
- FMinimumNumTest.h
- DEPENDS
- libc.src.math.fminimum_numl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_numf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_numf16_test.cpp
- HDRS
- FMinimumNumTest.h
- DEPENDS
- libc.src.math.fminimum_numf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_numf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_numf128_test.cpp
- HDRS
- FMinimumNumTest.h
- DEPENDS
- libc.src.math.fminimum_numf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_numbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_numf16_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fminimum_numf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_magf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_magf_test.cpp
- HDRS
- FMinimumMagTest.h
- DEPENDS
- libc.src.math.fminimum_magf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_mag_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_mag_test.cpp
- HDRS
- FMinimumMagTest.h
- DEPENDS
- libc.src.math.fminimum_mag
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_magl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_magl_test.cpp
- HDRS
- FMinimumMagTest.h
- DEPENDS
- libc.src.math.fminimum_magl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_magf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_magf16_test.cpp
- HDRS
- FMinimumMagTest.h
- DEPENDS
- libc.src.math.fminimum_magf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_magf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_magf128_test.cpp
- HDRS
- FMinimumMagTest.h
- DEPENDS
- libc.src.math.fminimum_magf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_magbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_magbf16_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fminimum_magbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_mag_numf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_mag_numf_test.cpp
- HDRS
- FMinimumMagNumTest.h
- DEPENDS
- libc.src.math.fminimum_mag_numf
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_mag_num_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_mag_num_test.cpp
- HDRS
- FMinimumMagNumTest.h
- DEPENDS
- libc.src.math.fminimum_mag_num
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_mag_numl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_mag_numl_test.cpp
- HDRS
- FMinimumMagNumTest.h
- DEPENDS
- libc.src.math.fminimum_mag_numl
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_mag_numf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_mag_numf16_test.cpp
- HDRS
- FMinimumMagNumTest.h
- DEPENDS
- libc.src.math.fminimum_mag_numf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_mag_numf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_mag_numf128_test.cpp
- HDRS
- FMinimumMagNumTest.h
- DEPENDS
- libc.src.math.fminimum_mag_numf128
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fminimum_mag_numbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fminimum_mag_numbf16_test.cpp
- HDRS
- FMaximumTest.h
- DEPENDS
- libc.src.math.fminimum_mag_numbf16
- libc.src.__support.CPP.algorithm
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmul_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmul_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.__support.FPUtil.basic_operations
- libc.src.math.fmul
-)
-
-add_fp_unittest(
- fmull_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmull_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.__support.FPUtil.basic_operations
- libc.src.math.fmull
-)
-
-add_fp_unittest(
- sqrtf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sqrtf_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrtf
-)
-
-add_fp_unittest(
- sqrt_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sqrt_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrt
-)
-
-add_fp_unittest(
- sqrtl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sqrtl_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrtl
-)
-
-add_fp_unittest(
- rsqrtf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- rsqrtf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.rsqrtf
-)
-
-add_fp_unittest(
- rsqrtf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- rsqrtf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.rsqrtf16
-)
-
-add_fp_unittest(
- sqrtf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sqrtf16_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrtf16
-)
-
-add_fp_unittest(
- sqrtf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sqrtf128_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrtf128
-)
-
-add_fp_unittest(
- sqrtbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sqrtbf16_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.sqrtbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- generic_sqrtf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- generic_sqrtf_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.__support.FPUtil.generic.sqrt
- COMPILE_OPTIONS
- ${libc_opt_high_flag}
-)
-
-add_fp_unittest(
- generic_sqrt_test
- SUITE
- libc-math-smoke-tests
- SRCS
- generic_sqrt_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.__support.FPUtil.generic.sqrt
- COMPILE_OPTIONS
- ${libc_opt_high_flag}
-)
-
-add_fp_unittest(
- generic_sqrtl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- generic_sqrtl_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.__support.FPUtil.generic.sqrt
- COMPILE_OPTIONS
- ${libc_opt_high_flag}
-)
-
-add_fp_unittest(
- generic_sqrtf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- generic_sqrtf128_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- # The dependency on sqrtf128 is used to disable the test when float128
- # support is not available.
- libc.src.math.sqrtf128
- libc.src.__support.FPUtil.generic.sqrt
- COMPILE_OPTIONS
- ${libc_opt_high_flag}
-)
-
-add_fp_unittest(
- remquof_test
- SUITE
- libc-math-smoke-tests
- SRCS
- remquof_test.cpp
- HDRS
- RemQuoTest.h
- DEPENDS
- libc.src.math.remquof
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- remquof128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- remquof128_test.cpp
- HDRS
- RemQuoTest.h
- DEPENDS
- libc.src.math.remquof128
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- remquo_test
- SUITE
- libc-math-smoke-tests
- SRCS
- remquo_test.cpp
- HDRS
- RemQuoTest.h
- DEPENDS
- libc.src.math.remquo
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- remquol_test
- SUITE
- libc-math-smoke-tests
- SRCS
- remquol_test.cpp
- HDRS
- RemQuoTest.h
- DEPENDS
- libc.src.math.remquol
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- remquof16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- remquof16_test.cpp
- HDRS
- RemQuoTest.h
- DEPENDS
- libc.src.math.remquof16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- remquobf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- remquobf16_test.cpp
- HDRS
- RemQuoTest.h
- DEPENDS
- libc.src.math.remquobf16
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- hypotf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- hypotf_test.cpp
- HDRS
- HypotTest.h
- DEPENDS
- libc.src.math.hypotf
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.macros.properties.architectures
-)
-
-add_fp_unittest(
- hypotf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- hypotf16_test.cpp
- HDRS
- HypotTest.h
- DEPENDS
- libc.src.math.hypotf16
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- hypot_test
- SUITE
- libc-math-smoke-tests
- SRCS
- hypot_test.cpp
- HDRS
- HypotTest.h
- DEPENDS
- libc.src.math.hypot
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.macros.properties.architectures
-)
-
-add_fp_unittest(
- nanf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nanf_test.cpp
- DEPENDS
- libc.hdr.signal_macros
- libc.src.math.nanf
- libc.src.__support.FPUtil.fp_bits
- # FIXME: The nan tests currently have death tests, which aren't supported for
- # hermetic tests.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- nan_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nan_test.cpp
- DEPENDS
- libc.hdr.signal_macros
- libc.src.math.nan
- libc.src.__support.FPUtil.fp_bits
- # FIXME: The nan tests currently have death tests, which aren't supported for
- # hermetic tests.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- nanl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nanl_test.cpp
- DEPENDS
- libc.hdr.signal_macros
- libc.src.math.nanl
- libc.src.__support.FPUtil.fp_bits
- # FIXME: The nan tests currently have death tests, which aren't supported for
- # hermetic tests.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- nanf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nanf16_test.cpp
- DEPENDS
- libc.hdr.signal_macros
- libc.src.math.nanf16
- libc.src.__support.FPUtil.fp_bits
- # FIXME: The nan tests currently have death tests, which aren't supported for
- # hermetic tests.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- nanf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nanf128_test.cpp
- DEPENDS
- libc.hdr.signal_macros
- libc.src.math.nanf128
- libc.src.__support.FPUtil.fp_bits
- # FIXME: The nan tests currently have death tests, which aren't supported for
- # hermetic tests.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- nanbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nanbf16_test.cpp
- DEPENDS
- libc.hdr.signal_macros
- libc.src.math.nanbf16
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
- # FIXME: The nan tests currently have death tests, which aren't supported for
- # hermetic tests.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- nearbyint_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nearbyint_test.cpp
- HDRS
- NearbyIntTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nearbyint
-)
-
-add_fp_unittest(
- nearbyintf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nearbyintf_test.cpp
- HDRS
- NearbyIntTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nearbyintf
-)
-
-add_fp_unittest(
- nearbyintl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nearbyintl_test.cpp
- HDRS
- NearbyIntTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nearbyintl
-)
-
-add_fp_unittest(
- nearbyintf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nearbyintf16_test.cpp
- HDRS
- NearbyIntTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nearbyintf16
-)
-
-add_fp_unittest(
- nearbyintf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nearbyintf128_test.cpp
- HDRS
- NearbyIntTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nearbyintf128
-)
-
-add_fp_unittest(
- nearbyintbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nearbyintbf16_test.cpp
- HDRS
- NearbyIntTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nearbyintbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- nextafter_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextafter_test.cpp
- HDRS
- NextAfterTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nextafter
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nextafterf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextafterf_test.cpp
- HDRS
- NextAfterTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nextafterf
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nextafterl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextafterl_test.cpp
- HDRS
- NextAfterTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nextafterl
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nextafterf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextafterf16_test.cpp
- HDRS
- NextAfterTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nextafterf16
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nextafterf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextafterf128_test.cpp
- HDRS
- NextAfterTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nextafterf128
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nextafterbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextafterbf16_test.cpp
- HDRS
- NextAfterTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nextafterbf16
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-# FIXME: These tests are currently spurious for the GPU.
-if(NOT LIBC_TARGET_OS_IS_GPU)
- add_fp_unittest(
- nexttoward_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nexttoward_test.cpp
- HDRS
- NextTowardTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nexttoward
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
- )
-
- add_fp_unittest(
- nexttowardf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nexttowardf_test.cpp
- HDRS
- NextTowardTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nexttowardf
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
- )
-endif()
-
-add_fp_unittest(
- nexttowardl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nexttowardl_test.cpp
- HDRS
- NextTowardTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nexttowardl
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nexttowardf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nexttowardf16_test.cpp
- HDRS
- NextTowardTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nexttowardf16
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nexttowardbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nexttowardbf16_test.cpp
- HDRS
- NextTowardTest.h
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.nexttowardbf16
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- nextdown_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextdown_test.cpp
- HDRS
- NextDownTest.h
- DEPENDS
- libc.src.math.nextdown
-)
-
-add_fp_unittest(
- nextdownf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextdownf_test.cpp
- HDRS
- NextDownTest.h
- DEPENDS
- libc.src.math.nextdownf
-)
-
-add_fp_unittest(
- nextdownl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextdownl_test.cpp
- HDRS
- NextDownTest.h
- DEPENDS
- libc.src.math.nextdownl
-)
-
-add_fp_unittest(
- nextdownf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextdownf16_test.cpp
- HDRS
- NextDownTest.h
- DEPENDS
- libc.src.math.nextdownf16
-)
-
-add_fp_unittest(
- nextdownf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextdownf128_test.cpp
- HDRS
- NextDownTest.h
- DEPENDS
- libc.src.math.nextdownf128
-)
-
-add_fp_unittest(
- nextdownbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextdownbf16_test.cpp
- HDRS
- NextDownTest.h
- DEPENDS
- libc.src.math.nextdownbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- nextup_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextup_test.cpp
- HDRS
- NextUpTest.h
- DEPENDS
- libc.src.math.nextup
-)
-
-add_fp_unittest(
- nextupf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextupf_test.cpp
- HDRS
- NextUpTest.h
- DEPENDS
- libc.src.math.nextupf
-)
-
-add_fp_unittest(
- nextupl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextupl_test.cpp
- HDRS
- NextUpTest.h
- DEPENDS
- libc.src.math.nextupl
-)
-
-add_fp_unittest(
- nextupf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextupf16_test.cpp
- HDRS
- NextUpTest.h
- DEPENDS
- libc.src.math.nextupf16
-)
-
-add_fp_unittest(
- nextupf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextupf128_test.cpp
- HDRS
- NextUpTest.h
- DEPENDS
- libc.src.math.nextupf128
-)
-
-add_fp_unittest(
- nextupbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- nextupbf16_test.cpp
- HDRS
- NextUpTest.h
- DEPENDS
- libc.src.math.nextupbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-# TODO(lntue): The current implementation of fputil::general::fma<float> is only
-# correctly rounded for the default rounding mode round-to-nearest tie-to-even.
-add_fp_unittest(
- fmaf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaf_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.fmaf
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- fmaf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmaf16_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.fmaf16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- fmabf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmabf16_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.fmabf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- fma_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fma_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.fma
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- expm1_test
- SUITE
- libc-math-smoke-tests
- SRCS
- expm1_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.expm1
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- expm1f_test
- SUITE
- libc-math-smoke-tests
- SRCS
- expm1f_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.expm1f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- expm1f16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- expm1f16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.expm1f16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- log_test
- SUITE
- libc-math-smoke-tests
- SRCS
- log_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.log
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- logf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- logf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.logf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- logf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- logf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.logf16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- log_bf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- log_bf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.log_bf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- log2_test
- SUITE
- libc-math-smoke-tests
- SRCS
- log2_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.log2
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- log2f_test
- SUITE
- libc-math-smoke-tests
- SRCS
- log2f_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.log2f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- log2f16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- log2f16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.log2f16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- log10_test
- SUITE
- libc-math-smoke-tests
- SRCS
- log10_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.log10
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- log10f_test
- SUITE
- libc-math-smoke-tests
- SRCS
- log10f_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.log10f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- log10f16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- log10f16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.log10f16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- log1p_test
- SUITE
- libc-math-smoke-tests
- SRCS
- log1p_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.log1p
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- log1pf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- log1pf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.log1pf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- fmodf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmodf_test.cpp
- HDRS
- FModTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fmodf
- libc.src.__support.FPUtil.fenv_impl
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- fmod_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmod_test.cpp
- HDRS
- FModTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fmod
- libc.src.__support.FPUtil.fenv_impl
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- fmodl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmodl_test.cpp
- HDRS
- FModTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fmodl
- libc.src.__support.FPUtil.fenv_impl
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- fmodf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmodf16_test.cpp
- HDRS
- FModTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fmodf16
- libc.src.__support.FPUtil.fenv_impl
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- fmodf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmodf128_test.cpp
- HDRS
- FModTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fmodf128
- libc.src.__support.FPUtil.fenv_impl
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- fmodbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fmodbf16_test.cpp
- HDRS
- FModTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fmodbf16
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fenv_impl
- UNIT_TEST_ONLY
-)
-
-add_fp_unittest(
- coshf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- coshf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.coshf
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- coshf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- coshf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.coshf16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- sinhf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sinhf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.sinhf
- libc.src.__support.CPP.array
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- sinhf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sinhf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.sinhf16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- tanhf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- tanhf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.tanhf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- tanhf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- tanhf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.tanhf16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- atanhf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- atanhf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.atanhf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- atanhf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- atanhf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.atanhf16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- atanpif16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- atanpif16_test.cpp
- DEPENDS
- libc.src.math.atanpif16
-)
-
-add_fp_unittest(
- asinhf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- asinhf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.asinhf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- asinhf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- asinhf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.asinhf16
-)
-
-add_fp_unittest(
- asinpif16_test
- NEED_MPFR
- SUITE
- libc-math-unittests
- SRCS
- asinpif16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.asinpif16
-)
-
-add_fp_unittest(
- acoshf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- acoshf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.acoshf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- acoshf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- acoshf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.acoshf16
- libc.src.__support.FPUtil.cast
-)
-
-add_fp_unittest(
- asinf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- asinf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.asinf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- asin_test
- SUITE
- libc-math-smoke-tests
- SRCS
- asin_test.cpp
- DEPENDS
- libc.src.math.asin
-)
-
-add_fp_unittest(
- asinf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- asinf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.asinf16
-)
-
-add_fp_unittest(
- acosf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- acosf_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.acosf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- acos_test
- SUITE
- libc-math-smoke-tests
- SRCS
- acos_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.acos
-)
-
-add_fp_unittest(
- acosf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- acosf16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.acosf16
-)
-
-add_fp_unittest(
- acospif16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- acospif16_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.acospif16
-)
-
-add_fp_unittest(
- atanf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- atanf_test.cpp
- DEPENDS
- libc.src.math.atanf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- atan_test
- SUITE
- libc-math-smoke-tests
- SRCS
- atan_test.cpp
- DEPENDS
- libc.src.math.atan
-)
-
-add_fp_unittest(
- atanf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- atanf16_test.cpp
- DEPENDS
- libc.src.math.atanf16
-)
-
-add_fp_unittest(
- atan2f_test
- SUITE
- libc-math-smoke-tests
- SRCS
- atan2f_test.cpp
- DEPENDS
- libc.src.math.atan2f
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- atan2_test
- SUITE
- libc-math-smoke-tests
- SRCS
- atan2_test.cpp
- DEPENDS
- libc.src.math.atan2
-)
-
-add_fp_unittest(
- atan2f128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- atan2f128_test.cpp
- DEPENDS
- libc.src.math.atan2f128
-)
-
-add_fp_unittest(
- scalbln_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalbln_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalbln
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalblnf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalblnf_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalblnf
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalblnl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalblnl_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalblnl
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalblnf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalblnf16_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalblnf16
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalblnf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalblnf128_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalblnf128
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalblnbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalblnbf16_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalblnbf16
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalbn_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalbn_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalbn
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalbnf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalbnf_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalbnf
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalbnl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalbnl_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalbnl
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalbnf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalbnf16_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalbnf16
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalbnf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalbnf128_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalbnf128
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- scalbnbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- scalbnbf16_test.cpp
- HDRS
- ScalbnTest.h
- DEPENDS
- libc.src.math.scalbnbf16
- libc.src.__support.CPP.limits
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.normal_float
-)
-
-add_fp_unittest(
- erff_test
- SUITE
- libc-math-smoke-tests
- SRCS
- erff_test.cpp
- DEPENDS
- libc.src.math.erff
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- pow_test
- SUITE
- libc-math-smoke-tests
- SRCS
- pow_test.cpp
- DEPENDS
- libc.hdr.fenv_macros
- libc.src.math.pow
-)
-
-add_fp_unittest(
- powf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- powf_test.cpp
- DEPENDS
- libc.src.math.powf
- libc.src.__support.FPUtil.fp_bits
-)
-
-add_fp_unittest(
- totalorder_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalorder_test.cpp
- HDRS
- TotalOrderTest.h
- DEPENDS
- libc.src.math.totalorder
-)
-
-add_fp_unittest(
- totalorderf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalorderf_test.cpp
- HDRS
- TotalOrderTest.h
- DEPENDS
- libc.src.math.totalorderf
-)
-
-add_fp_unittest(
- totalorderl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalorderl_test.cpp
- HDRS
- TotalOrderTest.h
- DEPENDS
- libc.src.math.totalorderl
-)
-
-add_fp_unittest(
- totalorderf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalorderf16_test.cpp
- HDRS
- TotalOrderTest.h
- DEPENDS
- libc.src.math.totalorderf16
-)
-
-add_fp_unittest(
- totalorderf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalorderf128_test.cpp
- HDRS
- TotalOrderTest.h
- DEPENDS
- libc.src.math.totalorderf128
-)
-
-add_fp_unittest(
- totalorderbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalorderbf16_test.cpp
- HDRS
- TotalOrderTest.h
- DEPENDS
- libc.src.math.totalorderbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- totalordermag_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalordermag_test.cpp
- HDRS
- TotalOrderMagTest.h
- DEPENDS
- libc.src.math.totalordermag
-)
-
-add_fp_unittest(
- totalordermagf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalordermagf_test.cpp
- HDRS
- TotalOrderMagTest.h
- DEPENDS
- libc.src.math.totalordermagf
-)
-
-add_fp_unittest(
- totalordermagl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalordermagl_test.cpp
- HDRS
- TotalOrderMagTest.h
- DEPENDS
- libc.src.math.totalordermagl
-)
-
-add_fp_unittest(
- totalordermagf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalordermagf16_test.cpp
- HDRS
- TotalOrderMagTest.h
- DEPENDS
- libc.src.math.totalordermagf16
-)
-
-add_fp_unittest(
- totalordermagf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalordermagf128_test.cpp
- HDRS
- TotalOrderMagTest.h
- DEPENDS
- libc.src.math.totalordermagf128
-)
-
-add_fp_unittest(
- totalordermagbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- totalordermagbf16_test.cpp
- HDRS
- TotalOrderMagTest.h
- DEPENDS
- libc.src.math.totalordermagbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- getpayload_test
- SUITE
- libc-math-smoke-tests
- SRCS
- getpayload_test.cpp
- HDRS
- GetPayloadTest.h
- DEPENDS
- libc.src.math.getpayload
-)
-
-add_fp_unittest(
- getpayloadf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- getpayloadf_test.cpp
- HDRS
- GetPayloadTest.h
- DEPENDS
- libc.src.math.getpayloadf
-)
-
-add_fp_unittest(
- getpayloadl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- getpayloadl_test.cpp
- HDRS
- GetPayloadTest.h
- DEPENDS
- libc.src.math.getpayloadl
-)
-
-add_fp_unittest(
- getpayloadf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- getpayloadf16_test.cpp
- HDRS
- GetPayloadTest.h
- DEPENDS
- libc.src.math.getpayloadf16
-)
-
-add_fp_unittest(
- getpayloadf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- getpayloadf128_test.cpp
- HDRS
- GetPayloadTest.h
- DEPENDS
- libc.src.math.getpayloadf128
-)
-
-add_fp_unittest(
- getpayloadbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- getpayloadbf16_test.cpp
- HDRS
- GetPayloadTest.h
- DEPENDS
- libc.src.math.getpayloadbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- setpayload_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayload_test.cpp
- HDRS
- SetPayloadTest.h
- DEPENDS
- libc.src.math.setpayload
-)
-
-add_fp_unittest(
- setpayloadf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayloadf_test.cpp
- HDRS
- SetPayloadTest.h
- DEPENDS
- libc.src.math.setpayloadf
-)
-
-add_fp_unittest(
- setpayloadl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayloadl_test.cpp
- HDRS
- SetPayloadTest.h
- DEPENDS
- libc.src.math.setpayloadl
-)
-
-add_fp_unittest(
- setpayloadf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayloadf16_test.cpp
- HDRS
- SetPayloadTest.h
- DEPENDS
- libc.src.math.setpayloadf16
-)
-
-add_fp_unittest(
- setpayloadf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayloadf128_test.cpp
- HDRS
- SetPayloadTest.h
- DEPENDS
- libc.src.math.setpayloadf128
-)
-
-add_fp_unittest(
- setpayloadbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayloadbf16_test.cpp
- HDRS
- SetPayloadTest.h
- DEPENDS
- libc.src.math.setpayloadbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- setpayloadsig_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayloadsig_test.cpp
- HDRS
- SetPayloadSigTest.h
- DEPENDS
- libc.src.math.setpayloadsig
-)
-
-add_fp_unittest(
- setpayloadsigf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayloadsigf_test.cpp
- HDRS
- SetPayloadSigTest.h
- DEPENDS
- libc.src.math.setpayloadsigf
-)
-
-add_fp_unittest(
- setpayloadsigl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayloadsigl_test.cpp
- HDRS
- SetPayloadSigTest.h
- DEPENDS
- libc.src.math.setpayloadsigl
-)
-
-add_fp_unittest(
- setpayloadsigf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayloadsigf16_test.cpp
- HDRS
- SetPayloadSigTest.h
- DEPENDS
- libc.src.math.setpayloadsigf16
-)
-
-add_fp_unittest(
- setpayloadsigf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayloadsigf128_test.cpp
- HDRS
- SetPayloadSigTest.h
- DEPENDS
- libc.src.math.setpayloadsigf128
-)
-
-add_fp_unittest(
- setpayloadsigbf16_test
- SUITE
- libc-math-smoke-tests
- SRCS
- setpayloadsigbf16_test.cpp
- HDRS
- SetPayloadTest.h
- DEPENDS
- libc.src.math.setpayloadsigbf16
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- f16add_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16add_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16add
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- f16addf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16addf_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16addf
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- f16addl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16addl_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16addl
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- f16addf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16addf128_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16addf128
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- f16sub_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16sub_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16sub
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- f16subf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16subf_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16subf
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- f16subl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16subl_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16subl
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- f16subf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16subf128_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16subf128
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- f16div_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16div_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16div
-)
-
-add_fp_unittest(
- f16divf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16divf_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16divf
-)
-
-add_fp_unittest(
- f16divl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16divl_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16divl
-)
-
-add_fp_unittest(
- f16divf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16divf128_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.f16divf128
-)
-
-add_fp_unittest(
- f16fma_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16fma_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.f16fma
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- f16fmaf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16fmaf_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.f16fmaf
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- f16fmal_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16fmal_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.f16fmal
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- f16fmaf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16fmaf128_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.f16fmaf128
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- f16sqrt_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16sqrt_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.f16sqrt
-)
-
-add_fp_unittest(
- f16sqrtf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16sqrtf_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.f16sqrtf
-)
-
-add_fp_unittest(
- f16sqrtl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16sqrtl_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.f16sqrtl
-)
-
-add_fp_unittest(
- f16sqrtf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16sqrtf128_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.f16sqrtf128
-)
-
-add_fp_unittest(
- fdiv_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fdiv_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fdiv
-)
-
-add_fp_unittest(
- fdivl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fdivl_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fdivl
-)
-
-add_fp_unittest(
- fdivf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fdivf128_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fdivf128
-)
-
-add_fp_unittest(
- ffma_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ffma_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.ffma
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- ffmal_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ffmal_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.ffmal
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- ffmaf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ffmaf128_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.src.math.ffmaf128
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- fsqrt_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fsqrt_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.fsqrt
-)
-
-
-add_fp_unittest(
- fsqrtl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fsqrtl_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.fsqrtl
-)
-
-add_fp_unittest(
- fsqrtf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fsqrtf128_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.fsqrtf128
-)
-
-add_fp_unittest(
- fsub_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fsub_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fsub
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- fsubl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fsubl_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fsubl
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- fsubf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- fsubf128_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.fsubf128
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- dsqrtl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- dsqrtl_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.dsqrtl
-)
-
-add_fp_unittest(
- dsqrtf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- dsqrtf128_test.cpp
- HDRS
- SqrtTest.h
- DEPENDS
- libc.src.math.dsqrtf128
-)
-
-add_fp_unittest(
- sin_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sin_test.cpp
- DEPENDS
- libc.src.math.sin
-)
-
-add_fp_unittest(
- cos_test
- SUITE
- libc-math-smoke-tests
- SRCS
- cos_test.cpp
- DEPENDS
- libc.src.math.cos
-)
-
-add_fp_unittest(
- sincos_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sincos_test.cpp
- DEPENDS
- libc.hdr.errno_macros
- libc.src.math.sincos
-)
-
-add_fp_unittest(
- tan_test
- SUITE
- libc-math-smoke-tests
- SRCS
- tan_test.cpp
- DEPENDS
- libc.src.math.tan
-)
-
-add_fp_unittest(
- cbrtf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- cbrtf_test.cpp
- DEPENDS
- libc.src.math.cbrtf
-)
-
-add_fp_unittest(
- cbrt_test
- SUITE
- libc-math-smoke-tests
- SRCS
- cbrt_test.cpp
- DEPENDS
- libc.src.math.cbrt
-)
-
-add_fp_unittest(
- dmull_test
- SUITE
- libc-math-smoke-tests
- SRCS
- dmull_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.__support.FPUtil.basic_operations
- libc.src.math.dmull
-)
-
-add_fp_unittest(
- f16mul_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16mul_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.__support.FPUtil.basic_operations
- libc.src.math.f16mul
-)
-
-add_fp_unittest(
- f16mulf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16mulf_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.__support.FPUtil.basic_operations
- libc.src.math.f16mulf
-)
-
-add_fp_unittest(
- f16mull_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16mull_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.__support.FPUtil.basic_operations
- libc.src.math.f16mull
-)
-
-add_fp_unittest(
- f16mulf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- f16mulf128_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.__support.FPUtil.basic_operations
- libc.src.math.f16mulf128
-)
-
-add_fp_unittest(
- daddl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- daddl_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.daddl
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- daddf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- daddf128_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.daddf128
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- ddivl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ddivl_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.ddivl
-)
-
-add_fp_unittest(
- ddivf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- ddivf128_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.math.ddivf128
-)
-
-add_fp_unittest(
- bfloat16_add_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bfloat16_add_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.generic.add_sub
- libc.src.__support.macros.properties.os
- libc.src.__support.macros.properties.types
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
-)
-
-add_fp_unittest(
- bfloat16_div_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bfloat16_div_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.src.__support.FPUtil.bfloat16
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
-)
-
-add_fp_unittest(
- bfloat16_mul_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bfloat16_mul_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.src.__support.FPUtil.basic_operations
- libc.src.__support.FPUtil.bfloat16
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
-)
-
-add_fp_unittest(
- bfloat16_sub_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bfloat16_sub_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.generic.add_sub
- libc.src.__support.macros.properties.os
- libc.src.__support.macros.properties.types
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
-)
-
-add_fp_unittest(
- add_same_type_test
- SUITE
- libc-math-smoke-tests
- SRCS
- add_same_type_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.__support.FPUtil.generic.add_sub
- libc.src.__support.macros.properties.os
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- sub_same_type_test
- SUITE
- libc-math-smoke-tests
- SRCS
- sub_same_type_test.cpp
- HDRS
- SubTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.__support.FPUtil.generic.add_sub
- libc.src.__support.macros.properties.os
- libc.src.__support.macros.properties.types
-)
-
-add_fp_unittest(
- bf16add_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16add_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16add
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- bf16addf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16addf_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16addf
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- bf16addl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16addl_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16addl
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- bf16addf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16addf128_test.cpp
- HDRS
- AddTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16addf128
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.macros.properties.os
-)
-
-add_fp_unittest(
- bf16fma_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16fma_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16fma
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16fmaf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16fmaf_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16fmaf
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16fmal_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16fmal_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16fmal
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16fmaf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16fmaf128_test.cpp
- HDRS
- FmaTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16fmaf128
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16div_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16div_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16div
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16divf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16divf_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16divf
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16divl_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16divl_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16divl
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16divf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16divf128_test.cpp
- HDRS
- DivTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16divf128
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16mul_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16mul_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16mul
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16mulf_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16mulf_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16mulf
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16mull_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16mull_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16mull
- libc.src.__support.FPUtil.bfloat16
-)
-
-add_fp_unittest(
- bf16mulf128_test
- SUITE
- libc-math-smoke-tests
- SRCS
- bf16mulf128_test.cpp
- HDRS
- MulTest.h
- DEPENDS
- libc.hdr.errno_macros
- libc.hdr.fenv_macros
- libc.src.math.bf16mulf128
- libc.src.__support.FPUtil.bfloat16
-)
-
-
add_fp_unittest(
bf16sub_test
SUITE
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.cpp b/libc/utils/MPFRWrapper/MPFRUtils.cpp
index a7d307b47c3e8..4c5c891bcfe9a 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.cpp
+++ b/libc/utils/MPFRWrapper/MPFRUtils.cpp
@@ -496,6 +496,8 @@ explain_ternary_operation_one_output_error(Operation,
float16, double, RoundingMode);
#endif
+template void explain_ternary_operation_one_output_error(
+ Operation, const TernaryInput<bfloat16> &, bfloat16, double, RoundingMode);
template void explain_ternary_operation_one_output_error(
Operation, const TernaryInput<float> &, bfloat16, double, RoundingMode);
template void explain_ternary_operation_one_output_error(
@@ -762,6 +764,9 @@ compare_ternary_operation_one_output(Operation,
double, RoundingMode);
#endif
+template bool
+compare_ternary_operation_one_output(Operation, const TernaryInput<bfloat16> &,
+ bfloat16, double, RoundingMode);
template bool compare_ternary_operation_one_output(Operation,
const TernaryInput<float> &,
bfloat16, double,
>From 0b64c4896e1682b81864c1f7be9b7b911efd6d45 Mon Sep 17 00:00:00 2001
From: Sukumarsawant <sawantsukumar at gmail.com>
Date: Tue, 10 Mar 2026 13:22:15 +0530
Subject: [PATCH 3/4] chore: make the function header-only
cmake
removed
removed
clang
---
libc/shared/math.h | 1 +
libc/shared/math/fmabf16.h | 23 ++++
libc/src/__support/math/CMakeLists.txt | 11 ++
libc/src/__support/math/fmabf16.h | 27 +++++
libc/src/math/generic/CMakeLists.txt | 6 +-
libc/src/math/generic/fmabf16.cpp | 7 +-
libc/test/shared/CMakeLists.txt | 1 +
libc/test/shared/shared_math_test.cpp | 3 +
libc/test/src/math/CMakeLists.txt | 9 +-
libc/test/src/math/exhaustive/CMakeLists.txt | 17 ---
.../test/src/math/exhaustive/fmabf16_test.cpp | 105 ------------------
libc/test/src/math/fmabf16_test.cpp | 2 +-
libc/test/src/math/smoke/CMakeLists.txt | 1 +
.../llvm-project-overlay/libc/BUILD.bazel | 18 +++
14 files changed, 93 insertions(+), 138 deletions(-)
create mode 100644 libc/shared/math/fmabf16.h
create mode 100644 libc/src/__support/math/fmabf16.h
delete mode 100644 libc/test/src/math/exhaustive/fmabf16_test.cpp
diff --git a/libc/shared/math.h b/libc/shared/math.h
index ede0ebd5371ac..bd70a8335a96f 100644
--- a/libc/shared/math.h
+++ b/libc/shared/math.h
@@ -132,6 +132,7 @@
#include "math/floorf128.h"
#include "math/floorf16.h"
#include "math/floorl.h"
+#include "math/fmabf16.h"
#include "math/fmax.h"
#include "math/fmaxbf16.h"
#include "math/fmaxf.h"
diff --git a/libc/shared/math/fmabf16.h b/libc/shared/math/fmabf16.h
new file mode 100644
index 0000000000000..c9c467706c1c7
--- /dev/null
+++ b/libc/shared/math/fmabf16.h
@@ -0,0 +1,23 @@
+//===-- Shared fmabf16 function ---------------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SHARED_MATH_FMABF16_H
+#define LLVM_LIBC_SHARED_MATH_FMABF16_H
+
+#include "shared/libc_common.h"
+#include "src/__support/math/fmabf16.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace shared {
+
+using math::fmabf16;
+
+} // namespace shared
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SHARED_MATH_FMABF16_H
diff --git a/libc/src/__support/math/CMakeLists.txt b/libc/src/__support/math/CMakeLists.txt
index 0df8262cfb5f2..edf4d7635d85e 100644
--- a/libc/src/__support/math/CMakeLists.txt
+++ b/libc/src/__support/math/CMakeLists.txt
@@ -1235,6 +1235,17 @@ add_header_library(
libc.src.__support.macros.config
)
+add_header_library(
+ fmabf16
+ HDRS
+ fmabf16.h
+ DEPENDS
+ libc.src.__support.FPUtil.fma
+ libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.common
+ libc.src.__support.macros.config
+)
+
add_header_library(
floor
HDRS
diff --git a/libc/src/__support/math/fmabf16.h b/libc/src/__support/math/fmabf16.h
new file mode 100644
index 0000000000000..f69de4bbd9842
--- /dev/null
+++ b/libc/src/__support/math/fmabf16.h
@@ -0,0 +1,27 @@
+//===-- Implementation header for fmabf16 ----------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC___SUPPORT_MATH_FMABF16_H
+#define LLVM_LIBC_SRC___SUPPORT_MATH_FMABF16_H
+
+#include "src/__support/FPUtil/FMA.h"
+#include "src/__support/FPUtil/bfloat16.h"
+#include "src/__support/common.h"
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace math {
+
+LIBC_INLINE bfloat16 fmabf16(bfloat16 x, bfloat16 y, bfloat16 z) {
+ return fputil::fma<bfloat16>(x, y, z);
+}
+
+} // namespace math
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC___SUPPORT_MATH_FMAXBF16_H
diff --git a/libc/src/math/generic/CMakeLists.txt b/libc/src/math/generic/CMakeLists.txt
index 77200921d982d..d6a2091d819f5 100644
--- a/libc/src/math/generic/CMakeLists.txt
+++ b/libc/src/math/generic/CMakeLists.txt
@@ -4378,11 +4378,7 @@ add_entrypoint_object(
HDRS
../fmabf16.h
DEPENDS
- libc.src.__support.common
- libc.src.__support.FPUtil.bfloat16
- libc.src.__support.FPUtil.fma
- libc.src.__support.macros.config
- libc.src.__support.macros.properties.types
+ libc.src.__support.math.fmabf16
)
add_entrypoint_object(
diff --git a/libc/src/math/generic/fmabf16.cpp b/libc/src/math/generic/fmabf16.cpp
index ab221dd19ac8d..495817ce1bd6d 100644
--- a/libc/src/math/generic/fmabf16.cpp
+++ b/libc/src/math/generic/fmabf16.cpp
@@ -7,15 +7,12 @@
//===----------------------------------------------------------------------===//
#include "src/math/fmabf16.h"
-#include "src/__support/FPUtil/FMA.h"
-#include "src/__support/FPUtil/bfloat16.h"
-#include "src/__support/common.h"
-#include "src/__support/macros/config.h"
+#include "src/__support/math/fmabf16.h"
namespace LIBC_NAMESPACE_DECL {
LLVM_LIBC_FUNCTION(bfloat16, fmabf16, (bfloat16 x, bfloat16 y, bfloat16 z)) {
- return fputil::fma<bfloat16>(x, y, z);
+ return math::fmabf16(x, y, z);
}
} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/shared/CMakeLists.txt b/libc/test/shared/CMakeLists.txt
index c90e5687d8c33..73da792b75f45 100644
--- a/libc/test/shared/CMakeLists.txt
+++ b/libc/test/shared/CMakeLists.txt
@@ -129,6 +129,7 @@ add_fp_unittest(
libc.src.__support.math.floorf128
libc.src.__support.math.floorf16
libc.src.__support.math.floorl
+ libc.src.__support.math.fmabf16
libc.src.__support.math.fmax
libc.src.__support.math.fmaxbf16
libc.src.__support.math.fmaxf
diff --git a/libc/test/shared/shared_math_test.cpp b/libc/test/shared/shared_math_test.cpp
index 17045ce5edfdb..c2fa5f1eadd57 100644
--- a/libc/test/shared/shared_math_test.cpp
+++ b/libc/test/shared/shared_math_test.cpp
@@ -427,6 +427,9 @@ TEST(LlvmLibcSharedMathTest, AllBFloat16) {
EXPECT_FP_EQ(bfloat16(0.0), LIBC_NAMESPACE::shared::floorbf16(bfloat16(0.0)));
EXPECT_FP_EQ(bfloat16(0.0),
LIBC_NAMESPACE::shared::fdimbf16(bfloat16(0.0), bfloat16(0.0)));
+ EXPECT_FP_EQ(bfloat16(10.0),
+ LIBC_NAMESPACE::shared::fmabf16(bfloat16(2.0), bfloat16(3.0),
+ bfloat16(4.0)));
EXPECT_FP_EQ(bfloat16(0.0),
LIBC_NAMESPACE::shared::fmaxbf16(bfloat16(0.0), bfloat16(0.0)));
diff --git a/libc/test/src/math/CMakeLists.txt b/libc/test/src/math/CMakeLists.txt
index e8e80487de9f2..a36538775d7d9 100644
--- a/libc/test/src/math/CMakeLists.txt
+++ b/libc/test/src/math/CMakeLists.txt
@@ -2013,17 +2013,16 @@ add_fp_unittest(
)
add_fp_unittest(
- fma_test
+ fmabf16_test
NEED_MPFR
SUITE
libc-math-unittests
SRCS
- fma_test.cpp
- HDRS
- FmaTest.h
+ fmabf16_test.cpp
DEPENDS
- libc.src.__support.FPUtil.bfloat16
libc.src.math.fmabf16
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.bfloat16
)
add_fp_unittest(
diff --git a/libc/test/src/math/exhaustive/CMakeLists.txt b/libc/test/src/math/exhaustive/CMakeLists.txt
index 66c183b736d92..a21e208312c56 100644
--- a/libc/test/src/math/exhaustive/CMakeLists.txt
+++ b/libc/test/src/math/exhaustive/CMakeLists.txt
@@ -293,23 +293,6 @@ add_fp_unittest(
-lpthread
)
-add_fp_unittest(
- fmabf16_test
- NO_RUN_POSTBUILD
- NEED_MPFR
- SUITE
- libc_math_exhaustive_tests
- SRCS
- fmabf16_test.cpp
- DEPENDS
- .exhaustive_test
- libc.src.math.fmabf16
- libc.src.__support.FPUtil.fp_bits
- libc.src.__support.FPUtil.bfloat16
- LINK_LIBRARIES
- -lpthread
-)
-
add_fp_unittest(
logf_test
NO_RUN_POSTBUILD
diff --git a/libc/test/src/math/exhaustive/fmabf16_test.cpp b/libc/test/src/math/exhaustive/fmabf16_test.cpp
deleted file mode 100644
index dce60d0594108..0000000000000
--- a/libc/test/src/math/exhaustive/fmabf16_test.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-//===-- Exhaustive test for fmabf16 -------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "src/__support/FPUtil/bfloat16.h"
-#include "src/math/fmabf16.h"
-#include "test/UnitTest/FPMatcher.h"
-#include "test/UnitTest/Test.h"
-#include "utils/MPFRWrapper/MPFRUtils.h"
-
-using LlvmLibcFmaBf16Test = LIBC_NAMESPACE::testing::FPTest<bfloat16>;
-
-namespace mpfr = LIBC_NAMESPACE::testing::mpfr;
-
-// Normal range: [+0, +int]
-static constexpr uint16_t POS_START = 0x0000U;
-static constexpr uint16_t POS_STOP = 0x7f80U;
-
-// Normal range: [-0, -int]
-static constexpr uint16_t NEG_START = 0x8000U;
-static constexpr uint16_t NEG_STOP = 0xff80U;
-
-// Subnormal range (positive)
-static constexpr uint16_t SUBNORM_POS_START = 0x0001U;
-static constexpr uint16_t SUBNORM_POS_STOP = 0x007FU;
-
-// Subnormal range (negative)
-static constexpr uint16_t SUBNORM_NEG_START = 0x8001U;
-static constexpr uint16_t SUBNORM_NEG_STOP = 0x807FU;
-
-TEST_F(LlvmLibcFmaBf16Test, NormalPositiveRange) {
- constexpr bfloat16 VALUES[] = {zero, neg_zero, inf,
- neg_inf, min_normal, max_normal};
- for (uint16_t v1 = POS_START; v1 <= POS_STOP; v1++) {
- for (uint16_t v2 = v1; v2 <= POS_STOP; v2++) {
-
- bfloat16 x = FPBits(v1).get_val();
- bfloat16 y = FPBits(v2).get_val();
- for (const bfloat16 &z : VALUES) {
- mpfr::TernaryInput<bfloat16> input{x, y, z};
-
- EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
- LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
- }
- }
- }
-}
-
-TEST_F(LlvmLibcFmaBf16Test, NormalNegativeRange) {
- constexpr bfloat16 VALUES[] = {zero, neg_zero, inf,
- neg_inf, min_normal, max_normal};
- for (uint16_t v1 = NEG_START; v1 <= NEG_STOP; v1++) {
- for (uint16_t v2 = v1; v2 <= NEG_STOP; v2++) {
-
- bfloat16 x = FPBits(v1).get_val();
- bfloat16 y = FPBits(v2).get_val();
- for (const bfloat16 &z : VALUES) {
- mpfr::TernaryInput<bfloat16> input{x, y, z};
-
- EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
- LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
- }
- }
- }
-}
-
-TEST_F(LlvmLibcFmaBf16Test, SubnormalNegativeRange) {
- constexpr bfloat16 VALUES[] = {zero, neg_zero, inf,
- neg_inf, min_normal, max_normal};
- for (uint16_t v1 = SUBNORM_NEG_START; v1 <= SUBNORM_NEG_STOP; v1++) {
- for (uint16_t v2 = v1; v2 <= SUBNORM_NEG_STOP; v2++) {
-
- bfloat16 x = FPBits(v1).get_val();
- bfloat16 y = FPBits(v2).get_val();
- for (const bfloat16 &z : VALUES) {
- mpfr::TernaryInput<bfloat16> input{x, y, z};
-
- EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
- LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
- }
- }
- }
-}
-
-TEST_F(LlvmLibcFmaBf16Test, SubnormalPositiveRange) {
- constexpr bfloat16 VALUES[] = {zero, neg_zero, inf,
- neg_inf, min_normal, max_normal};
- for (uint16_t v1 = SUBNORM_POS_START; v1 <= SUBNORM_POS_STOP; v1++) {
- for (uint16_t v2 = v1; v2 <= SUBNORM_POS_STOP; v2++) {
-
- bfloat16 x = FPBits(v1).get_val();
- bfloat16 y = FPBits(v2).get_val();
- for (const bfloat16 &z : VALUES) {
- mpfr::TernaryInput<bfloat16> input{x, y, z};
-
- EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
- LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
- }
- }
- }
-}
diff --git a/libc/test/src/math/fmabf16_test.cpp b/libc/test/src/math/fmabf16_test.cpp
index 4b7a9e90b7226..f89016a0ab868 100644
--- a/libc/test/src/math/fmabf16_test.cpp
+++ b/libc/test/src/math/fmabf16_test.cpp
@@ -1,4 +1,4 @@
-//===-- Exhaustive test for fmabf16 ---------------------------------------===//
+//===-- Unit test for fmabf16 ---------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
diff --git a/libc/test/src/math/smoke/CMakeLists.txt b/libc/test/src/math/smoke/CMakeLists.txt
index b2d2e33fa5128..d3fb57e645ba3 100644
--- a/libc/test/src/math/smoke/CMakeLists.txt
+++ b/libc/test/src/math/smoke/CMakeLists.txt
@@ -4292,6 +4292,7 @@ add_fp_unittest(
DEPENDS
libc.src.math.fmabf16
libc.src.__support.FPUtil.bfloat16
+ libc.src.__support.FPUtil.fp_bits
)
add_fp_unittest(
diff --git a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
index c4ce8adee3e47..3bf8de6bfabb4 100644
--- a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
@@ -3991,6 +3991,17 @@ libc_support_library(
],
)
+libc_support_library(
+ name = "__support_math_fmabf16",
+ hdrs = ["src/__support/math/fmabf16.h"],
+ deps = [
+ ":__support_common",
+ ":__support_fputil_bfloat16",
+ ":__support_fputil_fma",
+ ":__support_macros_config",
+ ],
+)
+
libc_support_library(
name = "__support_math_fmax",
hdrs = ["src/__support/math/fmax.h"],
@@ -6774,6 +6785,13 @@ libc_math_function(
],
)
+libc_math_function(
+ name = "fmabf16",
+ additional_deps = [
+ ":__support_math_fmabf16",
+ ],
+)
+
libc_math_function(
name = "fmax",
additional_deps = [
>From a9ac1763343d7d64993c17efe5f44ba776b6ae67 Mon Sep 17 00:00:00 2001
From: Sukumarsawant <sawantsukumar at gmail.com>
Date: Tue, 10 Mar 2026 14:29:23 +0530
Subject: [PATCH 4/4] feat: added Exhaustive tests for fmabf16
feat: added Exhaustive tests for fmabf16
clang
---
libc/test/src/math/exhaustive/CMakeLists.txt | 17 ++++++
.../test/src/math/exhaustive/fmabf16_test.cpp | 61 +++++++++++++++++++
2 files changed, 78 insertions(+)
create mode 100644 libc/test/src/math/exhaustive/fmabf16_test.cpp
diff --git a/libc/test/src/math/exhaustive/CMakeLists.txt b/libc/test/src/math/exhaustive/CMakeLists.txt
index a21e208312c56..66c183b736d92 100644
--- a/libc/test/src/math/exhaustive/CMakeLists.txt
+++ b/libc/test/src/math/exhaustive/CMakeLists.txt
@@ -293,6 +293,23 @@ add_fp_unittest(
-lpthread
)
+add_fp_unittest(
+ fmabf16_test
+ NO_RUN_POSTBUILD
+ NEED_MPFR
+ SUITE
+ libc_math_exhaustive_tests
+ SRCS
+ fmabf16_test.cpp
+ DEPENDS
+ .exhaustive_test
+ libc.src.math.fmabf16
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.bfloat16
+ LINK_LIBRARIES
+ -lpthread
+)
+
add_fp_unittest(
logf_test
NO_RUN_POSTBUILD
diff --git a/libc/test/src/math/exhaustive/fmabf16_test.cpp b/libc/test/src/math/exhaustive/fmabf16_test.cpp
new file mode 100644
index 0000000000000..3c5fec1bcbb34
--- /dev/null
+++ b/libc/test/src/math/exhaustive/fmabf16_test.cpp
@@ -0,0 +1,61 @@
+//===-- Exhaustive test for fmabf16 ---------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/__support/FPUtil/bfloat16.h"
+#include "src/math/fmabf16.h"
+#include "test/UnitTest/FPMatcher.h"
+#include "test/UnitTest/Test.h"
+#include "utils/MPFRWrapper/MPFRUtils.h"
+
+using LlvmLibcFmaBf16Test = LIBC_NAMESPACE::testing::FPTest<bfloat16>;
+
+namespace mpfr = LIBC_NAMESPACE::testing::mpfr;
+
+// Normal range: [+0, +int]
+static constexpr uint16_t POS_START = 0x0000U;
+static constexpr uint16_t POS_STOP = 0x7f80U;
+
+// Normal range: [-0, -int]
+static constexpr uint16_t NEG_START = 0x8000U;
+static constexpr uint16_t NEG_STOP = 0xff80U;
+
+TEST_F(LlvmLibcFmaBf16Test, PositiveRange) {
+ constexpr bfloat16 VALUES[] = {zero, neg_zero, inf,
+ neg_inf, min_normal, max_normal};
+ for (uint16_t v1 = POS_START; v1 <= POS_STOP; v1++) {
+ for (uint16_t v2 = v1; v2 <= POS_STOP; v2++) {
+
+ bfloat16 x = FPBits(v1).get_val();
+ bfloat16 y = FPBits(v2).get_val();
+ for (const bfloat16 &z : VALUES) {
+ mpfr::TernaryInput<bfloat16> input{x, y, z};
+
+ EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
+ LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
+ }
+ }
+ }
+}
+
+TEST_F(LlvmLibcFmaBf16Test, NegativeRange) {
+ constexpr bfloat16 VALUES[] = {zero, neg_zero, inf,
+ neg_inf, min_normal, max_normal};
+ for (uint16_t v1 = NEG_START; v1 <= NEG_STOP; v1++) {
+ for (uint16_t v2 = v1; v2 <= NEG_STOP; v2++) {
+
+ bfloat16 x = FPBits(v1).get_val();
+ bfloat16 y = FPBits(v2).get_val();
+ for (const bfloat16 &z : VALUES) {
+ mpfr::TernaryInput<bfloat16> input{x, y, z};
+
+ EXPECT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Fma, input,
+ LIBC_NAMESPACE::fmabf16(x, y, z), 0.5);
+ }
+ }
+ }
+}
More information about the llvm-commits
mailing list