diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-08-25 16:46:34 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-08-25 16:46:34 -0700 |
commit | 65b14bcee2da7f56299357d1dab9f0ab986c2255 (patch) | |
tree | 2e7f47d06477f7a0526e0a6f1ebaa4c25441a0d1 | |
parent | e9f145cba8691a81dac379914bb3895360795a9b (diff) | |
download | glibc-65b14bcee2da7f56299357d1dab9f0ab986c2255.tar.gz glibc-65b14bcee2da7f56299357d1dab9f0ab986c2255.tar.xz glibc-65b14bcee2da7f56299357d1dab9f0ab986c2255.zip |
Optimize out duplicated scalbln code for x86-64.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c (renamed from sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c) | 12 | ||||
-rw-r--r-- | sysdeps/x86_64/fpu/s_scalbln.c | 2 | ||||
-rw-r--r-- | sysdeps/x86_64/fpu/s_scalbn.c | 9 |
4 files changed, 21 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index 365b0b893b..4b1faea4e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,7 +4,10 @@ 2009-08-25 Ulrich Drepper <drepper@redhat.com> - * sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c: New file. + * sysdeps/x86_64/fpu/s_scalbln.c: New file. + * sysdeps/x86_64/fpu/s_scalbn.c: New file. + + * sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c: New file. * sysdeps/x86_64/fpu/s_signbit.S: New file. * sysdeps/x86_64/fpu/s_signbitf.S: New file. diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c index 25b283f288..25cf3b1699 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c @@ -31,10 +31,10 @@ huge = 1.0e+300, tiny = 1.0e-300; #ifdef __STDC__ - double __scalbln (double x, long int n) + double __scalbn (double x, int n) #else - double __scalbln (x,n) - double x; long int n; + double __scalbn (x,n) + double x; int n; #endif { int64_t ix; @@ -61,8 +61,8 @@ tiny = 1.0e-300; INSERT_WORDS64(x,(ix&INT64_C(0x800fffffffffffff))|(k<<52)); return x*twom54; } -weak_alias (__scalbln, scalbln) +weak_alias (__scalbn, scalbn) #ifdef NO_LONG_DOUBLE -strong_alias (__scalbln, __scalblnl) -weak_alias (__scalbln, scalblnl) +strong_alias (__scalbn, __scalbnl) +weak_alias (__scalbn, scalbnl) #endif diff --git a/sysdeps/x86_64/fpu/s_scalbln.c b/sysdeps/x86_64/fpu/s_scalbln.c new file mode 100644 index 0000000000..1009713fbc --- /dev/null +++ b/sysdeps/x86_64/fpu/s_scalbln.c @@ -0,0 +1,2 @@ +/* Nothing to do. This function is the same as scalbn. So we define an + alias. */ diff --git a/sysdeps/x86_64/fpu/s_scalbn.c b/sysdeps/x86_64/fpu/s_scalbn.c new file mode 100644 index 0000000000..74d34655ad --- /dev/null +++ b/sysdeps/x86_64/fpu/s_scalbn.c @@ -0,0 +1,9 @@ +#define scalbln __renamed_scalbln +#define __scalbln __renamed___scalbln + +#include <sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c> + +#undef scalbln +#undef __scalbln +strong_alias (__scalbn, __scalbln) +weak_alias (__scalbn, scalbln) |