1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

Add narrowing divide functions.

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.
This commit is contained in:
Joseph Myers
2018-05-17 00:40:52 +00:00
parent 8c78faa9ef
commit 632a6cbe44
59 changed files with 22648 additions and 4 deletions

View File

@ -1,3 +1,74 @@
2018-05-17 Joseph Myers <joseph@codesourcery.com>
* 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.
2018-05-16 Adhemerval Zanella <adhemerval.zanella@linaro.org> 2018-05-16 Adhemerval Zanella <adhemerval.zanella@linaro.org>
[BZ #23178] [BZ #23178]

3
NEWS
View File

@ -21,6 +21,9 @@ Major new features:
- fmul, fmull, dmull and corresponding fMmulfN, fMmulfNx, fMxmulfN and - fmul, fmull, dmull and corresponding fMmulfN, fMmulfNx, fMxmulfN and
fMxmulfNx functions. fMxmulfNx functions.
- fdiv, fdivl, ddivl and corresponding fMdivfN, fMdivfNx, fMxdivfN and
fMxdivfNx functions.
* Nominative and genitive month names are now supported for the Catalan and * Nominative and genitive month names are now supported for the Catalan and
Czech languages. The Catalan and Greek languages now support abbreviated Czech languages. The Catalan and Greek languages now support abbreviated
alternative month names. alternative month names.

View File

@ -2248,6 +2248,25 @@ function without any intermediate rounding to the type of the
arguments. arguments.
@end deftypefun @end deftypefun
@deftypefun float fdiv (double @var{x}, double @var{y})
@deftypefunx float fdivl (long double @var{x}, long double @var{y})
@deftypefunx double ddivl (long double @var{x}, long double @var{y})
@deftypefunx _FloatM fMdivfN (_Float@var{N} @var{x}, _Float@var{N} @var{y})
@deftypefunx _FloatM fMdivfNx (_Float@var{N}x @var{x}, _Float@var{N}x @var{y})
@deftypefunx _FloatMx fMxdivfN (_Float@var{N} @var{x}, _Float@var{N} @var{y})
@deftypefunx _FloatMx fMxdivfNx (_Float@var{N}x @var{x}, _Float@var{N}x @var{y})
@standards{TS 18661-1:2014, math.h}
@standardsx{fMdivfN, TS 18661-3:2015, math.h}
@standardsx{fMdivfNx, TS 18661-3:2015, math.h}
@standardsx{fMxdivfN, TS 18661-3:2015, math.h}
@standardsx{fMxdivfNx, TS 18661-3:2015, math.h}
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
These functions, from TS 18661-1:2014 and TS 18661-3:2015, return
@math{@var{x} / @var{y}}, rounded once to the return type of the
function without any intermediate rounding to the type of the
arguments.
@end deftypefun
@node Complex Numbers @node Complex Numbers
@section Complex Numbers @section Complex Numbers
@pindex complex.h @pindex complex.h

View File

@ -89,7 +89,7 @@ libm-compat-calls = \
w_lgammaF_r_compat w_lgammaF_compat2 w_expF_compat \ w_lgammaF_r_compat w_lgammaF_compat2 w_expF_compat \
w_lgamma_compatF k_standardF w_lgamma_compatF k_standardF
libm-narrow-fns = add mul sub libm-narrow-fns = add div mul sub
libm-narrow-types-basic = s_fF s_f32xFf64 libm-narrow-types-basic = s_fF s_f32xFf64
libm-narrow-types-ldouble-yes = s_fFl s_dFl libm-narrow-types-ldouble-yes = s_fFl s_dFl
libm-narrow-types-float128-yes = s_f32Ff128 s_f64Ff128 s_f64xFf128 libm-narrow-types-float128-yes = s_f32Ff128 s_f64Ff128 s_f64xFf128
@ -284,7 +284,7 @@ libm-test-funcs-noauto = canonicalize ceil cimag conj copysign cproj creal \
scalbln scalbn setpayload setpayloadsig signbit \ scalbln scalbn setpayload setpayloadsig signbit \
significand totalorder totalordermag trunc ufromfp \ significand totalorder totalordermag trunc ufromfp \
ufromfpx ufromfpx
libm-test-funcs-narrow = add mul sub libm-test-funcs-narrow = add div mul sub
libm-test-funcs-all = $(libm-test-funcs-auto) $(libm-test-funcs-noauto) libm-test-funcs-all = $(libm-test-funcs-auto) $(libm-test-funcs-noauto)
libm-test-c-auto = $(foreach f,$(libm-test-funcs-auto),libm-test-$(f).c) libm-test-c-auto = $(foreach f,$(libm-test-funcs-auto),libm-test-$(f).c)
libm-test-c-noauto = $(foreach f,$(libm-test-funcs-noauto),libm-test-$(f).c) libm-test-c-noauto = $(foreach f,$(libm-test-funcs-noauto),libm-test-$(f).c)

View File

@ -555,6 +555,8 @@ libm {
# Functions not involving _Float64x or _Float128, for all configurations. # Functions not involving _Float64x or _Float128, for all configurations.
fadd; faddl; daddl; fadd; faddl; daddl;
f32addf32x; f32addf64; f32xaddf64; f32addf32x; f32addf64; f32xaddf64;
fdiv; fdivl; ddivl;
f32divf32x; f32divf64; f32xdivf64;
fmul; fmull; dmull; fmul; fmull; dmull;
f32mulf32x; f32mulf64; f32xmulf64; f32mulf32x; f32mulf64; f32xmulf64;
fsub; fsubl; dsubl; fsub; fsubl; dsubl;
@ -563,6 +565,9 @@ libm {
f32addf64x; f32addf128; f32addf64x; f32addf128;
f32xaddf64x; f32xaddf128; f64addf64x; f64addf128; f32xaddf64x; f32xaddf128; f64addf64x; f64addf128;
f64xaddf128; f64xaddf128;
f32divf64x; f32divf128;
f32xdivf64x; f32xdivf128; f64divf64x; f64divf128;
f64xdivf128;
f32mulf64x; f32mulf128; f32mulf64x; f32mulf128;
f32xmulf64x; f32xmulf128; f64mulf64x; f64mulf128; f32xmulf64x; f32xmulf128; f64mulf64x; f64mulf128;
f64xmulf128; f64xmulf128;

View File

@ -4758,6 +4758,80 @@ ctanh -min 0
ctanh min_subnorm 0 ctanh min_subnorm 0
ctanh -min_subnorm 0 ctanh -min_subnorm 0
div 0 min
div 0 -min
div 0 min_subnorm
div 0 -min_subnorm
div 0 max
div 0 -max
div -0 min
div -0 -min
div -0 min_subnorm
div -0 -min_subnorm
div -0 max
div -0 -max
div max max xfail:ibm128-libgcc
div max -max xfail:ibm128-libgcc
div -max max xfail:ibm128-libgcc
div -max -max xfail:ibm128-libgcc
div min min
div min -min
div -min min
div -min -min
div min_subnorm min_subnorm
div min_subnorm -min_subnorm
div -min_subnorm min_subnorm
div -min_subnorm -min_subnorm
div max min xfail-rounding:ibm128-libgcc
div max -min xfail-rounding:ibm128-libgcc
div -max min xfail-rounding:ibm128-libgcc
div -max -min xfail-rounding:ibm128-libgcc
div max min_subnorm xfail-rounding:ibm128-libgcc
div max -min_subnorm xfail-rounding:ibm128-libgcc
div -max min_subnorm xfail-rounding:ibm128-libgcc
div -max -min_subnorm xfail-rounding:ibm128-libgcc
div min max xfail-rounding:ibm128-libgcc
div min -max xfail-rounding:ibm128-libgcc
div -min max xfail-rounding:ibm128-libgcc
div -min -max xfail-rounding:ibm128-libgcc
div min_subnorm max xfail-rounding:ibm128-libgcc
div min_subnorm -max xfail-rounding:ibm128-libgcc
div -min_subnorm max xfail-rounding:ibm128-libgcc
div -min_subnorm -max xfail-rounding:ibm128-libgcc
div 1 2
div 1 -2
div -1 2
div -1 -2
div 100.5 0.75
div 100.5 -0.75
div -100.5 0.75
div -100.5 -0.75
# Cases where the ratio of two values in a wider format is very close
# to half way between two representable values in a narrower format,
# so that double rounding would sometimes yield the wrong result. For
# a narrower format of width a and a wider format of width w, take
# b = w - a; these examples are of the form
# (1 + 2^-a + 2^-b + 2^(1-w)) / (1 + 2^-b). These examples have
# ratios of the form (1 + 2^-a) to the width of the wider format, but
# the mathematical value is slightly greater, so that rounding once
# should round the result up but double rounding would wrongly round
# the result down.
# a = 24, w = 53.
div 0x1.0000010800001p0 0x1.00000008p0
# a = 24, w = 64.
div 0x1.0000010001000002p0 0x1.0000000001p0
# a = 24, w = 113.
div 0x1.0000010000000000000000800001p0 0x1.00000000000000000000008p0
# a = 53, w = 64.
div 0x1.0020000000000802p0 0x1.002p0
# a = 53, w = 113.
div 0x1.0000000000000810000000000001p0 0x1.000000000000001p0
# a = 64, w = 113.
div 0x1.0000000000008001000000000001p0 0x1.0000000000008p0
# Similar, for double rounding to 64-bit of a division of 53-bit values.
div 0x1ffe1p0 0xfffp0
erf 0 erf 0
erf -0 erf -0
erf 0.125 erf 0.125

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,9 @@
/* Add. */ /* Add. */
__MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2); __MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2);
/* Divide. */
__MATHCALL_NARROW (__MATHCALL_NAME (div), __MATHCALL_REDIR_NAME (div), 2);
/* Multiply. */ /* Multiply. */
__MATHCALL_NARROW (__MATHCALL_NAME (mul), __MATHCALL_REDIR_NAME (mul), 2); __MATHCALL_NARROW (__MATHCALL_NAME (mul), __MATHCALL_REDIR_NAME (mul), 2);

View File

@ -561,6 +561,7 @@ static test_function test_functions[] =
FUNC_mpc_c_c ("csqrt", mpc_sqrt, false), FUNC_mpc_c_c ("csqrt", mpc_sqrt, false),
FUNC_mpc_c_c ("ctan", mpc_tan, false), FUNC_mpc_c_c ("ctan", mpc_tan, false),
FUNC_mpc_c_c ("ctanh", mpc_tanh, false), FUNC_mpc_c_c ("ctanh", mpc_tanh, false),
FUNC_mpfr_ff_f ("div", mpfr_div, true),
FUNC_mpfr_f_f ("erf", mpfr_erf, false), FUNC_mpfr_f_f ("erf", mpfr_erf, false),
FUNC_mpfr_f_f ("erfc", mpfr_erfc, false), FUNC_mpfr_f_f ("erfc", mpfr_erfc, false),
FUNC_mpfr_f_f ("exp", mpfr_exp, false), FUNC_mpfr_f_f ("exp", mpfr_exp, false),

View File

@ -0,0 +1,197 @@
/* Test narrowing divide.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#include "libm-test-driver.c"
static const struct test_aa_f_data div_test_data[] =
{
TEST_aa_f (div, arg_qnan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_qnan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_qnan_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_qnan_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_qnan_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_qnan_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_qnan_value, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_qnan_value, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_qnan_value, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_qnan_value, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_qnan_value, arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_qnan_value, -arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_qnan_value, arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_qnan_value, -arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_qnan_value, arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_qnan_value, -arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_zero, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_zero, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_infty, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_infty, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_min_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_min_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_min_subnorm_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_min_subnorm_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_max_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_max_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, -arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, -arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_qnan_value, -arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_zero, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_zero, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_infty, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_infty, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_min_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_min_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_min_subnorm_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_min_subnorm_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_max_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_max_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_snan_value, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, -arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, -arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_snan_value, -arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_plus_zero, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_minus_zero, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_plus_infty, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_minus_infty, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_min_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_min_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_min_subnorm_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_min_subnorm_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_max_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_max_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, -arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, -arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_snan_value, -arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_plus_zero, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_minus_zero, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_plus_infty, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_minus_infty, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_min_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_min_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_min_subnorm_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_min_subnorm_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_max_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, -arg_max_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aa_f (div, arg_plus_infty, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
TEST_aa_f (div, arg_plus_infty, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
TEST_aa_f (div, arg_minus_infty, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
TEST_aa_f (div, arg_minus_infty, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
TEST_aa_f (div, arg_plus_zero, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
TEST_aa_f (div, arg_plus_zero, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
TEST_aa_f (div, arg_minus_zero, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
TEST_aa_f (div, arg_minus_zero, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
TEST_aa_f (div, arg_plus_infty, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_infty, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_infty, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_infty, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_infty, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_infty, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_infty, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_infty, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_zero, arg_plus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_zero, arg_plus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_min_value, arg_plus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_min_value, arg_plus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_min_subnorm_value, arg_plus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_min_subnorm_value, arg_plus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_max_value, arg_plus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_max_value, arg_plus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_infty, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_infty, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_infty, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_infty, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_infty, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_infty, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_infty, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_infty, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_plus_zero, arg_minus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_minus_zero, arg_minus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_min_value, arg_minus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_min_value, arg_minus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_min_subnorm_value, arg_minus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_min_subnorm_value, arg_minus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_max_value, arg_minus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, -arg_max_value, arg_minus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aa_f (div, arg_min_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_aa_f (div, -arg_min_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_aa_f (div, arg_min_subnorm_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_aa_f (div, -arg_min_subnorm_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_aa_f (div, arg_max_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_aa_f (div, -arg_max_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_aa_f (div, arg_min_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_aa_f (div, -arg_min_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_aa_f (div, arg_min_subnorm_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_aa_f (div, -arg_min_subnorm_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_aa_f (div, arg_max_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_aa_f (div, -arg_max_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
AUTO_TESTS_aa_f (div),
};
static void
div_test (void)
{
ALL_RM_TEST (div, 1, div_test_data, RUN_TEST_LOOP_aa_f, END);
}
static void
do_test (void)
{
div_test ();
}
/*
* Local Variables:
* mode:c
* End:
*/

View File

@ -219,6 +219,59 @@
} \ } \
while (0) while (0)
/* Check for error conditions from a narrowing divide function
returning RET with arguments X and Y and set errno as needed.
Overflow, underflow and divide-by-zero can occur for finite
arguments and a domain error for Inf / Inf and 0 / 0. */
#define CHECK_NARROW_DIV(RET, X, Y) \
do \
{ \
if (!isfinite (RET)) \
{ \
if (isnan (RET)) \
{ \
if (!isnan (X) && !isnan (Y)) \
__set_errno (EDOM); \
} \
else if (isfinite (X)) \
__set_errno (ERANGE); \
} \
else if ((RET) == 0 && (X) != 0 && !isinf (Y)) \
__set_errno (ERANGE); \
} \
while (0)
/* Implement narrowing divide using round-to-odd. The arguments are
X and Y, the return type is TYPE and UNION, MANTISSA and SUFFIX are
as for ROUND_TO_ODD. */
#define NARROW_DIV_ROUND_TO_ODD(X, Y, TYPE, UNION, SUFFIX, MANTISSA) \
do \
{ \
TYPE ret; \
\
ret = (TYPE) ROUND_TO_ODD (math_opt_barrier (X) / (Y), \
UNION, SUFFIX, MANTISSA); \
\
CHECK_NARROW_DIV (ret, (X), (Y)); \
return ret; \
} \
while (0)
/* Implement a narrowing divide function that is not actually
narrowing or where no attempt is made to be correctly rounding (the
latter only applies to IBM long double). The arguments are X and Y
and the return type is TYPE. */
#define NARROW_DIV_TRIVIAL(X, Y, TYPE) \
do \
{ \
TYPE ret; \
\
ret = (TYPE) ((X) / (Y)); \
CHECK_NARROW_DIV (ret, (X), (Y)); \
return ret; \
} \
while (0)
/* The following macros declare aliases for a narrowing function. The /* The following macros declare aliases for a narrowing function. The
sole argument is the base name of a family of functions, such as sole argument is the base name of a family of functions, such as
"add". If any platform changes long double format after the "add". If any platform changes long double format after the

View File

@ -0,0 +1,29 @@
/* Divide _Float64 values, converting the result to _Float32x. i386 version.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#include <math.h>
#include <math-narrow.h>
_Float32x
__f32xdivf64 (_Float64 x, _Float64 y)
{
/* To avoid double rounding, use round-to-odd on long double. */
NARROW_DIV_ROUND_TO_ODD ((long double) x, (long double) y, double,
union ieee854_long_double, l, mantissa1);
}
libm_alias_float32x_float64 (div)

