Patchwork Use libm_alias_double in ldbl-128, ldbl-96 fma

login
register
mail settings
Submitter Joseph Myers
Date Oct. 6, 2017, 8:24 p.m.
Message ID <alpine.DEB.2.20.1710062024230.1492@digraph.polyomino.org.uk>
Download mbox | patch
Permalink /patch/23384/
State New
Headers show

Comments

Joseph Myers - Oct. 6, 2017, 8:24 p.m.
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.

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.
Joseph Myers - Oct. 6, 2017, 8:25 p.m.
(Committed.)

Patch

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