mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-10-30 10:45:40 +03:00 
			
		
		
		
	This patch adds the narrowing divide functions from TS 18661-1 to glibc's libm: fdiv, fdivl, ddivl, f32divf64, f32divf32x, f32xdivf64 for all configurations; f32divf64x, f32divf128, f64divf64x, f64divf128, f32xdivf64x, f32xdivf128, f64xdivf128 for configurations with _Float64x and _Float128; __nldbl_ddivl for ldbl-opt. The changes are mostly essentially the same as for the other narrowing functions, so the description of those generally applies to this patch as well. Tested for x86_64, x86, mips64 (all three ABIs, both hard and soft float) and powerpc, and with build-many-glibcs.py. * math/Makefile (libm-narrow-fns): Add div. (libm-test-funcs-narrow): Likewise. * math/Versions (GLIBC_2.28): Add narrowing divide functions. * math/bits/mathcalls-narrow.h (div): Use __MATHCALL_NARROW. * math/gen-auto-libm-tests.c (test_functions): Add div. * math/math-narrow.h (CHECK_NARROW_DIV): New macro. (NARROW_DIV_ROUND_TO_ODD): Likewise. (NARROW_DIV_TRIVIAL): Likewise. * sysdeps/ieee754/float128/float128_private.h (__fdivl): New macro. (__ddivl): Likewise. * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fdiv and ddiv. (CFLAGS-nldbl-ddiv.c): New variable. (CFLAGS-nldbl-fdiv.c): Likewise. * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add __nldbl_ddivl. * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_ddivl): New prototype. * manual/arith.texi (Misc FP Arithmetic): Document fdiv, fdivl, ddivl, fMdivfN, fMdivfNx, fMxdivfN and fMxdivfNx. * math/auto-libm-test-in: Add tests of div. * math/auto-libm-test-out-narrow-div: New generated file. * math/libm-test-narrow-div.inc: New file. * sysdeps/i386/fpu/s_f32xdivf64.c: Likewise. * sysdeps/ieee754/dbl-64/s_f32xdivf64.c: Likewise. * sysdeps/ieee754/dbl-64/s_fdiv.c: Likewise. * sysdeps/ieee754/float128/s_f32divf128.c: Likewise. * sysdeps/ieee754/float128/s_f64divf128.c: Likewise. * sysdeps/ieee754/float128/s_f64xdivf128.c: Likewise. * sysdeps/ieee754/ldbl-128/s_ddivl.c: Likewise. * sysdeps/ieee754/ldbl-128/s_f64xdivf128.c: Likewise. * sysdeps/ieee754/ldbl-128/s_fdivl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_ddivl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_fdivl.c: Likewise. * sysdeps/ieee754/ldbl-96/s_ddivl.c: Likewise. * sysdeps/ieee754/ldbl-96/s_fdivl.c: Likewise. * sysdeps/ieee754/ldbl-opt/nldbl-ddiv.c: Likewise. * sysdeps/ieee754/ldbl-opt/nldbl-fdiv.c: Likewise. * sysdeps/ieee754/soft-fp/s_ddivl.c: Likewise. * sysdeps/ieee754/soft-fp/s_fdiv.c: Likewise. * sysdeps/ieee754/soft-fp/s_fdivl.c: Likewise. * sysdeps/powerpc/fpu/libm-test-ulps: Update. * sysdeps/mach/hurd/i386/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
		
			
				
	
	
		
			579 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			579 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| %include <float128-abi.h>
 | |
