glibc/sysdeps/unix/sysv/linux/arc/libm.abilist

850 lines
18 KiB
Plaintext
Raw Normal View History

GLIBC_2.32 __clog10 F
GLIBC_2.32 __clog10f F
GLIBC_2.32 __clog10l F
GLIBC_2.32 __finite F
GLIBC_2.32 __finitef F
GLIBC_2.32 __fpclassify F
GLIBC_2.32 __fpclassifyf F
GLIBC_2.32 __iseqsig F
GLIBC_2.32 __iseqsigf F
GLIBC_2.32 __issignaling F
GLIBC_2.32 __issignalingf F
GLIBC_2.32 __signbit F
GLIBC_2.32 __signbitf F
GLIBC_2.32 __signgam D 0x4
GLIBC_2.32 acos F
GLIBC_2.32 acosf F
GLIBC_2.32 acosf32 F
GLIBC_2.32 acosf32x F
GLIBC_2.32 acosf64 F
GLIBC_2.32 acosh F
GLIBC_2.32 acoshf F
GLIBC_2.32 acoshf32 F
GLIBC_2.32 acoshf32x F
GLIBC_2.32 acoshf64 F
GLIBC_2.32 acoshl F
GLIBC_2.32 acosl F
GLIBC_2.32 asin F
GLIBC_2.32 asinf F
GLIBC_2.32 asinf32 F
GLIBC_2.32 asinf32x F
GLIBC_2.32 asinf64 F
GLIBC_2.32 asinh F
GLIBC_2.32 asinhf F
GLIBC_2.32 asinhf32 F
GLIBC_2.32 asinhf32x F
GLIBC_2.32 asinhf64 F
GLIBC_2.32 asinhl F
GLIBC_2.32 asinl F
GLIBC_2.32 atan F
GLIBC_2.32 atan2 F
GLIBC_2.32 atan2f F
GLIBC_2.32 atan2f32 F
GLIBC_2.32 atan2f32x F
GLIBC_2.32 atan2f64 F
GLIBC_2.32 atan2l F
GLIBC_2.32 atanf F
GLIBC_2.32 atanf32 F
GLIBC_2.32 atanf32x F
GLIBC_2.32 atanf64 F
GLIBC_2.32 atanh F
GLIBC_2.32 atanhf F
GLIBC_2.32 atanhf32 F
GLIBC_2.32 atanhf32x F
GLIBC_2.32 atanhf64 F
GLIBC_2.32 atanhl F
GLIBC_2.32 atanl F
GLIBC_2.32 cabs F
GLIBC_2.32 cabsf F
GLIBC_2.32 cabsf32 F
GLIBC_2.32 cabsf32x F
GLIBC_2.32 cabsf64 F
GLIBC_2.32 cabsl F
GLIBC_2.32 cacos F
GLIBC_2.32 cacosf F
GLIBC_2.32 cacosf32 F
GLIBC_2.32 cacosf32x F
GLIBC_2.32 cacosf64 F
GLIBC_2.32 cacosh F
GLIBC_2.32 cacoshf F
GLIBC_2.32 cacoshf32 F
GLIBC_2.32 cacoshf32x F
GLIBC_2.32 cacoshf64 F
GLIBC_2.32 cacoshl F
GLIBC_2.32 cacosl F
GLIBC_2.32 canonicalize F
GLIBC_2.32 canonicalizef F
GLIBC_2.32 canonicalizef32 F
GLIBC_2.32 canonicalizef32x F
GLIBC_2.32 canonicalizef64 F
GLIBC_2.32 canonicalizel F
GLIBC_2.32 carg F
GLIBC_2.32 cargf F
GLIBC_2.32 cargf32 F
GLIBC_2.32 cargf32x F
GLIBC_2.32 cargf64 F
GLIBC_2.32 cargl F
GLIBC_2.32 casin F
GLIBC_2.32 casinf F
GLIBC_2.32 casinf32 F
GLIBC_2.32 casinf32x F
GLIBC_2.32 casinf64 F
GLIBC_2.32 casinh F
GLIBC_2.32 casinhf F
GLIBC_2.32 casinhf32 F
GLIBC_2.32 casinhf32x F
GLIBC_2.32 casinhf64 F
GLIBC_2.32 casinhl F
GLIBC_2.32 casinl F
GLIBC_2.32 catan F
GLIBC_2.32 catanf F
GLIBC_2.32 catanf32 F
GLIBC_2.32 catanf32x F
GLIBC_2.32 catanf64 F
GLIBC_2.32 catanh F
GLIBC_2.32 catanhf F
GLIBC_2.32 catanhf32 F
GLIBC_2.32 catanhf32x F
GLIBC_2.32 catanhf64 F
GLIBC_2.32 catanhl F
GLIBC_2.32 catanl F
GLIBC_2.32 cbrt F
GLIBC_2.32 cbrtf F
GLIBC_2.32 cbrtf32 F
GLIBC_2.32 cbrtf32x F
GLIBC_2.32 cbrtf64 F
GLIBC_2.32 cbrtl F
GLIBC_2.32 ccos F
GLIBC_2.32 ccosf F
GLIBC_2.32 ccosf32 F
GLIBC_2.32 ccosf32x F
GLIBC_2.32 ccosf64 F
GLIBC_2.32 ccosh F
GLIBC_2.32 ccoshf F
GLIBC_2.32 ccoshf32 F
GLIBC_2.32 ccoshf32x F
GLIBC_2.32 ccoshf64 F
GLIBC_2.32 ccoshl F
GLIBC_2.32 ccosl F
GLIBC_2.32 ceil F
GLIBC_2.32 ceilf F
GLIBC_2.32 ceilf32 F
GLIBC_2.32 ceilf32x F
GLIBC_2.32 ceilf64 F
GLIBC_2.32 ceill F
GLIBC_2.32 cexp F
GLIBC_2.32 cexpf F
GLIBC_2.32 cexpf32 F
GLIBC_2.32 cexpf32x F
GLIBC_2.32 cexpf64 F
GLIBC_2.32 cexpl F
GLIBC_2.32 cimag F
GLIBC_2.32 cimagf F
GLIBC_2.32 cimagf32 F
GLIBC_2.32 cimagf32x F
GLIBC_2.32 cimagf64 F
GLIBC_2.32 cimagl F
GLIBC_2.32 clog F
GLIBC_2.32 clog10 F
GLIBC_2.32 clog10f F
GLIBC_2.32 clog10f32 F
GLIBC_2.32 clog10f32x F
GLIBC_2.32 clog10f64 F
GLIBC_2.32 clog10l F
GLIBC_2.32 clogf F
GLIBC_2.32 clogf32 F
GLIBC_2.32 clogf32x F
GLIBC_2.32 clogf64 F
GLIBC_2.32 clogl F
GLIBC_2.32 conj F
GLIBC_2.32 conjf F
GLIBC_2.32 conjf32 F
GLIBC_2.32 conjf32x F
GLIBC_2.32 conjf64 F
GLIBC_2.32 conjl F
GLIBC_2.32 copysign F
GLIBC_2.32 copysignf F
GLIBC_2.32 copysignf32 F
GLIBC_2.32 copysignf32x F
GLIBC_2.32 copysignf64 F
GLIBC_2.32 copysignl F
GLIBC_2.32 cos F
GLIBC_2.32 cosf F
GLIBC_2.32 cosf32 F
GLIBC_2.32 cosf32x F
GLIBC_2.32 cosf64 F
GLIBC_2.32 cosh F
GLIBC_2.32 coshf F
GLIBC_2.32 coshf32 F
GLIBC_2.32 coshf32x F
GLIBC_2.32 coshf64 F
GLIBC_2.32 coshl F
GLIBC_2.32 cosl F
GLIBC_2.32 cpow F
GLIBC_2.32 cpowf F
GLIBC_2.32 cpowf32 F
GLIBC_2.32 cpowf32x F
GLIBC_2.32 cpowf64 F
GLIBC_2.32 cpowl F
GLIBC_2.32 cproj F
GLIBC_2.32 cprojf F
GLIBC_2.32 cprojf32 F
GLIBC_2.32 cprojf32x F
GLIBC_2.32 cprojf64 F
GLIBC_2.32 cprojl F
GLIBC_2.32 creal F
GLIBC_2.32 crealf F
GLIBC_2.32 crealf32 F
GLIBC_2.32 crealf32x F
GLIBC_2.32 crealf64 F
GLIBC_2.32 creall F
GLIBC_2.32 csin F
GLIBC_2.32 csinf F
GLIBC_2.32 csinf32 F
GLIBC_2.32 csinf32x F
GLIBC_2.32 csinf64 F
GLIBC_2.32 csinh F
GLIBC_2.32 csinhf F
GLIBC_2.32 csinhf32 F
GLIBC_2.32 csinhf32x F
GLIBC_2.32 csinhf64 F
GLIBC_2.32 csinhl F
GLIBC_2.32 csinl F
GLIBC_2.32 csqrt F
GLIBC_2.32 csqrtf F
GLIBC_2.32 csqrtf32 F
GLIBC_2.32 csqrtf32x F
GLIBC_2.32 csqrtf64 F
GLIBC_2.32 csqrtl F
GLIBC_2.32 ctan F
GLIBC_2.32 ctanf F
GLIBC_2.32 ctanf32 F
GLIBC_2.32 ctanf32x F
GLIBC_2.32 ctanf64 F
GLIBC_2.32 ctanh F
GLIBC_2.32 ctanhf F
GLIBC_2.32 ctanhf32 F
GLIBC_2.32 ctanhf32x F
GLIBC_2.32 ctanhf64 F
GLIBC_2.32 ctanhl F
GLIBC_2.32 ctanl F
GLIBC_2.32 daddl F
GLIBC_2.32 ddivl F
GLIBC_2.32 dmull F
GLIBC_2.32 drem F
GLIBC_2.32 dremf F
GLIBC_2.32 dreml F
GLIBC_2.32 dsubl F
GLIBC_2.32 erf F
GLIBC_2.32 erfc F
GLIBC_2.32 erfcf F
GLIBC_2.32 erfcf32 F
GLIBC_2.32 erfcf32x F
GLIBC_2.32 erfcf64 F
GLIBC_2.32 erfcl F
GLIBC_2.32 erff F
GLIBC_2.32 erff32 F
GLIBC_2.32 erff32x F
GLIBC_2.32 erff64 F
GLIBC_2.32 erfl F
GLIBC_2.32 exp F
GLIBC_2.32 exp10 F
GLIBC_2.32 exp10f F
GLIBC_2.32 exp10f32 F
GLIBC_2.32 exp10f32x F
GLIBC_2.32 exp10f64 F
GLIBC_2.32 exp10l F
GLIBC_2.32 exp2 F
GLIBC_2.32 exp2f F
GLIBC_2.32 exp2f32 F
GLIBC_2.32 exp2f32x F
GLIBC_2.32 exp2f64 F
GLIBC_2.32 exp2l F
GLIBC_2.32 expf F
GLIBC_2.32 expf32 F
GLIBC_2.32 expf32x F
GLIBC_2.32 expf64 F
GLIBC_2.32 expl F
GLIBC_2.32 expm1 F
GLIBC_2.32 expm1f F
GLIBC_2.32 expm1f32 F
GLIBC_2.32 expm1f32x F
GLIBC_2.32 expm1f64 F
GLIBC_2.32 expm1l F
GLIBC_2.32 f32addf32x F
GLIBC_2.32 f32addf64 F
GLIBC_2.32 f32divf32x F
GLIBC_2.32 f32divf64 F
GLIBC_2.32 f32mulf32x F
GLIBC_2.32 f32mulf64 F
GLIBC_2.32 f32subf32x F
GLIBC_2.32 f32subf64 F
GLIBC_2.32 f32xaddf64 F
GLIBC_2.32 f32xdivf64 F
GLIBC_2.32 f32xmulf64 F
GLIBC_2.32 f32xsubf64 F
GLIBC_2.32 fabs F
GLIBC_2.32 fabsf F
GLIBC_2.32 fabsf32 F
GLIBC_2.32 fabsf32x F
GLIBC_2.32 fabsf64 F
GLIBC_2.32 fabsl F
GLIBC_2.32 fadd F
GLIBC_2.32 faddl F
GLIBC_2.32 fdim F
GLIBC_2.32 fdimf F
GLIBC_2.32 fdimf32 F
GLIBC_2.32 fdimf32x F
GLIBC_2.32 fdimf64 F
GLIBC_2.32 fdiml F
GLIBC_2.32 fdiv F
GLIBC_2.32 fdivl F
GLIBC_2.32 feclearexcept F
GLIBC_2.32 fedisableexcept F
GLIBC_2.32 feenableexcept F
GLIBC_2.32 fegetenv F
GLIBC_2.32 fegetexcept F
GLIBC_2.32 fegetexceptflag F
GLIBC_2.32 fegetmode F
GLIBC_2.32 fegetround F
GLIBC_2.32 feholdexcept F
GLIBC_2.32 feraiseexcept F
GLIBC_2.32 fesetenv F
GLIBC_2.32 fesetexcept F
GLIBC_2.32 fesetexceptflag F
GLIBC_2.32 fesetmode F
GLIBC_2.32 fesetround F
GLIBC_2.32 fetestexcept F
GLIBC_2.32 fetestexceptflag F
GLIBC_2.32 feupdateenv F
GLIBC_2.32 finite F
GLIBC_2.32 finitef F
GLIBC_2.32 finitel F
GLIBC_2.32 floor F
GLIBC_2.32 floorf F
GLIBC_2.32 floorf32 F
GLIBC_2.32 floorf32x F
GLIBC_2.32 floorf64 F
GLIBC_2.32 floorl F
GLIBC_2.32 fma F
GLIBC_2.32 fmaf F
GLIBC_2.32 fmaf32 F
GLIBC_2.32 fmaf32x F
GLIBC_2.32 fmaf64 F
GLIBC_2.32 fmal F
GLIBC_2.32 fmax F
GLIBC_2.32 fmaxf F
GLIBC_2.32 fmaxf32 F
GLIBC_2.32 fmaxf32x F
GLIBC_2.32 fmaxf64 F
GLIBC_2.32 fmaxl F
GLIBC_2.32 fmaxmag F
GLIBC_2.32 fmaxmagf F
GLIBC_2.32 fmaxmagf32 F
GLIBC_2.32 fmaxmagf32x F
GLIBC_2.32 fmaxmagf64 F
GLIBC_2.32 fmaxmagl F
GLIBC_2.32 fmin F
GLIBC_2.32 fminf F
GLIBC_2.32 fminf32 F
GLIBC_2.32 fminf32x F
GLIBC_2.32 fminf64 F
GLIBC_2.32 fminl F
GLIBC_2.32 fminmag F
GLIBC_2.32 fminmagf F
GLIBC_2.32 fminmagf32 F
GLIBC_2.32 fminmagf32x F
GLIBC_2.32 fminmagf64 F
GLIBC_2.32 fminmagl F
GLIBC_2.32 fmod F
GLIBC_2.32 fmodf F
GLIBC_2.32 fmodf32 F
GLIBC_2.32 fmodf32x F
GLIBC_2.32 fmodf64 F
GLIBC_2.32 fmodl F
GLIBC_2.32 fmul F
GLIBC_2.32 fmull F
GLIBC_2.32 frexp F
GLIBC_2.32 frexpf F
GLIBC_2.32 frexpf32 F
GLIBC_2.32 frexpf32x F
GLIBC_2.32 frexpf64 F
GLIBC_2.32 frexpl F
GLIBC_2.32 fromfp F
GLIBC_2.32 fromfpf F
GLIBC_2.32 fromfpf32 F
GLIBC_2.32 fromfpf32x F
GLIBC_2.32 fromfpf64 F
GLIBC_2.32 fromfpl F
GLIBC_2.32 fromfpx F
GLIBC_2.32 fromfpxf F
GLIBC_2.32 fromfpxf32 F
GLIBC_2.32 fromfpxf32x F
GLIBC_2.32 fromfpxf64 F
GLIBC_2.32 fromfpxl F
GLIBC_2.32 fsub F
GLIBC_2.32 fsubl F
GLIBC_2.32 gamma F
GLIBC_2.32 gammaf F
GLIBC_2.32 gammal F
GLIBC_2.32 getpayload F
GLIBC_2.32 getpayloadf F
GLIBC_2.32 getpayloadf32 F
GLIBC_2.32 getpayloadf32x F
GLIBC_2.32 getpayloadf64 F
GLIBC_2.32 getpayloadl F
GLIBC_2.32 hypot F
GLIBC_2.32 hypotf F
GLIBC_2.32 hypotf32 F
GLIBC_2.32 hypotf32x F
GLIBC_2.32 hypotf64 F
GLIBC_2.32 hypotl F
GLIBC_2.32 ilogb F
GLIBC_2.32 ilogbf F
GLIBC_2.32 ilogbf32 F
GLIBC_2.32 ilogbf32x F
GLIBC_2.32 ilogbf64 F
GLIBC_2.32 ilogbl F
GLIBC_2.32 j0 F
GLIBC_2.32 j0f F
GLIBC_2.32 j0f32 F
GLIBC_2.32 j0f32x F
GLIBC_2.32 j0f64 F
GLIBC_2.32 j0l F
GLIBC_2.32 j1 F
GLIBC_2.32 j1f F
GLIBC_2.32 j1f32 F
GLIBC_2.32 j1f32x F
GLIBC_2.32 j1f64 F
GLIBC_2.32 j1l F
GLIBC_2.32 jn F
GLIBC_2.32 jnf F
GLIBC_2.32 jnf32 F
GLIBC_2.32 jnf32x F
GLIBC_2.32 jnf64 F
GLIBC_2.32 jnl F
GLIBC_2.32 ldexp F
GLIBC_2.32 ldexpf F
GLIBC_2.32 ldexpf32 F
GLIBC_2.32 ldexpf32x F
GLIBC_2.32 ldexpf64 F
GLIBC_2.32 ldexpl F
GLIBC_2.32 lgamma F
GLIBC_2.32 lgamma_r F
GLIBC_2.32 lgammaf F
GLIBC_2.32 lgammaf32 F
GLIBC_2.32 lgammaf32_r F
GLIBC_2.32 lgammaf32x F
GLIBC_2.32 lgammaf32x_r F
GLIBC_2.32 lgammaf64 F
GLIBC_2.32 lgammaf64_r F
GLIBC_2.32 lgammaf_r F
GLIBC_2.32 lgammal F
GLIBC_2.32 lgammal_r F
GLIBC_2.32 llogb F
GLIBC_2.32 llogbf F
GLIBC_2.32 llogbf32 F
GLIBC_2.32 llogbf32x F
GLIBC_2.32 llogbf64 F
GLIBC_2.32 llogbl F
GLIBC_2.32 llrint F
GLIBC_2.32 llrintf F
GLIBC_2.32 llrintf32 F
GLIBC_2.32 llrintf32x F
GLIBC_2.32 llrintf64 F
GLIBC_2.32 llrintl F
GLIBC_2.32 llround F
GLIBC_2.32 llroundf F
GLIBC_2.32 llroundf32 F
GLIBC_2.32 llroundf32x F
GLIBC_2.32 llroundf64 F
GLIBC_2.32 llroundl F
GLIBC_2.32 log F
GLIBC_2.32 log10 F
GLIBC_2.32 log10f F
GLIBC_2.32 log10f32 F
GLIBC_2.32 log10f32x F
GLIBC_2.32 log10f64 F
GLIBC_2.32 log10l F
GLIBC_2.32 log1p F
GLIBC_2.32 log1pf F
GLIBC_2.32 log1pf32 F
GLIBC_2.32 log1pf32x F
GLIBC_2.32 log1pf64 F
GLIBC_2.32 log1pl F
GLIBC_2.32 log2 F
GLIBC_2.32 log2f F
GLIBC_2.32 log2f32 F
GLIBC_2.32 log2f32x F
GLIBC_2.32 log2f64 F
GLIBC_2.32 log2l F
GLIBC_2.32 logb F
GLIBC_2.32 logbf F
GLIBC_2.32 logbf32 F
GLIBC_2.32 logbf32x F
GLIBC_2.32 logbf64 F
GLIBC_2.32 logbl F
GLIBC_2.32 logf F
GLIBC_2.32 logf32 F
GLIBC_2.32 logf32x F
GLIBC_2.32 logf64 F
GLIBC_2.32 logl F
GLIBC_2.32 lrint F
GLIBC_2.32 lrintf F
GLIBC_2.32 lrintf32 F
GLIBC_2.32 lrintf32x F
GLIBC_2.32 lrintf64 F
GLIBC_2.32 lrintl F
GLIBC_2.32 lround F
GLIBC_2.32 lroundf F
GLIBC_2.32 lroundf32 F
GLIBC_2.32 lroundf32x F
GLIBC_2.32 lroundf64 F
GLIBC_2.32 lroundl F
GLIBC_2.32 modf F
GLIBC_2.32 modff F
GLIBC_2.32 modff32 F
GLIBC_2.32 modff32x F
GLIBC_2.32 modff64 F
GLIBC_2.32 modfl F
GLIBC_2.32 nan F
GLIBC_2.32 nanf F
GLIBC_2.32 nanf32 F
GLIBC_2.32 nanf32x F
GLIBC_2.32 nanf64 F
GLIBC_2.32 nanl F
GLIBC_2.32 nearbyint F
GLIBC_2.32 nearbyintf F
GLIBC_2.32 nearbyintf32 F
GLIBC_2.32 nearbyintf32x F
GLIBC_2.32 nearbyintf64 F
GLIBC_2.32 nearbyintl F
GLIBC_2.32 nextafter F
GLIBC_2.32 nextafterf F
GLIBC_2.32 nextafterf32 F
GLIBC_2.32 nextafterf32x F
GLIBC_2.32 nextafterf64 F
GLIBC_2.32 nextafterl F
GLIBC_2.32 nextdown F
GLIBC_2.32 nextdownf F
GLIBC_2.32 nextdownf32 F
GLIBC_2.32 nextdownf32x F
GLIBC_2.32 nextdownf64 F
GLIBC_2.32 nextdownl F
GLIBC_2.32 nexttoward F
GLIBC_2.32 nexttowardf F
GLIBC_2.32 nexttowardl F
GLIBC_2.32 nextup F
GLIBC_2.32 nextupf F
GLIBC_2.32 nextupf32 F
GLIBC_2.32 nextupf32x F
GLIBC_2.32 nextupf64 F
GLIBC_2.32 nextupl F
GLIBC_2.32 pow F
GLIBC_2.32 powf F
GLIBC_2.32 powf32 F
GLIBC_2.32 powf32x F
GLIBC_2.32 powf64 F
GLIBC_2.32 powl F
GLIBC_2.32 remainder F
GLIBC_2.32 remainderf F
GLIBC_2.32 remainderf32 F
GLIBC_2.32 remainderf32x F
GLIBC_2.32 remainderf64 F
GLIBC_2.32 remainderl F
GLIBC_2.32 remquo F
GLIBC_2.32 remquof F
GLIBC_2.32 remquof32 F
GLIBC_2.32 remquof32x F
GLIBC_2.32 remquof64 F
GLIBC_2.32 remquol F
GLIBC_2.32 rint F
GLIBC_2.32 rintf F
GLIBC_2.32 rintf32 F
GLIBC_2.32 rintf32x F
GLIBC_2.32 rintf64 F
GLIBC_2.32 rintl F
GLIBC_2.32 round F
GLIBC_2.32 roundeven F
GLIBC_2.32 roundevenf F
GLIBC_2.32 roundevenf32 F
GLIBC_2.32 roundevenf32x F
GLIBC_2.32 roundevenf64 F
GLIBC_2.32 roundevenl F
GLIBC_2.32 roundf F
GLIBC_2.32 roundf32 F
GLIBC_2.32 roundf32x F
GLIBC_2.32 roundf64 F
GLIBC_2.32 roundl F
GLIBC_2.32 scalb F
GLIBC_2.32 scalbf F
GLIBC_2.32 scalbl F
GLIBC_2.32 scalbln F
GLIBC_2.32 scalblnf F
GLIBC_2.32 scalblnf32 F
GLIBC_2.32 scalblnf32x F
GLIBC_2.32 scalblnf64 F
GLIBC_2.32 scalblnl F
GLIBC_2.32 scalbn F
GLIBC_2.32 scalbnf F
GLIBC_2.32 scalbnf32 F
GLIBC_2.32 scalbnf32x F
GLIBC_2.32 scalbnf64 F
GLIBC_2.32 scalbnl F
GLIBC_2.32 setpayload F
GLIBC_2.32 setpayloadf F
GLIBC_2.32 setpayloadf32 F
GLIBC_2.32 setpayloadf32x F
GLIBC_2.32 setpayloadf64 F
GLIBC_2.32 setpayloadl F
GLIBC_2.32 setpayloadsig F
GLIBC_2.32 setpayloadsigf F
GLIBC_2.32 setpayloadsigf32 F
GLIBC_2.32 setpayloadsigf32x F
GLIBC_2.32 setpayloadsigf64 F
GLIBC_2.32 setpayloadsigl F
GLIBC_2.32 signgam D 0x4
GLIBC_2.32 significand F
GLIBC_2.32 significandf F
GLIBC_2.32 significandl F
GLIBC_2.32 sin F
GLIBC_2.32 sincos F
GLIBC_2.32 sincosf F
GLIBC_2.32 sincosf32 F
GLIBC_2.32 sincosf32x F
GLIBC_2.32 sincosf64 F
GLIBC_2.32 sincosl F
GLIBC_2.32 sinf F
GLIBC_2.32 sinf32 F
GLIBC_2.32 sinf32x F
GLIBC_2.32 sinf64 F
GLIBC_2.32 sinh F
GLIBC_2.32 sinhf F
GLIBC_2.32 sinhf32 F
GLIBC_2.32 sinhf32x F
GLIBC_2.32 sinhf64 F
GLIBC_2.32 sinhl F
GLIBC_2.32 sinl F
GLIBC_2.32 sqrt F
GLIBC_2.32 sqrtf F
GLIBC_2.32 sqrtf32 F
GLIBC_2.32 sqrtf32x F
GLIBC_2.32 sqrtf64 F
GLIBC_2.32 sqrtl F
GLIBC_2.32 tan F
GLIBC_2.32 tanf F
GLIBC_2.32 tanf32 F
GLIBC_2.32 tanf32x F
GLIBC_2.32 tanf64 F
GLIBC_2.32 tanh F
GLIBC_2.32 tanhf F
GLIBC_2.32 tanhf32 F
GLIBC_2.32 tanhf32x F
GLIBC_2.32 tanhf64 F
GLIBC_2.32 tanhl F
GLIBC_2.32 tanl F
GLIBC_2.32 tgamma F
GLIBC_2.32 tgammaf F
GLIBC_2.32 tgammaf32 F
GLIBC_2.32 tgammaf32x F
GLIBC_2.32 tgammaf64 F
GLIBC_2.32 tgammal F
GLIBC_2.32 totalorder F
GLIBC_2.32 totalorderf F
GLIBC_2.32 totalorderf32 F
GLIBC_2.32 totalorderf32x F
GLIBC_2.32 totalorderf64 F
GLIBC_2.32 totalorderl F
GLIBC_2.32 totalordermag F
GLIBC_2.32 totalordermagf F
GLIBC_2.32 totalordermagf32 F
GLIBC_2.32 totalordermagf32x F
GLIBC_2.32 totalordermagf64 F
GLIBC_2.32 totalordermagl F
GLIBC_2.32 trunc F
GLIBC_2.32 truncf F
GLIBC_2.32 truncf32 F
GLIBC_2.32 truncf32x F
GLIBC_2.32 truncf64 F
GLIBC_2.32 truncl F
GLIBC_2.32 ufromfp F
GLIBC_2.32 ufromfpf F
GLIBC_2.32 ufromfpf32 F
GLIBC_2.32 ufromfpf32x F
GLIBC_2.32 ufromfpf64 F
GLIBC_2.32 ufromfpl F
GLIBC_2.32 ufromfpx F
GLIBC_2.32 ufromfpxf F
GLIBC_2.32 ufromfpxf32 F
GLIBC_2.32 ufromfpxf32x F
GLIBC_2.32 ufromfpxf64 F
GLIBC_2.32 ufromfpxl F
GLIBC_2.32 y0 F
GLIBC_2.32 y0f F
GLIBC_2.32 y0f32 F
GLIBC_2.32 y0f32x F
GLIBC_2.32 y0f64 F
GLIBC_2.32 y0l F
GLIBC_2.32 y1 F
GLIBC_2.32 y1f F
GLIBC_2.32 y1f32 F
GLIBC_2.32 y1f32x F
GLIBC_2.32 y1f64 F
GLIBC_2.32 y1l F
GLIBC_2.32 yn F
GLIBC_2.32 ynf F
GLIBC_2.32 ynf32 F
GLIBC_2.32 ynf32x F
GLIBC_2.32 ynf64 F
GLIBC_2.32 ynl F
Add narrowing fma functions This patch adds the narrowing fused multiply-add functions from TS 18661-1 / TS 18661-3 / C2X to glibc's libm: ffma, ffmal, dfmal, f32fmaf64, f32fmaf32x, f32xfmaf64 for all configurations; f32fmaf64x, f32fmaf128, f64fmaf64x, f64fmaf128, f32xfmaf64x, f32xfmaf128, f64xfmaf128 for configurations with _Float64x and _Float128; __f32fmaieee128 and __f64fmaieee128 aliases in the powerpc64le case (for calls to ffmal and dfmal when long double is IEEE binary128). Corresponding tgmath.h macro support is also added. The changes are mostly similar to those for the other narrowing functions previously added, especially that for sqrt, so the description of those generally applies to this patch as well. As with sqrt, I reused the same test inputs in auto-libm-test-in as for non-narrowing fma rather than adding extra or separate inputs for narrowing fma. The tests in libm-test-narrow-fma.inc also follow those for non-narrowing fma. The non-narrowing fma has a known bug (bug 6801) that it does not set errno on errors (overflow, underflow, Inf * 0, Inf - Inf). Rather than fixing this or having narrowing fma check for errors when non-narrowing does not (complicating the cases when narrowing fma can otherwise be an alias for a non-narrowing function), this patch does not attempt to check for errors from narrowing fma and set errno; the CHECK_NARROW_FMA macro is still present, but as a placeholder that does nothing, and this missing errno setting is considered to be covered by the existing bug rather than needing a separate open bug. missing-errno annotations are duly added to many of the auto-libm-test-in test inputs for fma. This completes adding all the new functions from TS 18661-1 to glibc, so will be followed by corresponding stdc-predef.h changes to define __STDC_IEC_60559_BFP__ and __STDC_IEC_60559_COMPLEX__, as the support for TS 18661-1 will be at a similar level to that for C standard floating-point facilities up to C11 (pragmas not implemented, but library functions done). (There are still further changes to be done to implement changes to the types of fromfp functions from N2548.) Tested as followed: natively with the full glibc testsuite for x86_64 (GCC 11, 7, 6) and x86 (GCC 11); with build-many-glibcs.py with GCC 11, 7 and 6; cross testing of math/ tests for powerpc64le, powerpc32 hard float, mips64 (all three ABIs, both hard and soft float). The different GCC versions are to cover the different cases in tgmath.h and tgmath.h tests properly (GCC 6 has _Float* only as typedefs in glibc headers, GCC 7 has proper _Float* support, GCC 8 adds __builtin_tgmath).
2021-09-22 21:25:31 +00:00
GLIBC_2.35 dfmal F
Add narrowing square root functions This patch adds the narrowing square root functions from TS 18661-1 / TS 18661-3 / C2X to glibc's libm: fsqrt, fsqrtl, dsqrtl, f32sqrtf64, f32sqrtf32x, f32xsqrtf64 for all configurations; f32sqrtf64x, f32sqrtf128, f64sqrtf64x, f64sqrtf128, f32xsqrtf64x, f32xsqrtf128, f64xsqrtf128 for configurations with _Float64x and _Float128; __f32sqrtieee128 and __f64sqrtieee128 aliases in the powerpc64le case (for calls to fsqrtl and dsqrtl when long double is IEEE binary128). Corresponding tgmath.h macro support is also added. The changes are mostly similar to those for the other narrowing functions previously added, so the description of those generally applies to this patch as well. However, the not-actually-narrowing cases (where the two types involved in the function have the same floating-point format) are aliased to sqrt, sqrtl or sqrtf128 rather than needing a separately built not-actually-narrowing function such as was needed for add / sub / mul / div. Thus, there is no __nldbl_dsqrtl name for ldbl-opt because no such name was needed (whereas the other functions needed such a name since the only other name for that entry point was e.g. f32xaddf64, not reserved by TS 18661-1); the headers are made to arrange for sqrt to be called in that case instead. The DIAG_* calls in sysdeps/ieee754/soft-fp/s_dsqrtl.c are because they were observed to be needed in GCC 7 testing of riscv32-linux-gnu-rv32imac-ilp32. The other sysdeps/ieee754/soft-fp/ files added didn't need such DIAG_* in any configuration I tested with build-many-glibcs.py, but if they do turn out to be needed in more files with some other configuration / GCC version, they can always be added there. I reused the same test inputs in auto-libm-test-in as for non-narrowing sqrt rather than adding extra or separate inputs for narrowing sqrt. The tests in libm-test-narrow-sqrt.inc also follow those for non-narrowing sqrt. Tested as followed: natively with the full glibc testsuite for x86_64 (GCC 11, 7, 6) and x86 (GCC 11); with build-many-glibcs.py with GCC 11, 7 and 6; cross testing of math/ tests for powerpc64le, powerpc32 hard float, mips64 (all three ABIs, both hard and soft float). The different GCC versions are to cover the different cases in tgmath.h and tgmath.h tests properly (GCC 6 has _Float* only as typedefs in glibc headers, GCC 7 has proper _Float* support, GCC 8 adds __builtin_tgmath).
2021-09-10 20:56:22 +00:00
GLIBC_2.35 dsqrtl F
Add narrowing fma functions This patch adds the narrowing fused multiply-add functions from TS 18661-1 / TS 18661-3 / C2X to glibc's libm: ffma, ffmal, dfmal, f32fmaf64, f32fmaf32x, f32xfmaf64 for all configurations; f32fmaf64x, f32fmaf128, f64fmaf64x, f64fmaf128, f32xfmaf64x, f32xfmaf128, f64xfmaf128 for configurations with _Float64x and _Float128; __f32fmaieee128 and __f64fmaieee128 aliases in the powerpc64le case (for calls to ffmal and dfmal when long double is IEEE binary128). Corresponding tgmath.h macro support is also added. The changes are mostly similar to those for the other narrowing functions previously added, especially that for sqrt, so the description of those generally applies to this patch as well. As with sqrt, I reused the same test inputs in auto-libm-test-in as for non-narrowing fma rather than adding extra or separate inputs for narrowing fma. The tests in libm-test-narrow-fma.inc also follow those for non-narrowing fma. The non-narrowing fma has a known bug (bug 6801) that it does not set errno on errors (overflow, underflow, Inf * 0, Inf - Inf). Rather than fixing this or having narrowing fma check for errors when non-narrowing does not (complicating the cases when narrowing fma can otherwise be an alias for a non-narrowing function), this patch does not attempt to check for errors from narrowing fma and set errno; the CHECK_NARROW_FMA macro is still present, but as a placeholder that does nothing, and this missing errno setting is considered to be covered by the existing bug rather than needing a separate open bug. missing-errno annotations are duly added to many of the auto-libm-test-in test inputs for fma. This completes adding all the new functions from TS 18661-1 to glibc, so will be followed by corresponding stdc-predef.h changes to define __STDC_IEC_60559_BFP__ and __STDC_IEC_60559_COMPLEX__, as the support for TS 18661-1 will be at a similar level to that for C standard floating-point facilities up to C11 (pragmas not implemented, but library functions done). (There are still further changes to be done to implement changes to the types of fromfp functions from N2548.) Tested as followed: natively with the full glibc testsuite for x86_64 (GCC 11, 7, 6) and x86 (GCC 11); with build-many-glibcs.py with GCC 11, 7 and 6; cross testing of math/ tests for powerpc64le, powerpc32 hard float, mips64 (all three ABIs, both hard and soft float). The different GCC versions are to cover the different cases in tgmath.h and tgmath.h tests properly (GCC 6 has _Float* only as typedefs in glibc headers, GCC 7 has proper _Float* support, GCC 8 adds __builtin_tgmath).
2021-09-22 21:25:31 +00:00
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
Add narrowing square root functions This patch adds the narrowing square root functions from TS 18661-1 / TS 18661-3 / C2X to glibc's libm: fsqrt, fsqrtl, dsqrtl, f32sqrtf64, f32sqrtf32x, f32xsqrtf64 for all configurations; f32sqrtf64x, f32sqrtf128, f64sqrtf64x, f64sqrtf128, f32xsqrtf64x, f32xsqrtf128, f64xsqrtf128 for configurations with _Float64x and _Float128; __f32sqrtieee128 and __f64sqrtieee128 aliases in the powerpc64le case (for calls to fsqrtl and dsqrtl when long double is IEEE binary128). Corresponding tgmath.h macro support is also added. The changes are mostly similar to those for the other narrowing functions previously added, so the description of those generally applies to this patch as well. However, the not-actually-narrowing cases (where the two types involved in the function have the same floating-point format) are aliased to sqrt, sqrtl or sqrtf128 rather than needing a separately built not-actually-narrowing function such as was needed for add / sub / mul / div. Thus, there is no __nldbl_dsqrtl name for ldbl-opt because no such name was needed (whereas the other functions needed such a name since the only other name for that entry point was e.g. f32xaddf64, not reserved by TS 18661-1); the headers are made to arrange for sqrt to be called in that case instead. The DIAG_* calls in sysdeps/ieee754/soft-fp/s_dsqrtl.c are because they were observed to be needed in GCC 7 testing of riscv32-linux-gnu-rv32imac-ilp32. The other sysdeps/ieee754/soft-fp/ files added didn't need such DIAG_* in any configuration I tested with build-many-glibcs.py, but if they do turn out to be needed in more files with some other configuration / GCC version, they can always be added there. I reused the same test inputs in auto-libm-test-in as for non-narrowing sqrt rather than adding extra or separate inputs for narrowing sqrt. The tests in libm-test-narrow-sqrt.inc also follow those for non-narrowing sqrt. Tested as followed: natively with the full glibc testsuite for x86_64 (GCC 11, 7, 6) and x86 (GCC 11); with build-many-glibcs.py with GCC 11, 7 and 6; cross testing of math/ tests for powerpc64le, powerpc32 hard float, mips64 (all three ABIs, both hard and soft float). The different GCC versions are to cover the different cases in tgmath.h and tgmath.h tests properly (GCC 6 has _Float* only as typedefs in glibc headers, GCC 7 has proper _Float* support, GCC 8 adds __builtin_tgmath).
2021-09-10 20:56:22 +00:00
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
Add narrowing fma functions This patch adds the narrowing fused multiply-add functions from TS 18661-1 / TS 18661-3 / C2X to glibc's libm: ffma, ffmal, dfmal, f32fmaf64, f32fmaf32x, f32xfmaf64 for all configurations; f32fmaf64x, f32fmaf128, f64fmaf64x, f64fmaf128, f32xfmaf64x, f32xfmaf128, f64xfmaf128 for configurations with _Float64x and _Float128; __f32fmaieee128 and __f64fmaieee128 aliases in the powerpc64le case (for calls to ffmal and dfmal when long double is IEEE binary128). Corresponding tgmath.h macro support is also added. The changes are mostly similar to those for the other narrowing functions previously added, especially that for sqrt, so the description of those generally applies to this patch as well. As with sqrt, I reused the same test inputs in auto-libm-test-in as for non-narrowing fma rather than adding extra or separate inputs for narrowing fma. The tests in libm-test-narrow-fma.inc also follow those for non-narrowing fma. The non-narrowing fma has a known bug (bug 6801) that it does not set errno on errors (overflow, underflow, Inf * 0, Inf - Inf). Rather than fixing this or having narrowing fma check for errors when non-narrowing does not (complicating the cases when narrowing fma can otherwise be an alias for a non-narrowing function), this patch does not attempt to check for errors from narrowing fma and set errno; the CHECK_NARROW_FMA macro is still present, but as a placeholder that does nothing, and this missing errno setting is considered to be covered by the existing bug rather than needing a separate open bug. missing-errno annotations are duly added to many of the auto-libm-test-in test inputs for fma. This completes adding all the new functions from TS 18661-1 to glibc, so will be followed by corresponding stdc-predef.h changes to define __STDC_IEC_60559_BFP__ and __STDC_IEC_60559_COMPLEX__, as the support for TS 18661-1 will be at a similar level to that for C standard floating-point facilities up to C11 (pragmas not implemented, but library functions done). (There are still further changes to be done to implement changes to the types of fromfp functions from N2548.) Tested as followed: natively with the full glibc testsuite for x86_64 (GCC 11, 7, 6) and x86 (GCC 11); with build-many-glibcs.py with GCC 11, 7 and 6; cross testing of math/ tests for powerpc64le, powerpc32 hard float, mips64 (all three ABIs, both hard and soft float). The different GCC versions are to cover the different cases in tgmath.h and tgmath.h tests properly (GCC 6 has _Float* only as typedefs in glibc headers, GCC 7 has proper _Float* support, GCC 8 adds __builtin_tgmath).
2021-09-22 21:25:31 +00:00
GLIBC_2.35 f32xfmaf64 F
Add narrowing square root functions This patch adds the narrowing square root functions from TS 18661-1 / TS 18661-3 / C2X to glibc's libm: fsqrt, fsqrtl, dsqrtl, f32sqrtf64, f32sqrtf32x, f32xsqrtf64 for all configurations; f32sqrtf64x, f32sqrtf128, f64sqrtf64x, f64sqrtf128, f32xsqrtf64x, f32xsqrtf128, f64xsqrtf128 for configurations with _Float64x and _Float128; __f32sqrtieee128 and __f64sqrtieee128 aliases in the powerpc64le case (for calls to fsqrtl and dsqrtl when long double is IEEE binary128). Corresponding tgmath.h macro support is also added. The changes are mostly similar to those for the other narrowing functions previously added, so the description of those generally applies to this patch as well. However, the not-actually-narrowing cases (where the two types involved in the function have the same floating-point format) are aliased to sqrt, sqrtl or sqrtf128 rather than needing a separately built not-actually-narrowing function such as was needed for add / sub / mul / div. Thus, there is no __nldbl_dsqrtl name for ldbl-opt because no such name was needed (whereas the other functions needed such a name since the only other name for that entry point was e.g. f32xaddf64, not reserved by TS 18661-1); the headers are made to arrange for sqrt to be called in that case instead. The DIAG_* calls in sysdeps/ieee754/soft-fp/s_dsqrtl.c are because they were observed to be needed in GCC 7 testing of riscv32-linux-gnu-rv32imac-ilp32. The other sysdeps/ieee754/soft-fp/ files added didn't need such DIAG_* in any configuration I tested with build-many-glibcs.py, but if they do turn out to be needed in more files with some other configuration / GCC version, they can always be added there. I reused the same test inputs in auto-libm-test-in as for non-narrowing sqrt rather than adding extra or separate inputs for narrowing sqrt. The tests in libm-test-narrow-sqrt.inc also follow those for non-narrowing sqrt. Tested as followed: natively with the full glibc testsuite for x86_64 (GCC 11, 7, 6) and x86 (GCC 11); with build-many-glibcs.py with GCC 11, 7 and 6; cross testing of math/ tests for powerpc64le, powerpc32 hard float, mips64 (all three ABIs, both hard and soft float). The different GCC versions are to cover the different cases in tgmath.h and tgmath.h tests properly (GCC 6 has _Float* only as typedefs in glibc headers, GCC 7 has proper _Float* support, GCC 8 adds __builtin_tgmath).
2021-09-10 20:56:22 +00:00
GLIBC_2.35 f32xsqrtf64 F
Add narrowing fma functions This patch adds the narrowing fused multiply-add functions from TS 18661-1 / TS 18661-3 / C2X to glibc's libm: ffma, ffmal, dfmal, f32fmaf64, f32fmaf32x, f32xfmaf64 for all configurations; f32fmaf64x, f32fmaf128, f64fmaf64x, f64fmaf128, f32xfmaf64x, f32xfmaf128, f64xfmaf128 for configurations with _Float64x and _Float128; __f32fmaieee128 and __f64fmaieee128 aliases in the powerpc64le case (for calls to ffmal and dfmal when long double is IEEE binary128). Corresponding tgmath.h macro support is also added. The changes are mostly similar to those for the other narrowing functions previously added, especially that for sqrt, so the description of those generally applies to this patch as well. As with sqrt, I reused the same test inputs in auto-libm-test-in as for non-narrowing fma rather than adding extra or separate inputs for narrowing fma. The tests in libm-test-narrow-fma.inc also follow those for non-narrowing fma. The non-narrowing fma has a known bug (bug 6801) that it does not set errno on errors (overflow, underflow, Inf * 0, Inf - Inf). Rather than fixing this or having narrowing fma check for errors when non-narrowing does not (complicating the cases when narrowing fma can otherwise be an alias for a non-narrowing function), this patch does not attempt to check for errors from narrowing fma and set errno; the CHECK_NARROW_FMA macro is still present, but as a placeholder that does nothing, and this missing errno setting is considered to be covered by the existing bug rather than needing a separate open bug. missing-errno annotations are duly added to many of the auto-libm-test-in test inputs for fma. This completes adding all the new functions from TS 18661-1 to glibc, so will be followed by corresponding stdc-predef.h changes to define __STDC_IEC_60559_BFP__ and __STDC_IEC_60559_COMPLEX__, as the support for TS 18661-1 will be at a similar level to that for C standard floating-point facilities up to C11 (pragmas not implemented, but library functions done). (There are still further changes to be done to implement changes to the types of fromfp functions from N2548.) Tested as followed: natively with the full glibc testsuite for x86_64 (GCC 11, 7, 6) and x86 (GCC 11); with build-many-glibcs.py with GCC 11, 7 and 6; cross testing of math/ tests for powerpc64le, powerpc32 hard float, mips64 (all three ABIs, both hard and soft float). The different GCC versions are to cover the different cases in tgmath.h and tgmath.h tests properly (GCC 6 has _Float* only as typedefs in glibc headers, GCC 7 has proper _Float* support, GCC 8 adds __builtin_tgmath).
2021-09-22 21:25:31 +00:00
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
Add fmaximum, fminimum functions C2X adds new <math.h> functions for floating-point maximum and minimum, corresponding to the new operations that were added in IEEE 754-2019 because of concerns about the old operations not being associative in the presence of signaling NaNs. fmaximum and fminimum handle NaNs like most <math.h> functions (any NaN argument means the result is a quiet NaN). fmaximum_num and fminimum_num handle both quiet and signaling NaNs the way fmax and fmin handle quiet NaNs (if one argument is a number and the other is a NaN, return the number), but still raise "invalid" for a signaling NaN argument, making them exceptions to the normal rule that a function with a floating-point result raising "invalid" also returns a quiet NaN. fmaximum_mag, fminimum_mag, fmaximum_mag_num and fminimum_mag_num are corresponding functions returning the argument with greatest or least absolute value. All these functions also treat +0 as greater than -0. There are also corresponding <tgmath.h> type-generic macros. Add these functions to glibc. The implementations use type-generic templates based on those for fmax, fmin, fmaxmag and fminmag, and test inputs are based on those for those functions with appropriate adjustments to the expected results. The RISC-V maintainers might wish to add optimized versions of fmaximum_num and fminimum_num (for float and double), since RISC-V (F extension version 2.2 and later) provides instructions corresponding to those functions - though it might be at least as useful to add architecture-independent built-in functions to GCC and teach the RISC-V back end to expand those functions inline, which is what you generally want for functions that can be implemented with a single instruction. Tested for x86_64 and x86, and with build-many-glibcs.py.
2021-09-28 23:31:35 +00:00
GLIBC_2.35 fmaximum F
GLIBC_2.35 fmaximum_mag F
GLIBC_2.35 fmaximum_mag_num F
GLIBC_2.35 fmaximum_mag_numf F
GLIBC_2.35 fmaximum_mag_numf32 F
GLIBC_2.35 fmaximum_mag_numf32x F
GLIBC_2.35 fmaximum_mag_numf64 F
GLIBC_2.35 fmaximum_mag_numl F
GLIBC_2.35 fmaximum_magf F
GLIBC_2.35 fmaximum_magf32 F
GLIBC_2.35 fmaximum_magf32x F
GLIBC_2.35 fmaximum_magf64 F
GLIBC_2.35 fmaximum_magl F
GLIBC_2.35 fmaximum_num F
GLIBC_2.35 fmaximum_numf F
GLIBC_2.35 fmaximum_numf32 F
GLIBC_2.35 fmaximum_numf32x F
GLIBC_2.35 fmaximum_numf64 F
GLIBC_2.35 fmaximum_numl F
GLIBC_2.35 fmaximumf F
GLIBC_2.35 fmaximumf32 F
GLIBC_2.35 fmaximumf32x F
GLIBC_2.35 fmaximumf64 F
GLIBC_2.35 fmaximuml F
GLIBC_2.35 fminimum F
GLIBC_2.35 fminimum_mag F
GLIBC_2.35 fminimum_mag_num F
GLIBC_2.35 fminimum_mag_numf F
GLIBC_2.35 fminimum_mag_numf32 F
GLIBC_2.35 fminimum_mag_numf32x F
GLIBC_2.35 fminimum_mag_numf64 F
GLIBC_2.35 fminimum_mag_numl F
GLIBC_2.35 fminimum_magf F
GLIBC_2.35 fminimum_magf32 F
GLIBC_2.35 fminimum_magf32x F
GLIBC_2.35 fminimum_magf64 F
GLIBC_2.35 fminimum_magl F
GLIBC_2.35 fminimum_num F
GLIBC_2.35 fminimum_numf F
GLIBC_2.35 fminimum_numf32 F
GLIBC_2.35 fminimum_numf32x F
GLIBC_2.35 fminimum_numf64 F
GLIBC_2.35 fminimum_numl F
GLIBC_2.35 fminimumf F
GLIBC_2.35 fminimumf32 F
GLIBC_2.35 fminimumf32x F
GLIBC_2.35 fminimumf64 F
GLIBC_2.35 fminimuml F
Add narrowing square root functions This patch adds the narrowing square root functions from TS 18661-1 / TS 18661-3 / C2X to glibc's libm: fsqrt, fsqrtl, dsqrtl, f32sqrtf64, f32sqrtf32x, f32xsqrtf64 for all configurations; f32sqrtf64x, f32sqrtf128, f64sqrtf64x, f64sqrtf128, f32xsqrtf64x, f32xsqrtf128, f64xsqrtf128 for configurations with _Float64x and _Float128; __f32sqrtieee128 and __f64sqrtieee128 aliases in the powerpc64le case (for calls to fsqrtl and dsqrtl when long double is IEEE binary128). Corresponding tgmath.h macro support is also added. The changes are mostly similar to those for the other narrowing functions previously added, so the description of those generally applies to this patch as well. However, the not-actually-narrowing cases (where the two types involved in the function have the same floating-point format) are aliased to sqrt, sqrtl or sqrtf128 rather than needing a separately built not-actually-narrowing function such as was needed for add / sub / mul / div. Thus, there is no __nldbl_dsqrtl name for ldbl-opt because no such name was needed (whereas the other functions needed such a name since the only other name for that entry point was e.g. f32xaddf64, not reserved by TS 18661-1); the headers are made to arrange for sqrt to be called in that case instead. The DIAG_* calls in sysdeps/ieee754/soft-fp/s_dsqrtl.c are because they were observed to be needed in GCC 7 testing of riscv32-linux-gnu-rv32imac-ilp32. The other sysdeps/ieee754/soft-fp/ files added didn't need such DIAG_* in any configuration I tested with build-many-glibcs.py, but if they do turn out to be needed in more files with some other configuration / GCC version, they can always be added there. I reused the same test inputs in auto-libm-test-in as for non-narrowing sqrt rather than adding extra or separate inputs for narrowing sqrt. The tests in libm-test-narrow-sqrt.inc also follow those for non-narrowing sqrt. Tested as followed: natively with the full glibc testsuite for x86_64 (GCC 11, 7, 6) and x86 (GCC 11); with build-many-glibcs.py with GCC 11, 7 and 6; cross testing of math/ tests for powerpc64le, powerpc32 hard float, mips64 (all three ABIs, both hard and soft float). The different GCC versions are to cover the different cases in tgmath.h and tgmath.h tests properly (GCC 6 has _Float* only as typedefs in glibc headers, GCC 7 has proper _Float* support, GCC 8 adds __builtin_tgmath).
2021-09-10 20:56:22 +00:00
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
Implement C23 exp2m1, exp10m1 C23 adds various <math.h> function families originally defined in TS 18661-4. Add the exp2m1 and exp10m1 functions (exp2(x)-1 and exp10(x)-1, like expm1). As with other such functions, these use type-generic templates that could be replaced with faster and more accurate type-specific implementations in future. Test inputs are copied from those for expm1, plus some additions close to the overflow threshold (copied from exp2 and exp10) and also some near the underflow threshold. exp2m1 has the unusual property of having an input (M_MAX_EXP) where whether the function overflows (under IEEE semantics) depends on the rounding mode. Although these could reasonably be XFAILed in the testsuite (as we do in some cases for arguments very close to a function's overflow threshold when an error of a few ulps in the implementation can result in the implementation not agreeing with an ideal one on whether overflow takes place - the testsuite isn't smart enough to handle this automatically), since these functions aren't required to be correctly rounding, I made the implementation check for and handle this case specially. The Makefile ordering expected by lint-makefiles for the new functions is a bit peculiar, but I implemented it in this patch so that the test passes; I don't know why log2 also needed moving in one Makefile variable setting when it didn't in my previous patches, but the failure showed a different place was expected for that function as well. The powerpc64le IFUNC setup seems not to be as self-contained as one might hope; it shouldn't be necessary to add IFUNCs for new functions such as these simply to get them building, but without setting up IFUNCs for the new functions, there were undefined references to __GI___expm1f128 (that IFUNC machinery results in no such function being defined, but doesn't stop include/math.h from doing the redirection resulting in the exp2m1f128 and exp10m1f128 implementations expecting to call it). Tested for x86_64 and x86, and with build-many-glibcs.py.
2024-06-17 16:31:49 +00:00
GLIBC_2.40 exp10m1 F
GLIBC_2.40 exp10m1f F
GLIBC_2.40 exp10m1f32 F
GLIBC_2.40 exp10m1f32x F
GLIBC_2.40 exp10m1f64 F
GLIBC_2.40 exp10m1l F
GLIBC_2.40 exp2m1 F
GLIBC_2.40 exp2m1f F
GLIBC_2.40 exp2m1f32 F
GLIBC_2.40 exp2m1f32x F
GLIBC_2.40 exp2m1f64 F
GLIBC_2.40 exp2m1l F
GLIBC_2.40 log10p1 F
GLIBC_2.40 log10p1f F
GLIBC_2.40 log10p1f32 F
GLIBC_2.40 log10p1f32x F
GLIBC_2.40 log10p1f64 F
GLIBC_2.40 log10p1l F
GLIBC_2.40 log2p1 F
GLIBC_2.40 log2p1f F
GLIBC_2.40 log2p1f32 F
GLIBC_2.40 log2p1f32x F
GLIBC_2.40 log2p1f64 F
GLIBC_2.40 log2p1l F
GLIBC_2.40 logp1 F
GLIBC_2.40 logp1f F
GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
GLIBC_2.41 atan2pif32x F
GLIBC_2.41 atan2pif64 F
GLIBC_2.41 atan2pil F
GLIBC_2.41 atanpi F
GLIBC_2.41 atanpif F
GLIBC_2.41 atanpif32 F
GLIBC_2.41 atanpif32x F
GLIBC_2.41 atanpif64 F
GLIBC_2.41 atanpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F
Implement C23 pown C23 adds various <math.h> function families originally defined in TS 18661-4. Add the pown functions, which are like pow but with an integer exponent. That exponent has type long long int in C23; it was intmax_t in TS 18661-4, and as with other interfaces changed after their initial appearance in the TS, I don't think we need to support the original version of the interface. The test inputs are based on the subset of test inputs for pow that use integer exponents that fit in long long. As the first such template implementation that saves and restores the rounding mode internally (to avoid possible issues with directed rounding and intermediate overflows or underflows in the wrong rounding mode), support also needed to be added for using SET_RESTORE_ROUND* in such template function implementations. This required math-type-macros-float128.h to include <fenv_private.h>, so it can tell whether SET_RESTORE_ROUNDF128 is defined. In turn, the include order with <fenv_private.h> included before <math_private.h> broke loongarch builds, showing up that sysdeps/loongarch/math_private.h is really a fenv_private.h file (maybe implemented internally before the consistent split of those headers in 2018?) and needed to be renamed to fenv_private.h to avoid errors with duplicate macro definitions if <math_private.h> is included after <fenv_private.h>. The underlying implementation uses __ieee754_pow functions (called more than once in some cases, where the exponent does not fit in the floating type). I expect a custom implementation for a given format, that only handles integer exponents but handles larger exponents directly, could be faster and more accurate in some cases. I encourage searching for worst cases for ulps error for these implementations (necessarily non-exhaustively, given the size of the input space). Tested for x86_64 and x86, and with build-many-glibcs.py.
2025-03-27 10:44:44 +00:00
GLIBC_2.42 pown F
GLIBC_2.42 pownf F
GLIBC_2.42 pownf32 F
GLIBC_2.42 pownf32x F
GLIBC_2.42 pownf64 F
GLIBC_2.42 pownl F
Implement C23 powr C23 adds various <math.h> function families originally defined in TS 18661-4. Add the powr functions, which are like pow, but with simpler handling of special cases (based on exp(y*log(x)), so negative x and 0^0 are domain errors, powers of -0 are always +0 or +Inf never -0 or -Inf, and 1^+-Inf and Inf^0 are also domain errors, while NaN^0 and 1^NaN are NaN). The test inputs are taken from those for pow, with appropriate adjustments (including removing all tests that would be domain errors from those in auto-libm-test-in and adding some more such tests in libm-test-powr.inc). The underlying implementation uses __ieee754_pow functions after dealing with all special cases that need to be handled differently. It might be a little faster (avoiding a wrapper and redundant checks for special cases) to have an underlying implementation built separately for both pow and powr with compile-time conditionals for special-case handling, but I expect the benefit of that would be limited given that both functions will end up needing to use the same logic for computing pow outside of special cases. My understanding is that powr(negative, qNaN) should raise "invalid": that the rule on "invalid" for an argument outside the domain of the function takes precedence over a quiet NaN argument producing a quiet NaN result with no exceptions raised (for rootn it's explicit that the 0th root of qNaN raises "invalid"). I've raised this on the WG14 reflector to confirm the intent. Tested for x86_64 and x86, and with build-many-glibcs.py.
2025-03-14 15:58:11 +00:00
GLIBC_2.42 powr F
GLIBC_2.42 powrf F
GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
GLIBC_2.42 rsqrtf32x F
GLIBC_2.42 rsqrtf64 F
GLIBC_2.42 rsqrtl F