diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-10-03 17:47:35 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-10-03 17:47:35 +0000 |
commit | a1132b5e56fe8aaa148ebd249034181863857d60 (patch) | |
tree | ad307f6a8077999f03fd951384e7f2a54a49385e /sysdeps/ieee754/dbl-64 | |
parent | f275f64e7e97fcfe31280aabd0d64591c90bbe18 (diff) | |
download | glibc-a1132b5e56fe8aaa148ebd249034181863857d60.tar glibc-a1132b5e56fe8aaa148ebd249034181863857d60.tar.gz glibc-a1132b5e56fe8aaa148ebd249034181863857d60.tar.bz2 glibc-a1132b5e56fe8aaa148ebd249034181863857d60.zip |
Use libm_alias_double for more dbl-64 functions.
This patch makes more dbl-64 functions use libm_alias_double to define
function aliases. Specifically, it makes the change for functions
with dbl-64/wordsize-64 versions, changing both the dbl-64 and
dbl-64/wordsize-64 versions and removing the ldbl-opt wrappers.
Functions are excluded from this patch if there are complications
because of versions of those functions also present in libc, or
architecture-specific wrappers round these files.
Tested for x86_64, and with build-many-glibcs.py. Installed stripped
shared libraries are unchanged except for alpha (where increased use
of dbl-64/wordsize-64 files, where previously ldbl-opt files that
wrapped dbl-64 files were used, was expected to result in different,
better code).
* sysdeps/ieee754/dbl-64/s_ceil.c: Include <libm-alias-double.h>.
(ceil): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/s_floor.c: Include <libm-alias-double.h>.
(floor): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/s_llround.c: Include
<libm-alias-double.h>.
(llround): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/s_lround.c: Include
<libm-alias-double.h>.
(lround): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/s_nearbyint.c: Include
<libm-alias-double.h>.
(nearbyint): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/s_remquo.c: Include
<libm-alias-double.h>.
(remquo): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/s_rint.c: Include <libm-alias-double.h>.
(rint): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/s_round.c: Include <libm-alias-double.h>.
(round): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/s_trunc.c: Include <libm-alias-double.h>.
(trunc): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Include
<libm-alias-double.h>.
(ceil): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Include
<libm-alias-double.h>.
(floor): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c: Include
<libm-alias-double.h>.
(llround): Define using libm_alias_double.
[_LP64] (lround): Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: Include
<libm-alias-double.h>.
[!_LP64] (lround): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Include
<libm-alias-double.h>.
(nearbyint): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c: Include
<libm-alias-double.h>.
(remquo): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Include
<libm-alias-double.h>.
(rint): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: Include
<libm-alias-double.h>.
(round): Define using libm_alias_double.
* sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c: Include
<libm-alias-double.h>.
(trunc): Define using libm_alias_double.
* sysdeps/ieee754/ldbl-opt/s_ceil.c: Remove file.
* sysdeps/ieee754/ldbl-opt/s_floor.c: Likewise.
* sysdeps/ieee754/ldbl-opt/s_llround.c: Likewise.
* sysdeps/ieee754/ldbl-opt/s_lround.c: Likewise.
* sysdeps/ieee754/ldbl-opt/s_nearbyint.c: Likewise.
* sysdeps/ieee754/ldbl-opt/s_remquo.c: Likewise.
* sysdeps/ieee754/ldbl-opt/s_rint.c: Likewise.
* sysdeps/ieee754/ldbl-opt/s_round.c: Likewise.
* sysdeps/ieee754/ldbl-opt/s_trunc.c: Likewise.
Diffstat (limited to 'sysdeps/ieee754/dbl-64')
-rw-r--r-- | sysdeps/ieee754/dbl-64/s_ceil.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/s_floor.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/s_llround.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/s_lround.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/s_nearbyint.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/s_remquo.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/s_rint.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/s_round.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/s_trunc.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c | 13 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_round.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c | 7 |
18 files changed, 37 insertions, 95 deletions
diff --git a/sysdeps/ieee754/dbl-64/s_ceil.c b/sysdeps/ieee754/dbl-64/s_ceil.c index 36f5abe2ed..5a7434c737 100644 --- a/sysdeps/ieee754/dbl-64/s_ceil.c +++ b/sysdeps/ieee754/dbl-64/s_ceil.c @@ -19,6 +19,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> double __ceil (double x) @@ -81,9 +82,5 @@ __ceil (double x) return x; } #ifndef __ceil -weak_alias (__ceil, ceil) -# ifdef NO_LONG_DOUBLE -strong_alias (__ceil, __ceill) -weak_alias (__ceil, ceill) -# endif +libm_alias_double (__ceil, ceil) #endif diff --git a/sysdeps/ieee754/dbl-64/s_floor.c b/sysdeps/ieee754/dbl-64/s_floor.c index e80bc9ee92..f27c6f3ad2 100644 --- a/sysdeps/ieee754/dbl-64/s_floor.c +++ b/sysdeps/ieee754/dbl-64/s_floor.c @@ -19,6 +19,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> double __floor (double x) @@ -81,9 +82,5 @@ __floor (double x) return x; } #ifndef __floor -weak_alias (__floor, floor) -# ifdef NO_LONG_DOUBLE -strong_alias (__floor, __floorl) -weak_alias (__floor, floorl) -# endif +libm_alias_double (__floor, floor) #endif diff --git a/sysdeps/ieee754/dbl-64/s_llround.c b/sysdeps/ieee754/dbl-64/s_llround.c index 4995c18740..0fa758f815 100644 --- a/sysdeps/ieee754/dbl-64/s_llround.c +++ b/sysdeps/ieee754/dbl-64/s_llround.c @@ -22,6 +22,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> #include <fix-fp-int-convert-overflow.h> @@ -84,8 +85,4 @@ __llround (double x) return sign * result; } -weak_alias (__llround, llround) -#ifdef NO_LONG_DOUBLE -strong_alias (__llround, __llroundl) -weak_alias (__llround, llroundl) -#endif +libm_alias_double (__llround, llround) diff --git a/sysdeps/ieee754/dbl-64/s_lround.c b/sysdeps/ieee754/dbl-64/s_lround.c index 1a267d880e..2e841ae45b 100644 --- a/sysdeps/ieee754/dbl-64/s_lround.c +++ b/sysdeps/ieee754/dbl-64/s_lround.c @@ -22,6 +22,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> #include <fix-fp-int-convert-overflow.h> @@ -106,8 +107,4 @@ __lround (double x) return sign * result; } -weak_alias (__lround, lround) -#ifdef NO_LONG_DOUBLE -strong_alias (__lround, __lroundl) -weak_alias (__lround, lroundl) -#endif +libm_alias_double (__lround, lround) diff --git a/sysdeps/ieee754/dbl-64/s_nearbyint.c b/sysdeps/ieee754/dbl-64/s_nearbyint.c index 6e3f8316b1..94d193d1ff 100644 --- a/sysdeps/ieee754/dbl-64/s_nearbyint.c +++ b/sysdeps/ieee754/dbl-64/s_nearbyint.c @@ -27,6 +27,7 @@ static char rcsid[] = "$NetBSD: s_rint.c,v 1.8 1995/05/10 20:48:04 jtc Exp $"; #include <fenv.h> #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> static const double TWO52[2] = { @@ -71,8 +72,4 @@ __nearbyint (double x) libc_fesetenv (&env); return t; } -weak_alias (__nearbyint, nearbyint) -#ifdef NO_LONG_DOUBLE -strong_alias (__nearbyint, __nearbyintl) -weak_alias (__nearbyint, nearbyintl) -#endif +libm_alias_double (__nearbyint, nearbyint) diff --git a/sysdeps/ieee754/dbl-64/s_remquo.c b/sysdeps/ieee754/dbl-64/s_remquo.c index 4ab764da53..f2dbe7891a 100644 --- a/sysdeps/ieee754/dbl-64/s_remquo.c +++ b/sysdeps/ieee754/dbl-64/s_remquo.c @@ -20,6 +20,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> static const double zero = 0.0; @@ -108,8 +109,4 @@ __remquo (double x, double y, int *quo) x = -x; return x; } -weak_alias (__remquo, remquo) -#ifdef NO_LONG_DOUBLE -strong_alias (__remquo, __remquol) -weak_alias (__remquo, remquol) -#endif +libm_alias_double (__remquo, remquo) diff --git a/sysdeps/ieee754/dbl-64/s_rint.c b/sysdeps/ieee754/dbl-64/s_rint.c index a9c0d27842..cb0f5ca298 100644 --- a/sysdeps/ieee754/dbl-64/s_rint.c +++ b/sysdeps/ieee754/dbl-64/s_rint.c @@ -22,6 +22,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> static const double TWO52[2] = { @@ -59,9 +60,5 @@ __rint (double x) return w - TWO52[sx]; } #ifndef __rint -weak_alias (__rint, rint) -# ifdef NO_LONG_DOUBLE -strong_alias (__rint, __rintl) -weak_alias (__rint, rintl) -# endif +libm_alias_double (__rint, rint) #endif diff --git a/sysdeps/ieee754/dbl-64/s_round.c b/sysdeps/ieee754/dbl-64/s_round.c index 18c054af2c..d1fcd9913a 100644 --- a/sysdeps/ieee754/dbl-64/s_round.c +++ b/sysdeps/ieee754/dbl-64/s_round.c @@ -20,6 +20,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> double @@ -76,8 +77,4 @@ __round (double x) INSERT_WORDS (x, i0, i1); return x; } -weak_alias (__round, round) -#ifdef NO_LONG_DOUBLE -strong_alias (__round, __roundl) -weak_alias (__round, roundl) -#endif +libm_alias_double (__round, round) diff --git a/sysdeps/ieee754/dbl-64/s_trunc.c b/sysdeps/ieee754/dbl-64/s_trunc.c index 72b1752356..004140a07a 100644 --- a/sysdeps/ieee754/dbl-64/s_trunc.c +++ b/sysdeps/ieee754/dbl-64/s_trunc.c @@ -20,6 +20,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> double @@ -54,9 +55,5 @@ __trunc (double x) return x; } #ifndef __trunc -weak_alias (__trunc, trunc) -# ifdef NO_LONG_DOUBLE -strong_alias (__trunc, __truncl) -weak_alias (__trunc, truncl) -# endif +libm_alias_double (__trunc, trunc) #endif diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c index faaaf90208..b99829d2b0 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c @@ -19,6 +19,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> double __ceil(double x) @@ -46,9 +47,5 @@ __ceil(double x) return x; } #ifndef __ceil -weak_alias (__ceil, ceil) -# ifdef NO_LONG_DOUBLE -strong_alias (__ceil, __ceill) -weak_alias (__ceil, ceill) -# endif +libm_alias_double (__ceil, ceil) #endif diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c index 1b99fffc30..7b1d291daa 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c @@ -33,6 +33,7 @@ #include <math.h> #include <math_private.h> #include <stdint.h> +#include <libm-alias-double.h> /* * floor(x) @@ -66,9 +67,5 @@ __floor (double x) return x; } #ifndef __floor -weak_alias (__floor, floor) -# ifdef NO_LONG_DOUBLE -strong_alias (__floor, __floorl) -weak_alias (__floor, floorl) -# endif +libm_alias_double (__floor, floor) #endif diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c index 86a791111e..363a1af63e 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c @@ -24,6 +24,7 @@ #include <sysdep.h> #include <math_private.h> +#include <libm-alias-double.h> long long int @@ -63,20 +64,12 @@ __llround (double x) return sign * result; } -weak_alias (__llround, llround) -#ifdef NO_LONG_DOUBLE -strong_alias (__llround, __llroundl) -weak_alias (__llround, llroundl) -#endif +libm_alias_double (__llround, llround) /* long has the same width as long long on LP64 machines, so use an alias. */ #undef lround #undef __lround #ifdef _LP64 strong_alias (__llround, __lround) -weak_alias (__llround, lround) -# ifdef NO_LONG_DOUBLE -strong_alias (__llround, __lroundl) -weak_alias (__llround, lroundl) -# endif +libm_alias_double (__lround, lround) #endif diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c index 02b01aa00d..e189c8e63a 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c @@ -21,6 +21,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> /* For LP64, lround is an alias for llround. */ #ifndef _LP64 @@ -80,10 +81,6 @@ __lround (double x) return sign * result; } -weak_alias (__lround, lround) -# ifdef NO_LONG_DOUBLE -strong_alias (__lround, __lroundl) -weak_alias (__lround, lroundl) -# endif +libm_alias_double (__lround, lround) #endif diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c index 7d135b54e4..5d1f98e471 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c @@ -23,6 +23,7 @@ #include <fenv.h> #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> static const double TWO52[2]={ @@ -59,8 +60,4 @@ __nearbyint(double x) libc_fesetenv (&env); return t; } -weak_alias (__nearbyint, nearbyint) -#ifdef NO_LONG_DOUBLE -strong_alias (__nearbyint, __nearbyintl) -weak_alias (__nearbyint, nearbyintl) -#endif +libm_alias_double (__nearbyint, nearbyint) diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c index 37a823c075..0140bebfd5 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c @@ -20,6 +20,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> #include <stdint.h> static const double zero = 0.0; @@ -107,8 +108,4 @@ __remquo (double x, double y, int *quo) x = -x; return x; } -weak_alias (__remquo, remquo) -#ifdef NO_LONG_DOUBLE -strong_alias (__remquo, __remquol) -weak_alias (__remquo, remquol) -#endif +libm_alias_double (__remquo, remquo) diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c index 87b2339d43..622e479c5f 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c @@ -21,6 +21,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> static const double TWO52[2]={ @@ -52,9 +53,5 @@ __rint(double x) return w-TWO52[sx]; } #ifndef __rint -weak_alias (__rint, rint) -# ifdef NO_LONG_DOUBLE -strong_alias (__rint, __rintl) -weak_alias (__rint, rintl) -# endif +libm_alias_double (__rint, rint) #endif diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c index 0e3738b6ef..fe8a8bc3c5 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c @@ -20,6 +20,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> #include <stdint.h> @@ -61,8 +62,4 @@ __round (double x) INSERT_WORDS64 (x, i0); return x; } -weak_alias (__round, round) -#ifdef NO_LONG_DOUBLE -strong_alias (__round, __roundl) -weak_alias (__round, roundl) -#endif +libm_alias_double (__round, round) diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c index 050ec0016a..8675aa109c 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c @@ -20,6 +20,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> double @@ -49,9 +50,5 @@ __trunc (double x) return x; } #ifndef __trunc -weak_alias (__trunc, trunc) -# ifdef NO_LONG_DOUBLE -strong_alias (__trunc, __truncl) -weak_alias (__trunc, truncl) -# endif +libm_alias_double (__trunc, trunc) #endif |