View File

@ -0,0 +1,30 @@
/* Divide _Float64 values, converting the result to _Float32x.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define ddivl __hide_ddivl
#include <math.h>
#undef ddivl
#include <math-narrow.h>
_Float32x
__f32xdivf64 (_Float64 x, _Float64 y)
{
NARROW_DIV_TRIVIAL (x, y, _Float32x);
}
libm_alias_float32x_float64 (div)

View File

@ -0,0 +1,34 @@
/* Divide double values, narrowing the result to float.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define f32divf64 __hide_f32divf64
#define f32divf32x __hide_f32divf32x
#define fdivl __hide_fdivl
#include <math.h>
#undef f32divf64
#undef f32divf32x
#undef fdivl
#include <math-narrow.h>
float
__fdiv (double x, double y)
{
NARROW_DIV_ROUND_TO_ODD (x, y, float, union ieee754_double, , mantissa1);
}
libm_alias_float_double (div)

View File

@ -258,6 +258,8 @@
#define __faddl __f32addf128 #define __faddl __f32addf128
#define __daddl __f64addf128 #define __daddl __f64addf128
#define __fdivl __f32divf128
#define __ddivl __f64divf128
#define __fmull __f32mulf128 #define __fmull __f32mulf128
#define __dmull __f64mulf128 #define __dmull __f64mulf128
#define __fsubl __f32subf128 #define __fsubl __f32subf128

View File

@ -0,0 +1,6 @@
#define f32divf64x __hide_f32divf64x
#define f32divf128 __hide_f32divf128
#include <float128_private.h>
#undef f32divf64x
#undef f32divf128
#include "../ldbl-128/s_fdivl.c"

View File

@ -0,0 +1,10 @@
#define f32xdivf64x __hide_f32xdivf64x
#define f32xdivf128 __hide_f32xdivf128
#define f64divf64x __hide_f64divf64x
#define f64divf128 __hide_f64divf128
#include <float128_private.h>
#undef f32xdivf64x
#undef f32xdivf128
#undef f64divf64x
#undef f64divf128
#include "../ldbl-128/s_ddivl.c"

View File

@ -0,0 +1,2 @@
#include <float128_private.h>
#include "../ldbl-128/s_f64xdivf128.c"

View File

@ -0,0 +1,37 @@
/* Divide long double (ldbl-128) values, narrowing the result to double.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define f32xdivf64x __hide_f32xdivf64x
#define f32xdivf128 __hide_f32xdivf128
#define f64divf64x __hide_f64divf64x
#define f64divf128 __hide_f64divf128
#include <math.h>
#undef f32xdivf64x
#undef f32xdivf128
#undef f64divf64x
#undef f64divf128
#include <math-narrow.h>
double
__ddivl (_Float128 x, _Float128 y)
{
NARROW_DIV_ROUND_TO_ODD (x, y, double, union ieee854_long_double, l,
mantissa3);
}
libm_alias_double_ldouble (div)

View File

@ -0,0 +1,38 @@
/* Divide _Float128 values, converting the result to _Float64x.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#include <math.h>
#include <math-narrow.h>
/* math_ldbl.h defines _Float128 to long double for this directory,
but when they are different, this function must be defined with
_Float128 arguments to avoid defining an alias with an incompatible
type. */
#undef _Float128
_Float64x
__f64xdivf128 (_Float128 x, _Float128 y)
{
#if __HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128
NARROW_DIV_ROUND_TO_ODD (x, y, _Float64x, union ieee854_long_double, l,
mantissa3);
#else
NARROW_DIV_TRIVIAL (x, y, _Float64x);
#endif
}
libm_alias_float64x_float128 (div)