| libc {
 | |
|   GLIBC_2.0 {
 | |
|     # functions used in inline functions or macros
 | |
|     __isnan; __isnanf; __isnanl; __finite; __finitef; __finitel;
 | |
|     __isinf; __isinff; __isinfl;
 | |
| 
 | |
|     # global variables
 | |
|     __fpu_control;
 | |
| 
 | |
|     # c*
 | |
|     copysign; copysignf; copysignl;
 | |
| 
 | |
|     # f*
 | |
|     finite; finitef; finitel; frexp; frexpf; frexpl;
 | |
| 
 | |
|     # i*
 | |
|     isinf; isinff; isinfl; isnan; isnanf; isnanl; ldexp; ldexpf; ldexpl;
 | |
| 
 | |
|     # m*
 | |
|     modf; modff; modfl;
 | |
| 
 | |
|     # s*
 | |
|     scalbn; scalbnf; scalbnl;
 | |
|   }
 | |
|   GLIBC_2.1 {
 | |
|     # functions used in inline functions or macros
 | |
|     __signbit; __signbitf; __signbitl;
 | |
| 
 | |
|     # s*
 | |
|     scalbln; scalblnf; scalblnl;
 | |
|   }
 | |
|   GLIBC_2.20 {
 | |
|   }
 | |
| }
 | |
| 
 | |
