aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2016-01-04 13:28:52 -0200
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>2016-01-04 14:55:38 -0200
commit0a1f1e78fbdfaf2c01e9c2368023b2533e7136cf (patch)
tree1e451d9c004d8e38228c8ead00b042c4bdac1ee4 /sysdeps/ieee754
parent1979f3c1ad7a6ae30de5c9cd162729b29488cece (diff)
downloadglibc-0a1f1e78fbdfaf2c01e9c2368023b2533e7136cf.tar
glibc-0a1f1e78fbdfaf2c01e9c2368023b2533e7136cf.tar.gz
glibc-0a1f1e78fbdfaf2c01e9c2368023b2533e7136cf.tar.bz2
glibc-0a1f1e78fbdfaf2c01e9c2368023b2533e7136cf.zip
Eliminate redundant sign extensions in pow()
When looking at the code generated for pow() on ppc64 I noticed quite a few sign extensions. Making the array indices unsigned reduces the number of sign extensions from 24 to 7. Tested for powerpc64le and x86_64.
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r--sysdeps/ieee754/dbl-64/e_pow.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sysdeps/ieee754/dbl-64/e_pow.c b/sysdeps/ieee754/dbl-64/e_pow.c
index 2ff2bb6e56..663fa392c2 100644
--- a/sysdeps/ieee754/dbl-64/e_pow.c
+++ b/sysdeps/ieee754/dbl-64/e_pow.c
@@ -245,7 +245,8 @@ static double
SECTION
log1 (double x, double *delta, double *error)
{
- int i, j, m;
+ unsigned int i, j;
+ int m;
double uu, vv, eps, nx, e, e1, e2, t, t1, t2, res, add = 0;
mynumber u, v;
#ifdef BIG_ENDI
@@ -344,7 +345,8 @@ static double
SECTION
my_log2 (double x, double *delta, double *error)
{
- int i, j, m;
+ unsigned int i, j;
+ int m;
double uu, vv, eps, nx, e, e1, e2, t, t1, t2, res, add = 0;
double ou1, ou2, lu1, lu2, ov, lv1, lv2, a, a1, a2;
double y, yy, z, zz, j1, j2, j7, j8;