View File

@ -0,0 +1,33 @@
/* Divide long double (ldbl-128) values, narrowing the result to float.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define f32divf64x __hide_f32divf64x
#define f32divf128 __hide_f32divf128
#include <math.h>
#undef f32divf64x
#undef f32divf128
#include <math-narrow.h>
float
__fdivl (_Float128 x, _Float128 y)
{
NARROW_DIV_ROUND_TO_ODD (x, y, float, union ieee854_long_double, l,
mantissa3);
}
libm_alias_float_ldouble (div)

View File

@ -0,0 +1,27 @@
/* Divide long double (ldbl-128ibm) values, narrowing the result to double.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#include <math.h>
#include <math-narrow.h>
double
__ddivl (long double x, long double y)
{
NARROW_DIV_TRIVIAL (x, y, double);
}
libm_alias_double_ldouble (div)

View File

@ -0,0 +1,27 @@
/* Divide long double (ldbl-128ibm) values, narrowing the result to float.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#include <math.h>
#include <math-narrow.h>
float
__fdivl (long double x, long double y)
{
NARROW_DIV_TRIVIAL (x, y, float);
}
libm_alias_float_ldouble (div)

View File

@ -0,0 +1,33 @@
/* Divide long double (ldbl-96) values, narrowing the result to double.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define f32xdivf64x __hide_f32xdivf64x
#define f64divf64x __hide_f64divf64x
#include <math.h>
#undef f32xdivf64x
#undef f64divf64x
#include <math-narrow.h>
double
__ddivl (long double x, long double y)
{
NARROW_DIV_ROUND_TO_ODD (x, y, double, union ieee854_long_double, l,
mantissa1);
}
libm_alias_double_ldouble (div)

View File

@ -0,0 +1,31 @@
/* Divide long double (ldbl-96) values, narrowing the result to float.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define f32divf64x __hide_f32divf64x
#include <math.h>
#undef f32divf64x
#include <math-narrow.h>
float
__fdivl (long double x, long double y)
{
NARROW_DIV_ROUND_TO_ODD (x, y, float, union ieee854_long_double, l,
mantissa1);
}
libm_alias_float_ldouble (div)

View File

@ -45,7 +45,7 @@ libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \
nextup nextdown totalorder totalordermag getpayload \ nextup nextdown totalorder totalordermag getpayload \
canonicalize setpayload setpayloadsig llogb fmaxmag fminmag \ canonicalize setpayload setpayloadsig llogb fmaxmag fminmag \
roundeven fromfp ufromfp fromfpx ufromfpx fadd dadd \ roundeven fromfp ufromfp fromfpx ufromfpx fadd dadd \
fmul dmul fsub dsub fdiv ddiv fmul dmul fsub dsub
libnldbl-routines = $(libnldbl-calls:%=nldbl-%) libnldbl-routines = $(libnldbl-calls:%=nldbl-%)
libnldbl-inhibit-o = $(object-suffixes) libnldbl-inhibit-o = $(object-suffixes)
libnldbl-static-only-routines = $(libnldbl-routines) libnldbl-static-only-routines = $(libnldbl-routines)
@ -88,6 +88,7 @@ CFLAGS-nldbl-csqrt.c = -fno-builtin-csqrtl
CFLAGS-nldbl-ctan.c = -fno-builtin-ctanl CFLAGS-nldbl-ctan.c = -fno-builtin-ctanl
CFLAGS-nldbl-ctanh.c = -fno-builtin-ctanhl CFLAGS-nldbl-ctanh.c = -fno-builtin-ctanhl
CFLAGS-nldbl-dadd.c = -fno-builtin-daddl CFLAGS-nldbl-dadd.c = -fno-builtin-daddl
CFLAGS-nldbl-ddiv.c = -fno-builtin-ddivl
CFLAGS-nldbl-dmul.c = -fno-builtin-dmull CFLAGS-nldbl-dmul.c = -fno-builtin-dmull
CFLAGS-nldbl-dsub.c = -fno-builtin-dsubl CFLAGS-nldbl-dsub.c = -fno-builtin-dsubl
CFLAGS-nldbl-erf.c = -fno-builtin-erfl CFLAGS-nldbl-erf.c = -fno-builtin-erfl
@ -99,6 +100,7 @@ CFLAGS-nldbl-expm1.c = -fno-builtin-expm1l
CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl
CFLAGS-nldbl-fadd.c = -fno-builtin-faddl CFLAGS-nldbl-fadd.c = -fno-builtin-faddl
CFLAGS-nldbl-fdim.c = -fno-builtin-fdiml CFLAGS-nldbl-fdim.c = -fno-builtin-fdiml
CFLAGS-nldbl-fdiv.c = -fno-builtin-fdivl
CFLAGS-nldbl-finite.c = -fno-builtin-finitel CFLAGS-nldbl-finite.c = -fno-builtin-finitel
CFLAGS-nldbl-floor.c = -fno-builtin-floorl CFLAGS-nldbl-floor.c = -fno-builtin-floorl
CFLAGS-nldbl-fma.c = -fno-builtin-fmal CFLAGS-nldbl-fma.c = -fno-builtin-fmal

View File

@ -101,6 +101,6 @@ libm {
# Functions taking long double = double argument and rounding # Functions taking long double = double argument and rounding
# result to double (same as f32x*f64 functions, but those names # result to double (same as f32x*f64 functions, but those names
# are not reserved in TS 18661-1). # are not reserved in TS 18661-1).
__nldbl_daddl; __nldbl_dmull; __nldbl_dsubl; __nldbl_daddl; __nldbl_ddivl; __nldbl_dmull; __nldbl_dsubl;
} }
} }

View File

@ -104,6 +104,7 @@ extern void __nldbl___vsyslog_chk (int, int, const char *, va_list);
/* The original declarations of these were hidden by the including /* The original declarations of these were hidden by the including
file. */ file. */
extern double __nldbl_daddl (double, double) __THROW; extern double __nldbl_daddl (double, double) __THROW;
extern double __nldbl_ddivl (double, double) __THROW;
extern double __nldbl_dmull (double, double) __THROW; extern double __nldbl_dmull (double, double) __THROW;
extern double __nldbl_dsubl (double, double) __THROW; extern double __nldbl_dsubl (double, double) __THROW;