| libm {
 | |
|   GLIBC_2.0 {
 | |
|     # mathematical functions
 | |
|     acos; acosf; acosl;
 | |
|     acosh; acoshf; acoshl;
 | |
|     asin; asinf; asinl;
 | |
|     asinh; asinhf; asinhl;
 | |
|     atan2; atan2f; atan2l;
 | |
|     atan; atanf; atanl;
 | |
|     atanh; atanhf; atanhl;
 | |
|     cbrt; cbrtf; cbrtl;
 | |
|     ceil; ceilf; ceill;
 | |
|     copysign; copysignf; copysignl;
 | |
|     cos; cosf; cosl;
 | |
|     coshf; cosh; coshl;
 | |
|     drem; dremf; dreml;
 | |
|     erf; erff; erfl;
 | |
|     erfc; erfcf; erfcl;
 | |
|     exp; expf; expl;
 | |
|     expm1; expm1f; expm1l;
 | |
|     fabs; fabsf; fabsl;
 | |
|     finite; finitef; finitel;
 | |
|     floor; floorf; floorl;
 | |
|     fmod; fmodf; fmodl;
 | |
|     frexp; frexpf; frexpl;
 | |
|     gamma; gammaf; gammal;
 | |
|     gamma_r; gammaf_r; gammal_r;
 | |
|     hypot; hypotf; hypotl;
 | |
|     ilogb; ilogbf; ilogbl;
 | |
|     j0; j0f; j0l;
 | |
|     j1; j1f; j1l;
 | |
|     jn; jnf; jnl;
 | |
|     ldexp; ldexpf; ldexpl;
 | |
|     lgamma; lgammaf; lgammal;
 | |
|     lgamma_r; lgammaf_r; lgammal_r;
 | |
|     log10; log10f; log10l;
 | |
|     log1p; log1pf; log1pl;
 | |
|     log; logf; logl;
 | |
|     logb; logbf; logbl;
 | |
|     matherr;
 | |
|     modf; modff; modfl;
 | |
|     nextafter; nextafterf; nextafterl;
 | |
|     pow; powf; powl;
 | |
|     remainder; remainderf; remainderl;
 | |
|     rint; rintf; rintl;
 | |
|     scalb; scalbf; scalbl;
 | |
|     scalbn; scalbnf; scalbnl;
 | |
|     significand; significandf; significandl;
 | |
|     sin; sinf; sinl;
 | |
|     sinh; sinhf; sinhl;
 | |
|     sqrt; sqrtf; sqrtl;
 | |
|     tan; tanf; tanl;
 | |
|     tanh; tanhf; tanhl;
 | |
|     y0; y0f; y0l;
 | |
|     y1; y1f; y1l;
 | |
|     yn; ynf; ynl;
 | |
| 
 | |
| 
 | |
|     # global variables
 | |
|     _LIB_VERSION; signgam;
 | |
|   }
 | |
|   GLIBC_2.1 {
 | |
|     # mathematical functions
 | |
|     exp2; exp2f; # exp2l; -- bug omitted this until GLIBC_2.4 (below)
 | |
|     exp10; exp10f; exp10l;
 | |
|     fdim; fdimf; fdiml;
 | |
|     fma; fmaf; fmal;
 | |
|     fmax; fmaxf; fmaxl;
 | |
|     fmin; fminf; fminl;
 | |
|     log2; log2f; log2l;
 | |
|     nan; nanf; nanl;
 | |
|     nearbyint; nearbyintf; nearbyintl;
 | |
|     nexttoward; nexttowardf; nexttowardl;
 | |
|     pow10; pow10f; pow10l;
 | |
|     remquo; remquof; remquol;
 | |
|     lrint; lrintf; lrintl;
 | |
|     llrint; llrintf; llrintl;
 | |
|     round; roundf; roundl;
 | |
|     lround; lroundf; lroundl;
 | |
|     llround; llroundf; llroundl;
 | |
|     scalbln; scalblnf; scalblnl;
 | |
|     sincos; sincosf; sincosl;
 | |
|     trunc; truncf; truncl;
 | |
|     tgamma; tgammaf; tgammal;
 | |
| 
 | |
|     # complex functions
 | |
|     cabs; cabsf; cabsl;
 | |
|     cacos; cacosf; cacosl;
 | |
|     cacosh; cacoshf; cacoshl;
 | |
|     carg; cargf; cargl;
 | |
|     casin; casinf; casinl;
 | |
|     casinh; casinhf; casinhl;
 | |
|     catan; catanf; catanl;
 | |
|     catanh; catanhf; catanhl;
 | |
|     ccos; ccosf; ccosl;
 | |
|     ccosh; ccoshf; ccoshl;
 | |
|     cexp; cexpf; cexpl;
 | |
|     cimag; cimagf; cimagl;
 | |
|     clog; clogf; clogl;
 | |
|     clog10; clog10f; clog10l;
 | |
|     __clog10; __clog10f; __clog10l;
 | |
|     conj; conjf; conjl;
 | |
|     cpow; cpowf; cpowl;
 | |
|     cproj; cprojf; cprojl;
 | |
|     creal; crealf; creall;
 | |
|     csin; csinf; csinl;
 | |
|     csinh; csinhf; csinhl;
 | |
|     csqrt; csqrtf; csqrtl;
 | |
|     ctan; ctanf; ctanl;
 | |
|     ctanh; ctanhf; ctanhl;
 | |
| 
 | |
|     # fp environment functions
 | |
|     feclearexcept; fegetenv; fegetexceptflag;
 | |
|     fegetround; feholdexcept; feraiseexcept;
 | |
|     fesetenv; fesetexceptflag; fesetround;
 | |
|     fetestexcept; feupdateenv;
 | |
| 
 | |
|     # functions used in inline functions or macros
 | |
|     __finite; __finitef; __finitel;
 | |
|     __fpclassify; __fpclassifyf; __fpclassifyl;
 | |
|     __signbit; __signbitf; __signbitl;
 | |
|   }
 | |
|   GLIBC_2.2 {
 | |
|     # fp environment functions changes from ISO C99 TR1
 | |
|     feclearexcept; fegetenv; fegetexceptflag; feraiseexcept;
 | |
|     fesetenv; fesetexceptflag; feupdateenv;
 | |
| 
 | |
|     # fp environment function
 | |
|     feenableexcept; fedisableexcept; fegetexcept;
 | |
|   }
 | |
|   GLIBC_2.4 {
 | |
|     # A bug in sysdeps/generic/w_exp2.c kept this from appearing
 | |
|     # in GLIBC_2.1 as it should have on platforms using that
 | |
|     # implementation file.  On others, sysdeps/CPU/Versions now
 | |
|     # puts exp2l in GLIBC_2.1, which will override this entry.
 | |
|     exp2l;
 | |
|   }
 | |
|   GLIBC_2.15 {
 | |
|     # Optimized -ffinite-math-only entry points
 | |
|     __acos_finite; __acosf_finite; __acosl_finite;
 | |
|     __acosh_finite; __acoshf_finite; __acoshl_finite;
 | |
|     __asin_finite; __asinf_finite; __asinl_finite;
 | |
|     __atan2_finite; __atan2f_finite; __atan2l_finite;
 | |
|     __atanh_finite; __atanhf_finite; __atanhl_finite;
 | |
|     __cosh_finite; __coshf_finite; __coshl_finite;
 | |
|     __exp10_finite; __exp10f_finite; __exp10l_finite;
 | |
|     __exp2_finite; __exp2f_finite; __exp2l_finite;
 | |
|     __fmod_finite; __fmodf_finite; __fmodl_finite;
 | |
|     __hypot_finite; __hypotf_finite; __hypotl_finite;
 | |
|     __j0_finite; __j0f_finite; __j0l_finite;
 | |
|     __y0_finite; __y0f_finite; __y0l_finite;
 | |
|     __j1_finite; __j1f_finite; __j1l_finite;
 | |
|     __y1_finite; __y1f_finite; __y1l_finite;
 | |
|     __jn_finite; __jnf_finite; __jnl_finite;
 | |
|     __yn_finite; __ynf_finite; __ynl_finite;
 | |
|     __lgamma_r_finite; __lgammaf_r_finite; __lgammal_r_finite;
 | |
|     __log_finite; __logf_finite; __logl_finite;
 | |
|     __log10_finite; __log10f_finite; __log10l_finite;
 | |
|     __log2_finite; __log2f_finite; __log2l_finite;
 | |
|     __pow_finite; __powf_finite; __powl_finite;
 | |
|     __remainder_finite; __remainderf_finite; __remainderl_finite;
 | |
|     __scalb_finite; __scalbf_finite; __scalbl_finite;
 | |
|     __sinh_finite; __sinhf_finite; __sinhl_finite;
 | |
|     __sqrt_finite; __sqrtf_finite; __sqrtl_finite;
 | |
|     __gamma_r_finite; __gammaf_r_finite; __gammal_r_finite;
 | |
|     __exp_finite; __expf_finite; __expl_finite;
 | |
|   }
 | |
|   GLIBC_2.18 {
 | |
|     __issignaling; __issignalingf; __issignalingl;
 | |
|   }
 | |
|   GLIBC_2.23 {
 | |
|     # The __signgam name must be exported for the signgam weak alias
 | |
|     # to work.  New symbol versions of lgamma* that set __signgam are
 | |
|     # needed to preserve compatibility with old binaries that have a
 | |
|     # dynamic symbol for signgam but not __signgam.
 | |
|     lgamma; lgammaf; lgammal; __signgam;
 | |
|   }
 | |
|   GLIBC_2.24 {
 | |
|     nextup; nextupf; nextupl;
 | |
|     nextdown; nextdownf; nextdownl;
 | |
|   }
 | |
|   GLIBC_2.25 {
 | |
|     fesetexcept; fetestexceptflag; fegetmode; fesetmode;
 | |
|     __iscanonicall; __iseqsigf; __iseqsig; __iseqsigl;
 | |
|     totalorder; totalorderf; totalorderl;
 | |
|     totalordermag; totalordermagf; totalordermagl;
 | |
|     getpayload; getpayloadf; getpayloadl;
 | |
|     canonicalize; canonicalizef; canonicalizel;
 | |
|     setpayload; setpayloadf; setpayloadl;
 | |
|     setpayloadsig; setpayloadsigf; setpayloadsigl;
 | |
|     llogb; llogbf; llogbl;
 | |
|     fmaxmag; fmaxmagf; fmaxmagl; fminmag; fminmagf; fminmagl;
 | |
|     roundeven; roundevenf; roundevenl;
 | |
|     fromfp; fromfpf; fromfpl; ufromfp; ufromfpf; ufromfpl;
 | |
|     fromfpx; fromfpxf; fromfpxl; ufromfpx; ufromfpxf; ufromfpxl;
 | |
|   }
 | |
| %ifdef FLOAT128_VERSION
 | |
|   FLOAT128_VERSION {
 | |
|     acosf128;
 | |
|     acoshf128;
 | |
|     asinf128;
 | |
|     asinhf128;
 | |
|     atan2f128;
 | |
|     atanf128;
 | |
|     atanhf128;
 | |
|     cabsf128;
 | |
|     cacosf128;
 | |
|     cacoshf128;
 | |
|     canonicalizef128;
 | |
|     cargf128;
 | |
|     casinf128;
 | |
|     casinhf128;
 | |
|     catanf128;
 | |
|     catanhf128;
 | |
|     cbrtf128;
 | |
|     ccosf128;
 | |
|     ccoshf128;
 | |
|     ceilf128;
 | |
|     cexpf128;
 | |
|     cimagf128;
 | |
|     clog10f128;
 | |
|     clogf128;
 | |
|     conjf128;
 | |
|     copysignf128;
 | |
|     cosf128;
 | |
|     coshf128;
 | |
|     cpowf128;
 | |
|     cprojf128;
 | |
|     crealf128;
 | |
|     csinf128;
 | |
|     csinhf128;
 | |
|     csqrtf128;
 | |
|     ctanf128;
 | |
|     ctanhf128;
 | |
|     erfcf128;
 | |
|     erff128;
 | |
|     exp10f128;
 | |
|     exp2f128;
 | |
|     expf128;
 | |
|     expm1f128;
 | |
|     fabsf128;
 | |
|     fdimf128;
 | |
|     floorf128;
 | |
|     fmaf128;
 | |
|     fmaxf128;
 | |
|     fmaxmagf128;
 | |
|     fminf128;
 | |
|     fminmagf128;
 | |
|     fmodf128;
 | |
|     frexpf128;
 | |
|     fromfpf128;
 | |
|     fromfpxf128;
 | |
|     getpayloadf128;
 | |
|     hypotf128;
 | |
|     ilogbf128;
 | |
|     j0f128;
 | |
|     j1f128;
 | |
|     jnf128;
 | |
|     ldexpf128;
 | |
|     lgammaf128;
 | |
|     lgammaf128_r;
 | |
|     llogbf128;
 | |
|     llrintf128;
 | |
|     llroundf128;
 | |
|     log10f128;
 | |
|     log1pf128;
 | |
|     log2f128;
 | |
|     logbf128;
 | |
|     logf128;
 | |
|     lrintf128;
 | |
|     lroundf128;
 | |
|     modff128;
 | |
|     nanf128;
 | |
|     nearbyintf128;
 | |
|     nextafterf128;
 | |
|     nextdownf128;
 | |
|     nextupf128;
 | |
|     powf128;
 | |
|     remainderf128;
 | |
|     remquof128;
 | |
|     rintf128;
 | |
|     roundevenf128;
 | |
|     roundf128;
 | |
|     scalblnf128;
 | |
|     scalbnf128;
 | |
|     setpayloadf128;
 | |
|     setpayloadsigf128;
 | |
|     sincosf128;
 | |
|     sinf128;
 | |
|     sinhf128;
 | |
|     sqrtf128;
 | |
|     tanf128;
 | |
|     tanhf128;
 | |
|     tgammaf128;
 | |
|     totalorderf128;
 | |
|     totalordermagf128;
 | |
|     truncf128;
 | |
|     ufromfpf128;
 | |
|     ufromfpxf128;
 | |
|     y0f128;
 | |
|     y1f128;
 | |
|     ynf128;
 | |
|   }
 | |
| %endif
 | |
|   GLIBC_2.27 {
 | |
|     expf; exp2f; logf; log2f; powf;
 | |
|     # _Float64x functions, only present for some configurations.
 | |
|     acosf64x;
 | |
|     acoshf64x;
 | |
|     asinf64x;
 | |
|     asinhf64x;
 | |
|     atan2f64x;
 | |
|     atanf64x;
 | |
|     atanhf64x;
 | |
|     cabsf64x;
 | |
|     cacosf64x;
 | |
|     cacoshf64x;
 | |
|     canonicalizef64x;
 | |
|     cargf64x;
 | |
|     casinf64x;
 | |
|     casinhf64x;
 | |
|     catanf64x;
 | |
|     catanhf64x;
 | |
|     cbrtf64x;
 | |
|     ccosf64x;
 | |
|     ccoshf64x;
 | |
|     ceilf64x;
 | |
|     cexpf64x;
 | |
|     cimagf64x;
 | |
|     clog10f64x;
 | |
|     clogf64x;
 | |
|     conjf64x;
 | |
|     copysignf64x;
 | |
|     cosf64x;
 | |
|     coshf64x;
 | |
|     cpowf64x;
 | |
|     cprojf64x;
 | |
|     crealf64x;
 | |
|     csinf64x;
 | |
|     csinhf64x;
 | |
|     csqrtf64x;
 | |
|     ctanf64x;
 | |
|     ctanhf64x;
 | |
|     erfcf64x;
 | |
|     erff64x;
 | |
|     exp10f64x;
 | |
|     exp2f64x;
 | |
|     expf64x;
 | |
|     expm1f64x;
 | |
|     fabsf64x;
 | |
|     fdimf64x;
 | |
|     floorf64x;
 | |
|     fmaf64x;
 | |
|     fmaxf64x;
 | |
|     fmaxmagf64x;
 | |
|     fminf64x;
 | |
|     fminmagf64x;
 | |
|     fmodf64x;
 | |
|     frexpf64x;
 | |
|     fromfpf64x;
 | |
|     fromfpxf64x;
 | |
|     getpayloadf64x;
 | |
|     hypotf64x;
 | |
|     ilogbf64x;
 | |
|     j0f64x;
 | |
|     j1f64x;
 | |
|     jnf64x;
 | |
|     ldexpf64x;
 | |
|     lgammaf64x;
 | |
|     lgammaf64x_r;
 | |
|     llogbf64x;
 | |
|     llrintf64x;
 | |
|     llroundf64x;
 | |
|     log10f64x;
 | |
|     log1pf64x;
 | |
|     log2f64x;
 | |
|     logbf64x;
 | |
|     logf64x;
 | |
|     lrintf64x;
 | |
|     lroundf64x;
 | |
|     modff64x;
 | |
|     nanf64x;
 | |
|     nearbyintf64x;
 | |
|     nextafterf64x;
 | |
|     nextdownf64x;
 | |
|     nextupf64x;
 | |
|     powf64x;
 | |
|     remainderf64x;
 | |
|     remquof64x;
 | |
|     rintf64x;
 | |
|     roundevenf64x;
 | |
|     roundf64x;
 | |
|     scalblnf64x;
 | |
|     scalbnf64x;
 | |
|     setpayloadf64x;
 | |
|     setpayloadsigf64x;
 | |
|     sincosf64x;
 | |
|     sinf64x;
 | |
|     sinhf64x;
 | |
|     sqrtf64x;
 | |
|     tanf64x;
 | |
|     tanhf64x;
 | |
|     tgammaf64x;
 | |
|     totalorderf64x;
 | |
|     totalordermagf64x;
 | |
|     truncf64x;
 | |
|     ufromfpf64x;
 | |
|     ufromfpxf64x;
 | |
|     y0f64x;
 | |
|     y1f64x;
 | |
|     ynf64x;
 | |
|     # _Float32, _Float64 and _Float32x functions, for all configurations.
 | |
|     acosf32; acosf64; acosf32x;
 | |
|     acoshf32; acoshf64; acoshf32x;
 | |
|     asinf32; asinf64; asinf32x;
 | |
|     asinhf32; asinhf64; asinhf32x;
 | |
|     atan2f32; atan2f64; atan2f32x;
 | |
|     atanf32; atanf64; atanf32x;
 | |
|     atanhf32; atanhf64; atanhf32x;
 | |
|     cabsf32; cabsf64; cabsf32x;
 | |
|     cacosf32; cacosf64; cacosf32x;
 | |
|     cacoshf32; cacoshf64; cacoshf32x;
 | |
|     canonicalizef32; canonicalizef64; canonicalizef32x;
 | |
|     cargf32; cargf64; cargf32x;
 | |
|     casinf32; casinf64; casinf32x;
 | |
|     casinhf32; casinhf64; casinhf32x;
 | |
|     catanf32; catanf64; catanf32x;
 | |
|     catanhf32; catanhf64; catanhf32x;
 | |
|     cbrtf32; cbrtf64; cbrtf32x;
 | |
|     ccosf32; ccosf64; ccosf32x;
 | |
|     ccoshf32; ccoshf64; ccoshf32x;
 | |
|     ceilf32; ceilf64; ceilf32x;
 | |
|     cexpf32; cexpf64; cexpf32x;
 | |
|     cimagf32; cimagf64; cimagf32x;
 | |
|     clog10f32; clog10f64; clog10f32x;
 | |
|     clogf32; clogf64; clogf32x;
 | |
|     conjf32; conjf64; conjf32x;
 | |
|     copysignf32; copysignf64; copysignf32x;
 | |
|     cosf32; cosf64; cosf32x;
 | |
|     coshf32; coshf64; coshf32x;
 | |
|     cpowf32; cpowf64; cpowf32x;
 | |
|     cprojf32; cprojf64; cprojf32x;
 | |
|     crealf32; crealf64; crealf32x;
 | |
|     csinf32; csinf64; csinf32x;
 | |
|     csinhf32; csinhf64; csinhf32x;
 | |
|     csqrtf32; csqrtf64; csqrtf32x;
 | |
|     ctanf32; ctanf64; ctanf32x;
 | |
|     ctanhf32; ctanhf64; ctanhf32x;
 | |
|     erfcf32; erfcf64; erfcf32x;
 | |
|     erff32; erff64; erff32x;
 | |
|     exp10f32; exp10f64; exp10f32x;
 | |
|     exp2f32; exp2f64; exp2f32x;
 | |
|     expf32; expf64; expf32x;
 | |
|     expm1f32; expm1f64; expm1f32x;
 | |
|     fabsf32; fabsf64; fabsf32x;
 | |
|     fdimf32; fdimf64; fdimf32x;
 | |
|     floorf32; floorf64; floorf32x;
 | |
|     fmaf32; fmaf64; fmaf32x;
 | |
|     fmaxf32; fmaxf64; fmaxf32x;
 | |
|     fmaxmagf32; fmaxmagf64; fmaxmagf32x;
 | |
|     fminf32; fminf64; fminf32x;
 | |
|     fminmagf32; fminmagf64; fminmagf32x;
 | |
|     fmodf32; fmodf64; fmodf32x;
 | |
|     frexpf32; frexpf64; frexpf32x;
 | |
|     fromfpf32; fromfpf64; fromfpf32x;
 | |
|     fromfpxf32; fromfpxf64; fromfpxf32x;
 | |
|     getpayloadf32; getpayloadf64; getpayloadf32x;
 | |
|     hypotf32; hypotf64; hypotf32x;
 | |
|     ilogbf32; ilogbf64; ilogbf32x;
 | |
|     j0f32; j0f64; j0f32x;
 | |
|     j1f32; j1f64; j1f32x;
 | |
|     jnf32; jnf64; jnf32x;
 | |
|     ldexpf32; ldexpf64; ldexpf32x;
 | |
|     lgammaf32; lgammaf64; lgammaf32x;
 | |
|     lgammaf32_r; lgammaf64_r; lgammaf32x_r;
 | |
|     llogbf32; llogbf64; llogbf32x;
 | |
|     llrintf32; llrintf64; llrintf32x;
 | |
|     llroundf32; llroundf64; llroundf32x;
 | |
|     log10f32; log10f64; log10f32x;
 | |
|     log1pf32; log1pf64; log1pf32x;
 | |
|     log2f32; log2f64; log2f32x;
 | |
|     logbf32; logbf64; logbf32x;
 | |
|     logf32; logf64; logf32x;
 | |
|     lrintf32; lrintf64; lrintf32x;
 | |
|     lroundf32; lroundf64; lroundf32x;
 | |
|     modff32; modff64; modff32x;
 | |
|     nanf32; nanf64; nanf32x;
 | |
|     nearbyintf32; nearbyintf64; nearbyintf32x;
 | |
|     nextafterf32; nextafterf64; nextafterf32x;
 | |
|     nextdownf32; nextdownf64; nextdownf32x;
 | |
|     nextupf32; nextupf64; nextupf32x;
 | |
|     powf32; powf64; powf32x;
 | |
|     remainderf32; remainderf64; remainderf32x;
 | |
|     remquof32; remquof64; remquof32x;
 | |
|     rintf32; rintf64; rintf32x;
 | |
|     roundevenf32; roundevenf64; roundevenf32x;
 | |
|     roundf32; roundf64; roundf32x;
 | |
|     scalblnf32; scalblnf64; scalblnf32x;
 | |
|     scalbnf32; scalbnf64; scalbnf32x;
 | |
|     setpayloadf32; setpayloadf64; setpayloadf32x;
 | |
|     setpayloadsigf32; setpayloadsigf64; setpayloadsigf32x;
 | |
|     sincosf32; sincosf64; sincosf32x;
 | |
|     sinf32; sinf64; sinf32x;
 | |
|     sinhf32; sinhf64; sinhf32x;
 | |
|     sqrtf32; sqrtf64; sqrtf32x;
 | |
|     tanf32; tanf64; tanf32x;
 | |
|     tanhf32; tanhf64; tanhf32x;
 | |
|     tgammaf32; tgammaf64; tgammaf32x;
 | |
|     totalorderf32; totalorderf64; totalorderf32x;
 | |
|     totalordermagf32; totalordermagf64; totalordermagf32x;
 | |
|     truncf32; truncf64; truncf32x;
 | |
|     ufromfpf32; ufromfpf64; ufromfpf32x;
 | |
|     ufromfpxf32; ufromfpxf64; ufromfpxf32x;
 | |
|     y0f32; y0f64; y0f32x;
 | |
|     y1f32; y1f64; y1f32x;
 | |
|     ynf32; ynf64; ynf32x;
 | |
|   }
 | |
|   GLIBC_2.28 {
 | |
|     # Functions not involving _Float64x or _Float128, for all configurations.
 | |
|     fadd; faddl; daddl;
 | |
|     f32addf32x; f32addf64; f32xaddf64;
 | |
|     fdiv; fdivl; ddivl;
 | |
|     f32divf32x; f32divf64; f32xdivf64;
 | |
|     fmul; fmull; dmull;
 | |
|     f32mulf32x; f32mulf64; f32xmulf64;
 | |
|     fsub; fsubl; dsubl;
 | |
|     f32subf32x; f32subf64; f32xsubf64;
 | |
|     # Functions involving _Float64x or _Float128, for some configurations.
 | |
|     f32addf64x; f32addf128;
 | |
|     f32xaddf64x; f32xaddf128; f64addf64x; f64addf128;
 | |
|     f64xaddf128;
 | |
|     f32divf64x; f32divf128;
 | |
|     f32xdivf64x; f32xdivf128; f64divf64x; f64divf128;
 | |
|     f64xdivf128;
 | |
|     f32mulf64x; f32mulf128;
 | |
|     f32xmulf64x; f32xmulf128; f64mulf64x; f64mulf128;
 | |
|     f64xmulf128;
 | |
|     f32subf64x; f32subf128;
 | |
|     f32xsubf64x; f32xsubf128; f64subf64x; f64subf128;
 | |
|     f64xsubf128;
 | |
|   }
 | |
| }
 |