diff options
author | Siddhesh Poyarekar <siddhesh@redhat.com> | 2013-01-04 22:05:49 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2013-01-04 22:05:49 +0530 |
commit | b18decba11693f53a91c527cbbcef73aac7dd3e6 (patch) | |
tree | 9e78fffc9f640ea2f66925bfbce2c44e7472064f /sysdeps/powerpc | |
parent | 8729819ba4c126268323595b89fb829390bd3a29 (diff) |
Fix build failure on power4 processors
The power4-specific mpa.c depended on some global variables that were
removed by earlier patches. Also, it did not define mpone and mptwo.
Diffstat (limited to 'sysdeps/powerpc')
-rw-r--r-- | sysdeps/powerpc/powerpc32/power4/fpu/mpa.c | 10 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power4/fpu/mpa.c | 10 |
2 files changed, 14 insertions, 6 deletions
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/mpa.c b/sysdeps/powerpc/powerpc32/power4/fpu/mpa.c index 7635a6055c..b52fa60632 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/mpa.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/mpa.c @@ -47,6 +47,10 @@ #include "mpa.h" #include "mpa2.h" #include <sys/param.h> /* For MIN() */ + +const mp_no mpone = {1, {1.0, 1.0}}; +const mp_no mptwo = {1, {1.0, 2.0}}; + /* mcr() compares the sizes of the mantissas of two multiple precision */ /* numbers. Mantissas are compared regardless of the signs of the */ /* numbers, even if x->d[0] or y->d[0] are zero. Exponents are also */ @@ -129,7 +133,7 @@ void __cpymn(const mp_no *x, int m, mp_no *y, int n) { /* number *y, normalized case (|x| >= 2**(-1022))) */ static void norm(const mp_no *x, double *y, int p) { - #define R radixi.d + #define R RADIXI long i; #if 0 int k; @@ -191,7 +195,7 @@ static void denorm(const mp_no *x, double *y, int p) double a,v; #endif -#define R radixi.d +#define R RADIXI if (EX<-44 || (EX==-44 && X[1]<TWO5)) { *y=ZERO; return; } @@ -461,7 +465,7 @@ void __mul(const mp_no *x, const mp_no *y, mp_no *z, int p) { zk2 = x->d[i2-1]*y->d[i1]; } else - zk2 = zero.d; + zk2 = 0.0; /* Do two multiply/adds per loop iteration, using independent accumulators; zk and zk2. */ for (i=i1,j=i2-1; i<i2-1; i+=2,j-=2) diff --git a/sysdeps/powerpc/powerpc64/power4/fpu/mpa.c b/sysdeps/powerpc/powerpc64/power4/fpu/mpa.c index 7635a6055c..b52fa60632 100644 --- a/sysdeps/powerpc/powerpc64/power4/fpu/mpa.c +++ b/sysdeps/powerpc/powerpc64/power4/fpu/mpa.c @@ -47,6 +47,10 @@ #include "mpa.h" #include "mpa2.h" #include <sys/param.h> /* For MIN() */ + +const mp_no mpone = {1, {1.0, 1.0}}; +const mp_no mptwo = {1, {1.0, 2.0}}; + /* mcr() compares the sizes of the mantissas of two multiple precision */ /* numbers. Mantissas are compared regardless of the signs of the */ /* numbers, even if x->d[0] or y->d[0] are zero. Exponents are also */ @@ -129,7 +133,7 @@ void __cpymn(const mp_no *x, int m, mp_no *y, int n) { /* number *y, normalized case (|x| >= 2**(-1022))) */ static void norm(const mp_no *x, double *y, int p) { - #define R radixi.d + #define R RADIXI long i; #if 0 int k; @@ -191,7 +195,7 @@ static void denorm(const mp_no *x, double *y, int p) double a,v; #endif -#define R radixi.d +#define R RADIXI if (EX<-44 || (EX==-44 && X[1]<TWO5)) { *y=ZERO; return; } @@ -461,7 +465,7 @@ void __mul(const mp_no *x, const mp_no *y, mp_no *z, int p) { zk2 = x->d[i2-1]*y->d[i1]; } else - zk2 = zero.d; + zk2 = 0.0; /* Do two multiply/adds per loop iteration, using independent accumulators; zk and zk2. */ for (i=i1,j=i2-1; i<i2-1; i+=2,j-=2) |