View File

@ -0,0 +1,28 @@
/* Compatibility routine for IEEE double as long double for ddiv.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define ddivl __hide_ddivl
#include "nldbl-compat.h"
#undef ddivl
double
attribute_hidden
ddivl (double x, double y)
{
return __nldbl_ddivl (x, y);
}

View File

@ -0,0 +1,28 @@
/* Compatibility routine for IEEE double as long double for fdiv.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define fdivl __hide_fdivl
#include "nldbl-compat.h"
#undef fdivl
float
attribute_hidden
fdivl (double x, double y)
{
return fdiv (x, y);
}

View File

@ -0,0 +1,59 @@
/* Divide long double (ldbl-128) values, narrowing the result to
double, using soft-fp.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define f32xdivf64x __hide_f32xdivf64x
#define f32xdivf128 __hide_f32xdivf128
#define f64divf64x __hide_f64divf64x
#define f64divf128 __hide_f64divf128
#include <math.h>
#undef f32xdivf64x
#undef f32xdivf128
#undef f64divf64x
#undef f64divf128
#include <math-narrow.h>
#include <soft-fp.h>
#include <double.h>
#include <quad.h>
double
__ddivl (_Float128 x, _Float128 y)
{
FP_DECL_EX;
FP_DECL_Q (X);
FP_DECL_Q (Y);
FP_DECL_Q (R);
FP_DECL_D (RN);
double ret;
FP_INIT_ROUNDMODE;
FP_UNPACK_Q (X, x);
FP_UNPACK_Q (Y, y);
FP_DIV_Q (R, X, Y);
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
FP_TRUNC_COOKED (D, Q, 2, 4, RN, R);
#else
FP_TRUNC_COOKED (D, Q, 1, 2, RN, R);
#endif
FP_PACK_D (ret, RN);
FP_HANDLE_EXCEPTIONS;
CHECK_NARROW_DIV (ret, x, y);
return ret;
}
libm_alias_double_ldouble (div)

View File

@ -0,0 +1,56 @@
/* Divide double values, narrowing the result to float, using soft-fp.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define f32divf64 __hide_f32divf64
#define f32divf32x __hide_f32divf32x
#define fdivl __hide_fdivl
#include <math.h>
#undef f32divf64
#undef f32divf32x
#undef fdivl
#include <math-narrow.h>
#include <soft-fp.h>
#include <single.h>
#include <double.h>
float
__fdiv (double x, double y)
{
FP_DECL_EX;
FP_DECL_D (X);
FP_DECL_D (Y);
FP_DECL_D (R);
FP_DECL_S (RN);
float ret;
FP_INIT_ROUNDMODE;
FP_UNPACK_D (X, x);
FP_UNPACK_D (Y, y);
FP_DIV_D (R, X, Y);
#if _FP_W_TYPE_SIZE < _FP_FRACBITS_D
FP_TRUNC_COOKED (S, D, 1, 2, RN, R);
#else
FP_TRUNC_COOKED (S, D, 1, 1, RN, R);
#endif
FP_PACK_S (ret, RN);
FP_HANDLE_EXCEPTIONS;
CHECK_NARROW_DIV (ret, x, y);
return ret;
}
libm_alias_float_double (div)

View File

@ -0,0 +1,55 @@
/* Divide long double (ldbl-128) values, narrowing the result to
float, using soft-fp.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define f32divf64x __hide_f32divf64x
#define f32divf128 __hide_f32divf128
#include <math.h>
#undef f32divf64x
#undef f32divf128
#include <math-narrow.h>
#include <soft-fp.h>
#include <single.h>
#include <quad.h>
float
__fdivl (_Float128 x, _Float128 y)
{
FP_DECL_EX;
FP_DECL_Q (X);
FP_DECL_Q (Y);
FP_DECL_Q (R);
FP_DECL_S (RN);
float ret;
FP_INIT_ROUNDMODE;
FP_UNPACK_Q (X, x);
FP_UNPACK_Q (Y, y);
FP_DIV_Q (R, X, Y);
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
FP_TRUNC_COOKED (S, Q, 1, 4, RN, R);
#else
FP_TRUNC_COOKED (S, Q, 1, 2, RN, R);
#endif
FP_PACK_S (ret, RN);
FP_HANDLE_EXCEPTIONS;
CHECK_NARROW_DIV (ret, x, y);
return ret;
}
libm_alias_float_ldouble (div)

View File

@ -1017,12 +1017,17 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -1034,6 +1039,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1042,15 +1050,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -1823,6 +1823,9 @@ ifloat128: 5
ildouble: 10 ildouble: 10
ldouble: 10 ldouble: 10
Function: "div_ldouble":
float: 1
Function: "erf": Function: "erf":
double: 1 double: 1
float: 1 float: 1

View File

@ -981,12 +981,17 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -998,6 +1003,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1006,15 +1014,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -988,15 +988,21 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 __nldbl_daddl F GLIBC_2.28 __nldbl_daddl F
GLIBC_2.28 __nldbl_ddivl F
GLIBC_2.28 __nldbl_dmull F GLIBC_2.28 __nldbl_dmull F
GLIBC_2.28 __nldbl_dsubl F GLIBC_2.28 __nldbl_dsubl F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -1008,6 +1014,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1016,15 +1025,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -430,19 +430,25 @@ GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -741,19 +741,25 @@ GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -1024,12 +1024,17 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -1041,6 +1046,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1049,15 +1057,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -954,12 +954,17 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -971,6 +976,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -979,15 +987,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -430,19 +430,25 @@ GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -781,19 +781,25 @@ GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -742,19 +742,25 @@ GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -741,19 +741,25 @@ GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -981,12 +981,17 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -998,6 +1003,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1006,15 +1014,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -742,19 +742,25 @@ GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -783,22 +783,29 @@ GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.28 __nldbl_daddl F GLIBC_2.28 __nldbl_daddl F
GLIBC_2.28 __nldbl_ddivl F
GLIBC_2.28 __nldbl_dmull F GLIBC_2.28 __nldbl_dmull F
GLIBC_2.28 __nldbl_dsubl F GLIBC_2.28 __nldbl_dsubl F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -782,22 +782,29 @@ GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.28 __nldbl_daddl F GLIBC_2.28 __nldbl_daddl F
GLIBC_2.28 __nldbl_ddivl F
GLIBC_2.28 __nldbl_dmull F GLIBC_2.28 __nldbl_dmull F
GLIBC_2.28 __nldbl_dsubl F GLIBC_2.28 __nldbl_dsubl F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -1021,15 +1021,21 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 __nldbl_daddl F GLIBC_2.28 __nldbl_daddl F
GLIBC_2.28 __nldbl_ddivl F
GLIBC_2.28 __nldbl_dmull F GLIBC_2.28 __nldbl_dmull F
GLIBC_2.28 __nldbl_dsubl F GLIBC_2.28 __nldbl_dsubl F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -1041,6 +1047,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1049,15 +1058,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -461,22 +461,29 @@ GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.28 __nldbl_daddl F GLIBC_2.28 __nldbl_daddl F
GLIBC_2.28 __nldbl_ddivl F
GLIBC_2.28 __nldbl_dmull F GLIBC_2.28 __nldbl_dmull F
GLIBC_2.28 __nldbl_dsubl F GLIBC_2.28 __nldbl_dsubl F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -968,12 +968,17 @@ GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.27 ynl F GLIBC_2.27 ynl F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -985,6 +990,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -993,15 +1001,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -978,15 +978,21 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 __nldbl_daddl F GLIBC_2.28 __nldbl_daddl F
GLIBC_2.28 __nldbl_ddivl F
GLIBC_2.28 __nldbl_dmull F GLIBC_2.28 __nldbl_dmull F
GLIBC_2.28 __nldbl_dsubl F GLIBC_2.28 __nldbl_dsubl F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -998,6 +1004,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1006,15 +1015,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -978,15 +978,21 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 __nldbl_daddl F GLIBC_2.28 __nldbl_daddl F
GLIBC_2.28 __nldbl_ddivl F
GLIBC_2.28 __nldbl_dmull F GLIBC_2.28 __nldbl_dmull F
GLIBC_2.28 __nldbl_dsubl F GLIBC_2.28 __nldbl_dsubl F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -998,6 +1004,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1006,15 +1015,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -741,19 +741,25 @@ GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -985,15 +985,21 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 __nldbl_daddl F GLIBC_2.28 __nldbl_daddl F
GLIBC_2.28 __nldbl_ddivl F
GLIBC_2.28 __nldbl_dmull F GLIBC_2.28 __nldbl_dmull F
GLIBC_2.28 __nldbl_dsubl F GLIBC_2.28 __nldbl_dsubl F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -1005,6 +1011,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1013,15 +1022,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -981,12 +981,17 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -998,6 +1003,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1006,15 +1014,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -1015,12 +1015,17 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -1032,6 +1037,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1040,15 +1048,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F

View File

@ -1015,12 +1015,17 @@ GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F GLIBC_2.27 ynf64 F
GLIBC_2.27 ynf64x F GLIBC_2.27 ynf64x F
GLIBC_2.28 daddl F GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf128 F GLIBC_2.28 f32addf128 F
GLIBC_2.28 f32addf32x F GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32addf64x F GLIBC_2.28 f32addf64x F
GLIBC_2.28 f32divf128 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32divf64x F
GLIBC_2.28 f32mulf128 F GLIBC_2.28 f32mulf128 F
GLIBC_2.28 f32mulf32x F GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F GLIBC_2.28 f32mulf64 F
@ -1032,6 +1037,9 @@ GLIBC_2.28 f32subf64x F
GLIBC_2.28 f32xaddf128 F GLIBC_2.28 f32xaddf128 F
GLIBC_2.28 f32xaddf64 F GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xaddf64x F GLIBC_2.28 f32xaddf64x F
GLIBC_2.28 f32xdivf128 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xdivf64x F
GLIBC_2.28 f32xmulf128 F GLIBC_2.28 f32xmulf128 F
GLIBC_2.28 f32xmulf64 F GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xmulf64x F GLIBC_2.28 f32xmulf64x F
@ -1040,15 +1048,20 @@ GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 f32xsubf64x F GLIBC_2.28 f32xsubf64x F
GLIBC_2.28 f64addf128 F GLIBC_2.28 f64addf128 F
GLIBC_2.28 f64addf64x F GLIBC_2.28 f64addf64x F
GLIBC_2.28 f64divf128 F
GLIBC_2.28 f64divf64x F
GLIBC_2.28 f64mulf128 F GLIBC_2.28 f64mulf128 F
GLIBC_2.28 f64mulf64x F GLIBC_2.28 f64mulf64x F
GLIBC_2.28 f64subf128 F GLIBC_2.28 f64subf128 F
GLIBC_2.28 f64subf64x F GLIBC_2.28 f64subf64x F
GLIBC_2.28 f64xaddf128 F GLIBC_2.28 f64xaddf128 F
GLIBC_2.28 f64xdivf128 F
GLIBC_2.28 f64xmulf128 F GLIBC_2.28 f64xmulf128 F
GLIBC_2.28 f64xsubf128 F GLIBC_2.28 f64xsubf128 F
GLIBC_2.28 fadd F GLIBC_2.28 fadd F
GLIBC_2.28 faddl F GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F GLIBC_2.28 fmul F
GLIBC_2.28 fmull F GLIBC_2.28 fmull F
GLIBC_2.28 fsub F GLIBC_2.28 fsub F