
This PR adds the following basic math functions for BFloat16 type along with the tests: - fromfpbf16 - fromfpxbf16 - ufromfpbf16 - ufromfpxbf16 --------- Signed-off-by: Krishna Pandey <kpandey81930@gmail.com>
713 lines
18 KiB
Plaintext
713 lines
18 KiB
Plaintext
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
|
|
)
|
|
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.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.ceilbf16
|
|
libc.src.math.fabsbf16
|
|
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.fromfpbf16
|
|
libc.src.math.fromfpxbf16
|
|
libc.src.math.roundbf16
|
|
libc.src.math.roundevenbf16
|
|
libc.src.math.truncbf16
|
|
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}
|
|
)
|