mirror of
git://sourceware.org/git/glibc.git
synced 2025-02-23 13:09:58 +08:00
Use libm_alias_double in ldbl-128, ldbl-96 fma.
This patch makes the ldbl-128 and ldbl-96 implementations of fma use libm_alias_double. Tested for x86_64, and tested with build-many-glibcs.py that installed stripped shared libraries are unchanged by the patch. * sysdeps/ieee754/ldbl-128/s_fma.c: Include <libm-alias-double.h>. [!__fma] (fma): Define using libm_alias_double. * sysdeps/ieee754/ldbl-96/s_fma.c: Include <libm-alias-double.h>. [!__fma] (fma): Define using libm_alias_double.
This commit is contained in:
parent
fd3b4e7c8a
commit
f85a176f3f
@ -1,5 +1,10 @@
|
|||||||
2017-10-06 Joseph Myers <joseph@codesourcery.com>
|
2017-10-06 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* sysdeps/ieee754/ldbl-128/s_fma.c: Include <libm-alias-double.h>.
|
||||||
|
[!__fma] (fma): Define using libm_alias_double.
|
||||||
|
* sysdeps/ieee754/ldbl-96/s_fma.c: Include <libm-alias-double.h>.
|
||||||
|
[!__fma] (fma): Define using libm_alias_double.
|
||||||
|
|
||||||
* sysdeps/ieee754/float128/float128_private.h: Include
|
* sysdeps/ieee754/float128/float128_private.h: Include
|
||||||
<libm-alias-ldouble.h> and <libm-alias-float128.h>.
|
<libm-alias-ldouble.h> and <libm-alias-float128.h>.
|
||||||
(libm_alias_ldouble_r): Undefine and redefine.
|
(libm_alias_ldouble_r): Undefine and redefine.
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <fenv.h>
|
#include <fenv.h>
|
||||||
#include <ieee754.h>
|
#include <ieee754.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
/* This implementation relies on long double being more than twice as
|
/* This implementation relies on long double being more than twice as
|
||||||
precise as double and uses rounding to odd in order to avoid problems
|
precise as double and uses rounding to odd in order to avoid problems
|
||||||
@ -51,5 +52,5 @@ __fma (double x, double y, double z)
|
|||||||
return (double) u.d;
|
return (double) u.d;
|
||||||
}
|
}
|
||||||
#ifndef __fma
|
#ifndef __fma
|
||||||
weak_alias (__fma, fma)
|
libm_alias_double (__fma, fma)
|
||||||
#endif
|
#endif
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include <fenv.h>
|
#include <fenv.h>
|
||||||
#include <ieee754.h>
|
#include <ieee754.h>
|
||||||
#include <math_private.h>
|
#include <math_private.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
/* This implementation uses rounding to odd to avoid problems with
|
/* This implementation uses rounding to odd to avoid problems with
|
||||||
double rounding. See a paper by Boldo and Melquiond:
|
double rounding. See a paper by Boldo and Melquiond:
|
||||||
@ -97,5 +98,5 @@ __fma (double x, double y, double z)
|
|||||||
return u.d;
|
return u.d;
|
||||||
}
|
}
|
||||||
#ifndef __fma
|
#ifndef __fma
|
||||||
weak_alias (__fma, fma)
|
libm_alias_double (__fma, fma)
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user