MIPS: math-emu: Replace DP_MBITS with DP_FBITS and SP_MBITS with SP_FBITS.
Both were defined as 23 rsp. 52 though the mentissa is actually a bit more than the fraction. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
@@ -43,7 +43,7 @@ int ieee754dp_isnan(union ieee754dp x)
|
||||
int ieee754dp_issnan(union ieee754dp x)
|
||||
{
|
||||
assert(ieee754dp_isnan(x));
|
||||
return ((DPMANT(x) & DP_MBIT(DP_MBITS-1)) == DP_MBIT(DP_MBITS-1));
|
||||
return ((DPMANT(x) & DP_MBIT(DP_FBITS-1)) == DP_MBIT(DP_FBITS-1));
|
||||
}
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ union ieee754dp __cold ieee754dp_nanxcpt(union ieee754dp r, const char *op, ...)
|
||||
|
||||
if (!ieee754_setandtestcx(IEEE754_INVALID_OPERATION)) {
|
||||
/* not enabled convert to a quiet NaN */
|
||||
DPMANT(r) &= (~DP_MBIT(DP_MBITS-1));
|
||||
DPMANT(r) &= (~DP_MBIT(DP_FBITS-1));
|
||||
if (ieee754dp_isnan(r))
|
||||
return r;
|
||||
else
|
||||
@@ -136,7 +136,7 @@ union ieee754dp ieee754dp_format(int sn, int xe, u64 xm)
|
||||
{
|
||||
assert(xm); /* we don't gen exact zeros (probably should) */
|
||||
|
||||
assert((xm >> (DP_MBITS + 1 + 3)) == 0); /* no execess */
|
||||
assert((xm >> (DP_FBITS + 1 + 3)) == 0); /* no execess */
|
||||
assert(xm & (DP_HIDDEN_BIT << 3));
|
||||
|
||||
if (xe < DP_EMIN) {
|
||||
@@ -165,7 +165,7 @@ union ieee754dp ieee754dp_format(int sn, int xe, u64 xm)
|
||||
}
|
||||
|
||||
if (xe == DP_EMIN - 1
|
||||
&& get_rounding(sn, xm) >> (DP_MBITS + 1 + 3))
|
||||
&& get_rounding(sn, xm) >> (DP_FBITS + 1 + 3))
|
||||
{
|
||||
/* Not tiny after rounding */
|
||||
ieee754_setcx(IEEE754_INEXACT);
|
||||
@@ -195,7 +195,7 @@ union ieee754dp ieee754dp_format(int sn, int xe, u64 xm)
|
||||
xm = get_rounding(sn, xm);
|
||||
/* adjust exponent for rounding add overflowing
|
||||
*/
|
||||
if (xm >> (DP_MBITS + 3 + 1)) {
|
||||
if (xm >> (DP_FBITS + 3 + 1)) {
|
||||
/* add causes mantissa overflow */
|
||||
xm >>= 1;
|
||||
xe++;
|
||||
@@ -204,7 +204,7 @@ union ieee754dp ieee754dp_format(int sn, int xe, u64 xm)
|
||||
/* strip grs bits */
|
||||
xm >>= 3;
|
||||
|
||||
assert((xm >> (DP_MBITS + 1)) == 0); /* no execess */
|
||||
assert((xm >> (DP_FBITS + 1)) == 0); /* no execess */
|
||||
assert(xe >= DP_EMIN);
|
||||
|
||||
if (xe > DP_EMAX) {
|
||||
@@ -237,7 +237,7 @@ union ieee754dp ieee754dp_format(int sn, int xe, u64 xm)
|
||||
ieee754_setcx(IEEE754_UNDERFLOW);
|
||||
return builddp(sn, DP_EMIN - 1 + DP_EBIAS, xm);
|
||||
} else {
|
||||
assert((xm >> (DP_MBITS + 1)) == 0); /* no execess */
|
||||
assert((xm >> (DP_FBITS + 1)) == 0); /* no execess */
|
||||
assert(xm & DP_HIDDEN_BIT);
|
||||
|
||||
return builddp(sn, xe + DP_EBIAS, xm & ~DP_HIDDEN_BIT);
|
||||
|
Reference in New Issue
Block a user