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:
Joseph Myers 2017-10-06 20:23:58 +00:00
parent fd3b4e7c8a
commit f85a176f3f
3 changed files with 9 additions and 2 deletions

View File

@ -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.

View File

@ -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

View File

@ -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