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.
This commit is contained in:
Anton Blanchard 2016-01-04 13:28:52 -02:00 committed by Tulio Magno Quites Machado Filho
parent 1979f3c1ad
commit 0a1f1e78fb
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2016-01-04 Anton Blanchard <anton@samba.org>
* sysdeps/ieee754/dbl-64/e_pow.c (log1): Use unsigned int
for array indices.
* sysdeps/ieee754/dbl-64/e_pow.c (my_log2): Likewise.
2016-01-04 Joseph Myers <joseph@codesourcery.com>
* NEWS: Update copyright dates.

View File

@ -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;