diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-10-06 20:23:58 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-10-06 20:23:58 +0000 |
commit | f85a176f3f411b7478c2b8cb2708973e8668e7fb (patch) | |
tree | 825661a9917eb4fa8f558aba88dbff90fcca0701 | |
parent | fd3b4e7c8a0b492fe39243893803f4d9f84e30af (diff) | |
download | glibc-f85a176f3f411b7478c2b8cb2708973e8668e7fb.zip glibc-f85a176f3f411b7478c2b8cb2708973e8668e7fb.tar.gz glibc-f85a176f3f411b7478c2b8cb2708973e8668e7fb.tar.bz2 |
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.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-128/s_fma.c | 3 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-96/s_fma.c | 3 |
3 files changed, 9 insertions, 2 deletions
@@ -1,5 +1,10 @@ 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 <libm-alias-ldouble.h> and <libm-alias-float128.h>. (libm_alias_ldouble_r): Undefine and redefine. diff --git a/sysdeps/ieee754/ldbl-128/s_fma.c b/sysdeps/ieee754/ldbl-128/s_fma.c index 13da290..0f7ecab 100644 --- a/sysdeps/ieee754/ldbl-128/s_fma.c +++ b/sysdeps/ieee754/ldbl-128/s_fma.c @@ -20,6 +20,7 @@ #include <math.h> #include <fenv.h> #include <ieee754.h> +#include <libm-alias-double.h> /* This implementation relies on long double being more than twice as 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; } #ifndef __fma -weak_alias (__fma, fma) +libm_alias_double (__fma, fma) #endif diff --git a/sysdeps/ieee754/ldbl-96/s_fma.c b/sysdeps/ieee754/ldbl-96/s_fma.c index 3705920..e573c71 100644 --- a/sysdeps/ieee754/ldbl-96/s_fma.c +++ b/sysdeps/ieee754/ldbl-96/s_fma.c @@ -22,6 +22,7 @@ #include <fenv.h> #include <ieee754.h> #include <math_private.h> +#include <libm-alias-double.h> /* This implementation uses rounding to odd to avoid problems with double rounding. See a paper by Boldo and Melquiond: @@ -97,5 +98,5 @@ __fma (double x, double y, double z) return u.d; } #ifndef __fma -weak_alias (__fma, fma) +libm_alias_double (__fma, fma) #endif |