diff options
Diffstat (limited to 'arch/mips/math-emu')
-rw-r--r-- | arch/mips/math-emu/cp1emu.c | 24 | ||||
-rw-r--r-- | arch/mips/math-emu/dp_mul.c | 2 | ||||
-rw-r--r-- | arch/mips/math-emu/ieee754.c | 12 | ||||
-rw-r--r-- | arch/mips/math-emu/ieee754dp.h | 12 | ||||
-rw-r--r-- | arch/mips/math-emu/ieee754int.h | 30 | ||||
-rw-r--r-- | arch/mips/math-emu/ieee754sp.h | 12 |
6 files changed, 46 insertions, 46 deletions
diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c index c44e9cc2b19c..b08fc65c13a6 100644 --- a/arch/mips/math-emu/cp1emu.c +++ b/arch/mips/math-emu/cp1emu.c | |||
@@ -178,24 +178,24 @@ static int isBranchInstr(mips_instruction * i) | |||
178 | #define FR_BIT 0 | 178 | #define FR_BIT 0 |
179 | #endif | 179 | #endif |
180 | 180 | ||
181 | #define SIFROMREG(si,x) ((si) = \ | 181 | #define SIFROMREG(si, x) ((si) = \ |
182 | (xcp->cp0_status & FR_BIT) || !(x & 1) ? \ | 182 | (xcp->cp0_status & FR_BIT) || !(x & 1) ? \ |
183 | (int)ctx->fpr[x] : \ | 183 | (int)ctx->fpr[x] : \ |
184 | (int)(ctx->fpr[x & ~1] >> 32 )) | 184 | (int)(ctx->fpr[x & ~1] >> 32 )) |
185 | #define SITOREG(si,x) (ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)] = \ | 185 | #define SITOREG(si, x) (ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)] = \ |
186 | (xcp->cp0_status & FR_BIT) || !(x & 1) ? \ | 186 | (xcp->cp0_status & FR_BIT) || !(x & 1) ? \ |
187 | ctx->fpr[x & ~1] >> 32 << 32 | (u32)(si) : \ | 187 | ctx->fpr[x & ~1] >> 32 << 32 | (u32)(si) : \ |
188 | ctx->fpr[x & ~1] << 32 >> 32 | (u64)(si) << 32) | 188 | ctx->fpr[x & ~1] << 32 >> 32 | (u64)(si) << 32) |
189 | 189 | ||
190 | #define DIFROMREG(di,x) ((di) = \ | 190 | #define DIFROMREG(di, x) ((di) = \ |
191 | ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)]) | 191 | ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)]) |
192 | #define DITOREG(di,x) (ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)] \ | 192 | #define DITOREG(di, x) (ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)] \ |
193 | = (di)) | 193 | = (di)) |
194 | 194 | ||
195 | #define SPFROMREG(sp,x) SIFROMREG((sp).bits,x) | 195 | #define SPFROMREG(sp, x) SIFROMREG((sp).bits, x) |
196 | #define SPTOREG(sp,x) SITOREG((sp).bits,x) | 196 | #define SPTOREG(sp, x) SITOREG((sp).bits, x) |
197 | #define DPFROMREG(dp,x) DIFROMREG((dp).bits,x) | 197 | #define DPFROMREG(dp, x) DIFROMREG((dp).bits, x) |
198 | #define DPTOREG(dp,x) DITOREG((dp).bits,x) | 198 | #define DPTOREG(dp, x) DITOREG((dp).bits, x) |
199 | 199 | ||
200 | /* | 200 | /* |
201 | * Emulate the single floating point instruction pointed at by EPC. | 201 | * Emulate the single floating point instruction pointed at by EPC. |
@@ -584,12 +584,12 @@ static ieee754sp fpemu_sp_rsqrt(ieee754sp s) | |||
584 | return ieee754sp_div(ieee754sp_one(0), ieee754sp_sqrt(s)); | 584 | return ieee754sp_div(ieee754sp_one(0), ieee754sp_sqrt(s)); |
585 | } | 585 | } |
586 | 586 | ||
587 | DEF3OP(madd, sp, ieee754sp_mul, ieee754sp_add,); | 587 | DEF3OP(madd, sp, ieee754sp_mul, ieee754sp_add, ); |
588 | DEF3OP(msub, sp, ieee754sp_mul, ieee754sp_sub,); | 588 | DEF3OP(msub, sp, ieee754sp_mul, ieee754sp_sub, ); |
589 | DEF3OP(nmadd, sp, ieee754sp_mul, ieee754sp_add, ieee754sp_neg); | 589 | DEF3OP(nmadd, sp, ieee754sp_mul, ieee754sp_add, ieee754sp_neg); |
590 | DEF3OP(nmsub, sp, ieee754sp_mul, ieee754sp_sub, ieee754sp_neg); | 590 | DEF3OP(nmsub, sp, ieee754sp_mul, ieee754sp_sub, ieee754sp_neg); |
591 | DEF3OP(madd, dp, ieee754dp_mul, ieee754dp_add,); | 591 | DEF3OP(madd, dp, ieee754dp_mul, ieee754dp_add, ); |
592 | DEF3OP(msub, dp, ieee754dp_mul, ieee754dp_sub,); | 592 | DEF3OP(msub, dp, ieee754dp_mul, ieee754dp_sub, ); |
593 | DEF3OP(nmadd, dp, ieee754dp_mul, ieee754dp_add, ieee754dp_neg); | 593 | DEF3OP(nmadd, dp, ieee754dp_mul, ieee754dp_add, ieee754dp_neg); |
594 | DEF3OP(nmsub, dp, ieee754dp_mul, ieee754dp_sub, ieee754dp_neg); | 594 | DEF3OP(nmsub, dp, ieee754dp_mul, ieee754dp_sub, ieee754dp_neg); |
595 | 595 | ||
diff --git a/arch/mips/math-emu/dp_mul.c b/arch/mips/math-emu/dp_mul.c index f2373902f524..48908a809c17 100644 --- a/arch/mips/math-emu/dp_mul.c +++ b/arch/mips/math-emu/dp_mul.c | |||
@@ -121,7 +121,7 @@ ieee754dp ieee754dp_mul(ieee754dp x, ieee754dp y) | |||
121 | */ | 121 | */ |
122 | 122 | ||
123 | /* 32 * 32 => 64 */ | 123 | /* 32 * 32 => 64 */ |
124 | #define DPXMULT(x,y) ((u64)(x) * (u64)y) | 124 | #define DPXMULT(x, y) ((u64)(x) * (u64)y) |
125 | 125 | ||
126 | { | 126 | { |
127 | unsigned lxm = xm; | 127 | unsigned lxm = xm; |
diff --git a/arch/mips/math-emu/ieee754.c b/arch/mips/math-emu/ieee754.c index a93c45dbdefd..946aee331788 100644 --- a/arch/mips/math-emu/ieee754.c +++ b/arch/mips/math-emu/ieee754.c | |||
@@ -47,13 +47,13 @@ | |||
47 | 47 | ||
48 | 48 | ||
49 | #if (defined(BYTE_ORDER) && BYTE_ORDER == LITTLE_ENDIAN) || defined(__MIPSEL__) | 49 | #if (defined(BYTE_ORDER) && BYTE_ORDER == LITTLE_ENDIAN) || defined(__MIPSEL__) |
50 | #define SPSTR(s,b,m) {m,b,s} | 50 | #define SPSTR(s, b, m) {m, b, s} |
51 | #define DPSTR(s,b,mh,ml) {ml,mh,b,s} | 51 | #define DPSTR(s, b, mh, ml) {ml, mh, b, s} |
52 | #endif | 52 | #endif |
53 | 53 | ||
54 | #ifdef __MIPSEB__ | 54 | #ifdef __MIPSEB__ |
55 | #define SPSTR(s,b,m) {s,b,m} | 55 | #define SPSTR(s, b, m) {s, b, m} |
56 | #define DPSTR(s,b,mh,ml) {s,b,mh,ml} | 56 | #define DPSTR(s, b, mh, ml) {s, b, mh, ml} |
57 | #endif | 57 | #endif |
58 | 58 | ||
59 | const struct ieee754dp_konst __ieee754dp_spcvals[] = { | 59 | const struct ieee754dp_konst __ieee754dp_spcvals[] = { |
@@ -65,7 +65,7 @@ const struct ieee754dp_konst __ieee754dp_spcvals[] = { | |||
65 | DPSTR(1, 3 + DP_EBIAS, 0x40000, 0), /* - 10.0 */ | 65 | DPSTR(1, 3 + DP_EBIAS, 0x40000, 0), /* - 10.0 */ |
66 | DPSTR(0, DP_EMAX + 1 + DP_EBIAS, 0, 0), /* + infinity */ | 66 | DPSTR(0, DP_EMAX + 1 + DP_EBIAS, 0, 0), /* + infinity */ |
67 | DPSTR(1, DP_EMAX + 1 + DP_EBIAS, 0, 0), /* - infinity */ | 67 | DPSTR(1, DP_EMAX + 1 + DP_EBIAS, 0, 0), /* - infinity */ |
68 | DPSTR(0,DP_EMAX+1+DP_EBIAS,0x7FFFF,0xFFFFFFFF), /* + indef quiet Nan */ | 68 | DPSTR(0, DP_EMAX+1+DP_EBIAS, 0x7FFFF, 0xFFFFFFFF), /* + indef quiet Nan */ |
69 | DPSTR(0, DP_EMAX + DP_EBIAS, 0xFFFFF, 0xFFFFFFFF), /* + max */ | 69 | DPSTR(0, DP_EMAX + DP_EBIAS, 0xFFFFF, 0xFFFFFFFF), /* + max */ |
70 | DPSTR(1, DP_EMAX + DP_EBIAS, 0xFFFFF, 0xFFFFFFFF), /* - max */ | 70 | DPSTR(1, DP_EMAX + DP_EBIAS, 0xFFFFF, 0xFFFFFFFF), /* - max */ |
71 | DPSTR(0, DP_EMIN + DP_EBIAS, 0, 0), /* + min normal */ | 71 | DPSTR(0, DP_EMIN + DP_EBIAS, 0, 0), /* + min normal */ |
@@ -85,7 +85,7 @@ const struct ieee754sp_konst __ieee754sp_spcvals[] = { | |||
85 | SPSTR(1, 3 + SP_EBIAS, 0x200000), /* - 10.0 */ | 85 | SPSTR(1, 3 + SP_EBIAS, 0x200000), /* - 10.0 */ |
86 | SPSTR(0, SP_EMAX + 1 + SP_EBIAS, 0), /* + infinity */ | 86 | SPSTR(0, SP_EMAX + 1 + SP_EBIAS, 0), /* + infinity */ |
87 | SPSTR(1, SP_EMAX + 1 + SP_EBIAS, 0), /* - infinity */ | 87 | SPSTR(1, SP_EMAX + 1 + SP_EBIAS, 0), /* - infinity */ |
88 | SPSTR(0,SP_EMAX+1+SP_EBIAS,0x3FFFFF), /* + indef quiet Nan */ | 88 | SPSTR(0, SP_EMAX+1+SP_EBIAS, 0x3FFFFF), /* + indef quiet Nan */ |
89 | SPSTR(0, SP_EMAX + SP_EBIAS, 0x7FFFFF), /* + max normal */ | 89 | SPSTR(0, SP_EMAX + SP_EBIAS, 0x7FFFFF), /* + max normal */ |
90 | SPSTR(1, SP_EMAX + SP_EBIAS, 0x7FFFFF), /* - max normal */ | 90 | SPSTR(1, SP_EMAX + SP_EBIAS, 0x7FFFFF), /* - max normal */ |
91 | SPSTR(0, SP_EMIN + SP_EBIAS, 0), /* + min normal */ | 91 | SPSTR(0, SP_EMIN + SP_EBIAS, 0), /* + min normal */ |
diff --git a/arch/mips/math-emu/ieee754dp.h b/arch/mips/math-emu/ieee754dp.h index a37370dae232..8977eb585a37 100644 --- a/arch/mips/math-emu/ieee754dp.h +++ b/arch/mips/math-emu/ieee754dp.h | |||
@@ -43,8 +43,8 @@ | |||
43 | /* convert denormal to normalized with extended exponent */ | 43 | /* convert denormal to normalized with extended exponent */ |
44 | #define DPDNORMx(m,e) \ | 44 | #define DPDNORMx(m,e) \ |
45 | while( (m >> DP_MBITS) == 0) { m <<= 1; e--; } | 45 | while( (m >> DP_MBITS) == 0) { m <<= 1; e--; } |
46 | #define DPDNORMX DPDNORMx(xm,xe) | 46 | #define DPDNORMX DPDNORMx(xm, xe) |
47 | #define DPDNORMY DPDNORMx(ym,ye) | 47 | #define DPDNORMY DPDNORMx(ym, ye) |
48 | 48 | ||
49 | static __inline ieee754dp builddp(int s, int bx, u64 m) | 49 | static __inline ieee754dp builddp(int s, int bx, u64 m) |
50 | { | 50 | { |
@@ -71,13 +71,13 @@ extern ieee754dp ieee754dp_bestnan(ieee754dp, ieee754dp); | |||
71 | extern ieee754dp ieee754dp_format(int, int, u64); | 71 | extern ieee754dp ieee754dp_format(int, int, u64); |
72 | 72 | ||
73 | 73 | ||
74 | #define DPNORMRET2(s,e,m,name,a0,a1) \ | 74 | #define DPNORMRET2(s, e, m, name, a0, a1) \ |
75 | { \ | 75 | { \ |
76 | ieee754dp V = ieee754dp_format(s,e,m); \ | 76 | ieee754dp V = ieee754dp_format(s, e, m); \ |
77 | if(TSTX()) \ | 77 | if(TSTX()) \ |
78 | return ieee754dp_xcpt(V,name,a0,a1); \ | 78 | return ieee754dp_xcpt(V, name, a0, a1); \ |
79 | else \ | 79 | else \ |
80 | return V; \ | 80 | return V; \ |
81 | } | 81 | } |
82 | 82 | ||
83 | #define DPNORMRET1(s,e,m,name,a0) DPNORMRET2(s,e,m,name,a0,a0) | 83 | #define DPNORMRET1(s, e, m, name, a0) DPNORMRET2(s, e, m, name, a0, a0) |
diff --git a/arch/mips/math-emu/ieee754int.h b/arch/mips/math-emu/ieee754int.h index 4a5a81d6b893..1a846c5425cd 100644 --- a/arch/mips/math-emu/ieee754int.h +++ b/arch/mips/math-emu/ieee754int.h | |||
@@ -55,16 +55,16 @@ | |||
55 | #define DPBEXP(dp) (dp.parts.bexp) | 55 | #define DPBEXP(dp) (dp.parts.bexp) |
56 | #define DPMANT(dp) (dp.parts.mant) | 56 | #define DPMANT(dp) (dp.parts.mant) |
57 | 57 | ||
58 | #define CLPAIR(x,y) ((x)*6+(y)) | 58 | #define CLPAIR(x, y) ((x)*6+(y)) |
59 | 59 | ||
60 | #define CLEARCX \ | 60 | #define CLEARCX \ |
61 | (ieee754_csr.cx = 0) | 61 | (ieee754_csr.cx = 0) |
62 | 62 | ||
63 | #define SETCX(x) \ | 63 | #define SETCX(x) \ |
64 | (ieee754_csr.cx |= (x),ieee754_csr.sx |= (x)) | 64 | (ieee754_csr.cx |= (x), ieee754_csr.sx |= (x)) |
65 | 65 | ||
66 | #define SETANDTESTCX(x) \ | 66 | #define SETANDTESTCX(x) \ |
67 | (SETCX(x),ieee754_csr.mx & (x)) | 67 | (SETCX(x), ieee754_csr.mx & (x)) |
68 | 68 | ||
69 | #define TSTX() \ | 69 | #define TSTX() \ |
70 | (ieee754_csr.cx & ieee754_csr.mx) | 70 | (ieee754_csr.cx & ieee754_csr.mx) |
@@ -76,7 +76,7 @@ | |||
76 | #define COMPYSP \ | 76 | #define COMPYSP \ |
77 | unsigned ym; int ye; int ys; int yc | 77 | unsigned ym; int ye; int ys; int yc |
78 | 78 | ||
79 | #define EXPLODESP(v,vc,vs,ve,vm) \ | 79 | #define EXPLODESP(v, vc, vs, ve, vm) \ |
80 | {\ | 80 | {\ |
81 | vs = SPSIGN(v);\ | 81 | vs = SPSIGN(v);\ |
82 | ve = SPBEXP(v);\ | 82 | ve = SPBEXP(v);\ |
@@ -100,8 +100,8 @@ | |||
100 | vc = IEEE754_CLASS_NORM;\ | 100 | vc = IEEE754_CLASS_NORM;\ |
101 | }\ | 101 | }\ |
102 | } | 102 | } |
103 | #define EXPLODEXSP EXPLODESP(x,xc,xs,xe,xm) | 103 | #define EXPLODEXSP EXPLODESP(x, xc, xs, xe, xm) |
104 | #define EXPLODEYSP EXPLODESP(y,yc,ys,ye,ym) | 104 | #define EXPLODEYSP EXPLODESP(y, yc, ys, ye, ym) |
105 | 105 | ||
106 | 106 | ||
107 | #define COMPXDP \ | 107 | #define COMPXDP \ |
@@ -110,7 +110,7 @@ u64 xm; int xe; int xs; int xc | |||
110 | #define COMPYDP \ | 110 | #define COMPYDP \ |
111 | u64 ym; int ye; int ys; int yc | 111 | u64 ym; int ye; int ys; int yc |
112 | 112 | ||
113 | #define EXPLODEDP(v,vc,vs,ve,vm) \ | 113 | #define EXPLODEDP(v, vc, vs, ve, vm) \ |
114 | {\ | 114 | {\ |
115 | vm = DPMANT(v);\ | 115 | vm = DPMANT(v);\ |
116 | vs = DPSIGN(v);\ | 116 | vs = DPSIGN(v);\ |
@@ -134,10 +134,10 @@ u64 ym; int ye; int ys; int yc | |||
134 | vc = IEEE754_CLASS_NORM;\ | 134 | vc = IEEE754_CLASS_NORM;\ |
135 | }\ | 135 | }\ |
136 | } | 136 | } |
137 | #define EXPLODEXDP EXPLODEDP(x,xc,xs,xe,xm) | 137 | #define EXPLODEXDP EXPLODEDP(x, xc, xs, xe, xm) |
138 | #define EXPLODEYDP EXPLODEDP(y,yc,ys,ye,ym) | 138 | #define EXPLODEYDP EXPLODEDP(y, yc, ys, ye, ym) |
139 | 139 | ||
140 | #define FLUSHDP(v,vc,vs,ve,vm) \ | 140 | #define FLUSHDP(v, vc, vs, ve, vm) \ |
141 | if(vc==IEEE754_CLASS_DNORM) {\ | 141 | if(vc==IEEE754_CLASS_DNORM) {\ |
142 | if(ieee754_csr.nod) {\ | 142 | if(ieee754_csr.nod) {\ |
143 | SETCX(IEEE754_INEXACT);\ | 143 | SETCX(IEEE754_INEXACT);\ |
@@ -148,7 +148,7 @@ u64 ym; int ye; int ys; int yc | |||
148 | }\ | 148 | }\ |
149 | } | 149 | } |
150 | 150 | ||
151 | #define FLUSHSP(v,vc,vs,ve,vm) \ | 151 | #define FLUSHSP(v, vc, vs, ve, vm) \ |
152 | if(vc==IEEE754_CLASS_DNORM) {\ | 152 | if(vc==IEEE754_CLASS_DNORM) {\ |
153 | if(ieee754_csr.nod) {\ | 153 | if(ieee754_csr.nod) {\ |
154 | SETCX(IEEE754_INEXACT);\ | 154 | SETCX(IEEE754_INEXACT);\ |
@@ -159,7 +159,7 @@ u64 ym; int ye; int ys; int yc | |||
159 | }\ | 159 | }\ |
160 | } | 160 | } |
161 | 161 | ||
162 | #define FLUSHXDP FLUSHDP(x,xc,xs,xe,xm) | 162 | #define FLUSHXDP FLUSHDP(x, xc, xs, xe, xm) |
163 | #define FLUSHYDP FLUSHDP(y,yc,ys,ye,ym) | 163 | #define FLUSHYDP FLUSHDP(y, yc, ys, ye, ym) |
164 | #define FLUSHXSP FLUSHSP(x,xc,xs,xe,xm) | 164 | #define FLUSHXSP FLUSHSP(x, xc, xs, xe, xm) |
165 | #define FLUSHYSP FLUSHSP(y,yc,ys,ye,ym) | 165 | #define FLUSHYSP FLUSHSP(y, yc, ys, ye, ym) |
diff --git a/arch/mips/math-emu/ieee754sp.h b/arch/mips/math-emu/ieee754sp.h index ae82f51297e5..9917c1e4d947 100644 --- a/arch/mips/math-emu/ieee754sp.h +++ b/arch/mips/math-emu/ieee754sp.h | |||
@@ -48,8 +48,8 @@ | |||
48 | /* convert denormal to normalized with extended exponent */ | 48 | /* convert denormal to normalized with extended exponent */ |
49 | #define SPDNORMx(m,e) \ | 49 | #define SPDNORMx(m,e) \ |
50 | while( (m >> SP_MBITS) == 0) { m <<= 1; e--; } | 50 | while( (m >> SP_MBITS) == 0) { m <<= 1; e--; } |
51 | #define SPDNORMX SPDNORMx(xm,xe) | 51 | #define SPDNORMX SPDNORMx(xm, xe) |
52 | #define SPDNORMY SPDNORMx(ym,ye) | 52 | #define SPDNORMY SPDNORMx(ym, ye) |
53 | 53 | ||
54 | static __inline ieee754sp buildsp(int s, int bx, unsigned m) | 54 | static __inline ieee754sp buildsp(int s, int bx, unsigned m) |
55 | { | 55 | { |
@@ -77,13 +77,13 @@ extern ieee754sp ieee754sp_bestnan(ieee754sp, ieee754sp); | |||
77 | extern ieee754sp ieee754sp_format(int, int, unsigned); | 77 | extern ieee754sp ieee754sp_format(int, int, unsigned); |
78 | 78 | ||
79 | 79 | ||
80 | #define SPNORMRET2(s,e,m,name,a0,a1) \ | 80 | #define SPNORMRET2(s, e, m, name, a0, a1) \ |
81 | { \ | 81 | { \ |
82 | ieee754sp V = ieee754sp_format(s,e,m); \ | 82 | ieee754sp V = ieee754sp_format(s, e, m); \ |
83 | if(TSTX()) \ | 83 | if(TSTX()) \ |
84 | return ieee754sp_xcpt(V,name,a0,a1); \ | 84 | return ieee754sp_xcpt(V, name, a0, a1); \ |
85 | else \ | 85 | else \ |
86 | return V; \ | 86 | return V; \ |
87 | } | 87 | } |
88 | 88 | ||
89 | #define SPNORMRET1(s,e,m,name,a0) SPNORMRET2(s,e,m,name,a0,a0) | 89 | #define SPNORMRET1(s, e, m, name, a0) SPNORMRET2(s, e, m, name, a0, a0) |