]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Optimize out duplicated scalbln code for x86-64.
authorUlrich Drepper <drepper@redhat.com>
Tue, 25 Aug 2009 23:46:34 +0000 (16:46 -0700)
committerUlrich Drepper <drepper@redhat.com>
Tue, 25 Aug 2009 23:46:34 +0000 (16:46 -0700)
ChangeLog
sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c [moved from sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c with 90% similarity]
sysdeps/x86_64/fpu/s_scalbln.c [new file with mode: 0644]
sysdeps/x86_64/fpu/s_scalbn.c [new file with mode: 0644]

index 365b0b893b7aa35ba21f89fc1e44eddbf744b374..4b1faea4e7abb934cd34d008e2516a550dc71201 100644 (file)
--- 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.
similarity index 90%
rename from sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c
rename to sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c
index 25b283f28892167a2b312e13b6c690900cb07f32..25cf3b1699801eec1ad9357adf67225297fd0b0e 100644 (file)
@@ -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 (file)
index 0000000..1009713
--- /dev/null
@@ -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 (file)
index 0000000..74d3465
--- /dev/null
@@ -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)