]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
MIPS: math-emu: Replace DP_MBITS with DP_FBITS and SP_MBITS with SP_FBITS.
authorRalf Baechle <ralf@linux-mips.org>
Tue, 22 Apr 2014 13:51:55 +0000 (15:51 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 30 Apr 2014 23:32:22 +0000 (01:32 +0200)
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>
25 files changed:
arch/mips/math-emu/dp_add.c
arch/mips/math-emu/dp_div.c
arch/mips/math-emu/dp_fint.c
arch/mips/math-emu/dp_flong.c
arch/mips/math-emu/dp_fsp.c
arch/mips/math-emu/dp_modf.c
arch/mips/math-emu/dp_mul.c
arch/mips/math-emu/dp_sub.c
arch/mips/math-emu/dp_tint.c
arch/mips/math-emu/dp_tlong.c
arch/mips/math-emu/ieee754dp.c
arch/mips/math-emu/ieee754dp.h
arch/mips/math-emu/ieee754int.h
arch/mips/math-emu/ieee754sp.c
arch/mips/math-emu/ieee754sp.h
arch/mips/math-emu/sp_add.c
arch/mips/math-emu/sp_div.c
arch/mips/math-emu/sp_fdp.c
arch/mips/math-emu/sp_fint.c
arch/mips/math-emu/sp_flong.c
arch/mips/math-emu/sp_modf.c
arch/mips/math-emu/sp_mul.c
arch/mips/math-emu/sp_sub.c
arch/mips/math-emu/sp_tint.c
arch/mips/math-emu/sp_tlong.c

index 7daaafcfeb781ccbcb78c40aec205b9eaf699c0e..f1c8e70e8beb78f7be806df6f3f6b3748cc22b40 100644 (file)
@@ -153,7 +153,7 @@ union ieee754dp ieee754dp_add(union ieee754dp x, union ieee754dp y)
                xe = xe;
                xs = xs;
 
-               if (xm >> (DP_MBITS + 1 + 3)) { /* carry out */
+               if (xm >> (DP_FBITS + 1 + 3)) { /* carry out */
                        xm = XDPSRS1(xm);
                        xe++;
                }
@@ -172,7 +172,7 @@ union ieee754dp ieee754dp_add(union ieee754dp x, union ieee754dp y)
                                              IEEE754_RD);
 
                /* normalize to rounding precision */
-               while ((xm >> (DP_MBITS + 3)) == 0) {
+               while ((xm >> (DP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
index 3b568b718d52ba413035d63b96063c469a096888..13ecffa9c25e5387ec85acf844d01b1addaf2fc4 100644 (file)
@@ -129,7 +129,7 @@ union ieee754dp ieee754dp_div(union ieee754dp x, union ieee754dp y)
                int re = xe - ye;
                u64 bm;
 
-               for (bm = DP_MBIT(DP_MBITS + 2); bm; bm >>= 1) {
+               for (bm = DP_MBIT(DP_FBITS + 2); bm; bm >>= 1) {
                        if (xm >= ym) {
                                xm -= ym;
                                rm |= bm;
@@ -146,7 +146,7 @@ union ieee754dp ieee754dp_div(union ieee754dp x, union ieee754dp y)
 
                /* normalise rm to rounding precision ?
                 */
-               while ((rm >> (DP_MBITS + 3)) == 0) {
+               while ((rm >> (DP_FBITS + 3)) == 0) {
                        rm <<= 1;
                        re--;
                }
index 4b5ee799b4a44499506c24855a3902edd3d55493..196a010ff09d7fc2b17b0fe1ff9bf917a5207636 100644 (file)
@@ -52,8 +52,8 @@ union ieee754dp ieee754dp_fint(int x)
        }
 
        /* normalize - result can never be inexact or overflow */
-       xe = DP_MBITS;
-       while ((xm >> DP_MBITS) == 0) {
+       xe = DP_FBITS;
+       while ((xm >> DP_FBITS) == 0) {
                xm <<= 1;
                xe--;
        }
index 89bd57917c94de66e80cb741279845494004201b..915072d82c2045c7254953eb733940a86fae50fb 100644 (file)
@@ -52,15 +52,15 @@ union ieee754dp ieee754dp_flong(s64 x)
        }
 
        /* normalize */
-       xe = DP_MBITS + 3;
-       if (xm >> (DP_MBITS + 1 + 3)) {
+       xe = DP_FBITS + 3;
+       if (xm >> (DP_FBITS + 1 + 3)) {
                /* shunt out overflow bits */
-               while (xm >> (DP_MBITS + 1 + 3)) {
+               while (xm >> (DP_FBITS + 1 + 3)) {
                        XDPSRSX1();
                }
        } else {
                /* normalize in grs extended double precision */
-               while ((xm >> (DP_MBITS + 3)) == 0) {
+               while ((xm >> (DP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
index cacd9f3286905534658bcfa52ea3c6e82235e468..7ddb506153e1ce98649dd255fd5eb4fdc31bd913 100644 (file)
@@ -44,8 +44,8 @@ union ieee754dp ieee754dp_fsp(union ieee754sp x)
                return ieee754dp_nanxcpt(builddp(xs,
                                                 DP_EMAX + 1 + DP_EBIAS,
                                                 ((u64) xm
-                                                 << (DP_MBITS -
-                                                     SP_MBITS))), "fsp",
+                                                 << (DP_FBITS -
+                                                     SP_FBITS))), "fsp",
                                         x);
        case IEEE754_CLASS_INF:
                return ieee754dp_inf(xs);
@@ -53,7 +53,7 @@ union ieee754dp ieee754dp_fsp(union ieee754sp x)
                return ieee754dp_zero(xs);
        case IEEE754_CLASS_DNORM:
                /* normalize */
-               while ((xm >> SP_MBITS) == 0) {
+               while ((xm >> SP_FBITS) == 0) {
                        xm <<= 1;
                        xe--;
                }
@@ -69,5 +69,5 @@ union ieee754dp ieee754dp_fsp(union ieee754sp x)
        xm &= ~SP_HIDDEN_BIT;
 
        return builddp(xs, xe + DP_EBIAS,
-                      (u64) xm << (DP_MBITS - SP_MBITS));
+                      (u64) xm << (DP_FBITS - SP_FBITS));
 }
index 61733ff512c7e22f0d25cd423e3fd3a0c3863364..d83ec44f1a33c55305b3e56a9de06d3bce0c05a3 100644 (file)
@@ -54,24 +54,24 @@ union ieee754dp ieee754dp_modf(union ieee754dp x, union ieee754dp *ip)
                *ip = ieee754dp_zero(xs);
                return x;
        }
-       if (xe >= DP_MBITS) {
+       if (xe >= DP_FBITS) {
                *ip = x;
                return ieee754dp_zero(xs);
        }
        /* generate ipart mantissa by clearing bottom bits
         */
        *ip = builddp(xs, xe + DP_EBIAS,
-                     ((xm >> (DP_MBITS - xe)) << (DP_MBITS - xe)) &
+                     ((xm >> (DP_FBITS - xe)) << (DP_FBITS - xe)) &
                      ~DP_HIDDEN_BIT);
 
        /* generate fpart mantissa by clearing top bits
         * and normalizing (must be able to normalize)
         */
-       xm = (xm << (64 - (DP_MBITS - xe))) >> (64 - (DP_MBITS - xe));
+       xm = (xm << (64 - (DP_FBITS - xe))) >> (64 - (DP_FBITS - xe));
        if (xm == 0)
                return ieee754dp_zero(xs);
 
-       while ((xm >> DP_MBITS) == 0) {
+       while ((xm >> DP_FBITS) == 0) {
                xm <<= 1;
                xe--;
        }
index 8f1bef91aa95f831899d52a21b8015fa5b248f63..56fb309b42c12fad68d13b4fbc1f99cca488ddd8 100644 (file)
@@ -113,8 +113,8 @@ union ieee754dp ieee754dp_mul(union ieee754dp x, union ieee754dp y)
                u64 rm;
 
                /* shunt to top of word */
-               xm <<= 64 - (DP_MBITS + 1);
-               ym <<= 64 - (DP_MBITS + 1);
+               xm <<= 64 - (DP_FBITS + 1);
+               ym <<= 64 - (DP_FBITS + 1);
 
                /* multiply 32bits xm,ym to give high 32bits rm with stickness
                 */
@@ -162,13 +162,13 @@ union ieee754dp ieee754dp_mul(union ieee754dp x, union ieee754dp y)
                 */
                if ((s64) rm < 0) {
                        rm =
-                           (rm >> (64 - (DP_MBITS + 1 + 3))) |
-                           ((rm << (DP_MBITS + 1 + 3)) != 0);
+                           (rm >> (64 - (DP_FBITS + 1 + 3))) |
+                           ((rm << (DP_FBITS + 1 + 3)) != 0);
                        re++;
                } else {
                        rm =
-                           (rm >> (64 - (DP_MBITS + 1 + 3 + 1))) |
-                           ((rm << (DP_MBITS + 1 + 3 + 1)) != 0);
+                           (rm >> (64 - (DP_FBITS + 1 + 3 + 1))) |
+                           ((rm << (DP_FBITS + 1 + 3 + 1)) != 0);
                }
                assert(rm & (DP_HIDDEN_BIT << 3));
                DPNORMRET2(rs, re, rm, "mul", x, y);
index e369c7b07f5e3811ab52b73848a88f0735b9e9d4..25d25bc8d977fae7e0605de03e27b3bca753cf13 100644 (file)
@@ -158,7 +158,7 @@ union ieee754dp ieee754dp_sub(union ieee754dp x, union ieee754dp y)
                xe = xe;
                xs = xs;
 
-               if (xm >> (DP_MBITS + 1 + 3)) { /* carry out */
+               if (xm >> (DP_FBITS + 1 + 3)) { /* carry out */
                        xm = XDPSRS1(xm);       /* shift preserving sticky */
                        xe++;
                }
@@ -181,7 +181,7 @@ union ieee754dp ieee754dp_sub(union ieee754dp x, union ieee754dp y)
 
                /* normalize to rounding precision
                 */
-               while ((xm >> (DP_MBITS + 3)) == 0) {
+               while ((xm >> (DP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
index 792470c53779068d1ff92791a511274ac77c5c87..8c39a40d7fe9e436f1c7cc3ebb86511c14204007 100644 (file)
@@ -54,9 +54,9 @@ int ieee754dp_tint(union ieee754dp x)
                return ieee754si_xcpt(ieee754si_indef(), "dp_tint", x);
        }
        /* oh gawd */
-       if (xe > DP_MBITS) {
-               xm <<= xe - DP_MBITS;
-       } else if (xe < DP_MBITS) {
+       if (xe > DP_FBITS) {
+               xm <<= xe - DP_FBITS;
+       } else if (xe < DP_FBITS) {
                u64 residue;
                int round;
                int sticky;
@@ -68,10 +68,10 @@ int ieee754dp_tint(union ieee754dp x)
                        sticky = residue != 0;
                        xm = 0;
                } else {
-                       residue = xm << (64 - DP_MBITS + xe);
+                       residue = xm << (64 - DP_FBITS + xe);
                        round = (residue >> 63) != 0;
                        sticky = (residue << 1) != 0;
-                       xm >>= DP_MBITS - xe;
+                       xm >>= DP_FBITS - xe;
                }
                /* Note: At this point upper 32 bits of xm are guaranteed
                   to be zero */
index fcc1c4f50e98953ffbcf1205831f8d7ae3575417..2653b6eac68915a7a13a026e8e9a443ed6799585 100644 (file)
@@ -57,9 +57,9 @@ s64 ieee754dp_tlong(union ieee754dp x)
                return ieee754di_xcpt(ieee754di_indef(), "dp_tlong", x);
        }
        /* oh gawd */
-       if (xe > DP_MBITS) {
-               xm <<= xe - DP_MBITS;
-       } else if (xe < DP_MBITS) {
+       if (xe > DP_FBITS) {
+               xm <<= xe - DP_FBITS;
+       } else if (xe < DP_FBITS) {
                u64 residue;
                int round;
                int sticky;
@@ -75,10 +75,10 @@ s64 ieee754dp_tlong(union ieee754dp x)
                        * so we do it in two steps. Be aware that xe
                        * may be -1 */
                        residue = xm << (xe + 1);
-                       residue <<= 63 - DP_MBITS;
+                       residue <<= 63 - DP_FBITS;
                        round = (residue >> 63) != 0;
                        sticky = (residue << 1) != 0;
-                       xm >>= DP_MBITS - xe;
+                       xm >>= DP_FBITS - xe;
                }
                odd = (xm & 0x1) != 0x0;
                switch (ieee754_csr.rm) {
index a8eb0142ca1725a0f7a48bb2c878511c5ae14d4a..9be2d7836f81c89aafa1516352e1232b05f79258 100644 (file)
@@ -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);
index 1dc205880cba3be7f0bd7e029926f8749615cb44..f8f358a9072c7d240507b65c9699a15db366d0b0 100644 (file)
@@ -32,7 +32,7 @@
 
 /* 3bit extended double precision sticky right shift */
 #define XDPSRS(v,rs)   \
-       ((rs > (DP_MBITS+3))?1:((v) >> (rs)) | ((v) << (64-(rs)) != 0))
+       ((rs > (DP_FBITS+3))?1:((v) >> (rs)) | ((v) << (64-(rs)) != 0))
 
 #define XDPSRSX1() \
        (xe++, (xm = (xm >> 1) | (xm & 1)))
@@ -42,7 +42,7 @@
 
 /* convert denormal to normalized with extended exponent */
 #define DPDNORMx(m,e) \
-       while ((m >> DP_MBITS) == 0) { m <<= 1; e--; }
+       while ((m >> DP_FBITS) == 0) { m <<= 1; e--; }
 #define DPDNORMX       DPDNORMx(xm, xe)
 #define DPDNORMY       DPDNORMx(ym, ye)
 
@@ -53,7 +53,7 @@ static inline union ieee754dp builddp(int s, int bx, u64 m)
        assert((s) == 0 || (s) == 1);
        assert((bx) >= DP_EMIN - 1 + DP_EBIAS
               && (bx) <= DP_EMAX + 1 + DP_EBIAS);
-       assert(((m) >> DP_MBITS) == 0);
+       assert(((m) >> DP_FBITS) == 0);
 
        r.parts.sign = s;
        r.parts.bexp = bx;
index 39c40d27582525915c087f3543d3c32d4d9ff27f..543e8f0b5a977601ab2bf38f4cfb905b65509cf4 100644 (file)
 #define DP_EBIAS       1023
 #define DP_EMIN                (-1022)
 #define DP_EMAX                1023
-#define DP_MBITS       52
+#define DP_FBITS       52
 
 #define SP_EBIAS       127
 #define SP_EMIN                (-126)
 #define SP_EMAX                127
-#define SP_MBITS       23
+#define SP_FBITS       23
 
 #define DP_MBIT(x)     ((u64)1 << (x))
-#define DP_HIDDEN_BIT  DP_MBIT(DP_MBITS)
+#define DP_HIDDEN_BIT  DP_MBIT(DP_FBITS)
 #define DP_SIGN_BIT    DP_MBIT(63)
 
 #define SP_MBIT(x)     ((u32)1 << (x))
-#define SP_HIDDEN_BIT  SP_MBIT(SP_MBITS)
+#define SP_HIDDEN_BIT  SP_MBIT(SP_FBITS)
 #define SP_SIGN_BIT    SP_MBIT(31)
 
 
@@ -94,7 +94,7 @@ static inline int ieee754_tstx(void)
        if (ve == SP_EMAX+1+SP_EBIAS) {                                 \
                if (vm == 0)                                            \
                        vc = IEEE754_CLASS_INF;                         \
-               else if (vm & SP_MBIT(SP_MBITS-1))                      \
+               else if (vm & SP_MBIT(SP_FBITS-1))                      \
                        vc = IEEE754_CLASS_SNAN;                        \
        else                                                            \
                vc = IEEE754_CLASS_QNAN;                                \
@@ -128,7 +128,7 @@ static inline int ieee754_tstx(void)
        if (ve == DP_EMAX+1+DP_EBIAS) {                                 \
                if (vm == 0)                                            \
                        vc = IEEE754_CLASS_INF;                         \
-               else if (vm & DP_MBIT(DP_MBITS-1))                      \
+               else if (vm & DP_MBIT(DP_FBITS-1))                      \
                        vc = IEEE754_CLASS_SNAN;                        \
                else                                                    \
                        vc = IEEE754_CLASS_QNAN;                        \
index ed62ffeeb61ef607ceba42aee984180edd202588..5b435ec8ae25ef90569cb6474c99508fe13a8dff 100644 (file)
@@ -43,7 +43,7 @@ int ieee754sp_isnan(union ieee754sp x)
 int ieee754sp_issnan(union ieee754sp x)
 {
        assert(ieee754sp_isnan(x));
-       return (SPMANT(x) & SP_MBIT(SP_MBITS-1));
+       return (SPMANT(x) & SP_MBIT(SP_FBITS-1));
 }
 
 
@@ -74,7 +74,7 @@ union ieee754sp __cold ieee754sp_nanxcpt(union ieee754sp r, const char *op, ...)
 
        if (!ieee754_setandtestcx(IEEE754_INVALID_OPERATION)) {
                /* not enabled convert to a quiet NaN */
-               SPMANT(r) &= (~SP_MBIT(SP_MBITS-1));
+               SPMANT(r) &= (~SP_MBIT(SP_FBITS-1));
                if (ieee754sp_isnan(r))
                        return r;
                else
@@ -137,7 +137,7 @@ union ieee754sp ieee754sp_format(int sn, int xe, unsigned xm)
 {
        assert(xm);             /* we don't gen exact zeros (probably should) */
 
-       assert((xm >> (SP_MBITS + 1 + 3)) == 0);        /* no execess */
+       assert((xm >> (SP_FBITS + 1 + 3)) == 0);        /* no execess */
        assert(xm & (SP_HIDDEN_BIT << 3));
 
        if (xe < SP_EMIN) {
@@ -166,7 +166,7 @@ union ieee754sp ieee754sp_format(int sn, int xe, unsigned xm)
                }
 
                if (xe == SP_EMIN - 1
-                               && get_rounding(sn, xm) >> (SP_MBITS + 1 + 3))
+                               && get_rounding(sn, xm) >> (SP_FBITS + 1 + 3))
                {
                        /* Not tiny after rounding */
                        ieee754_setcx(IEEE754_INEXACT);
@@ -194,7 +194,7 @@ union ieee754sp ieee754sp_format(int sn, int xe, unsigned xm)
                xm = get_rounding(sn, xm);
                /* adjust exponent for rounding add overflowing
                 */
-               if (xm >> (SP_MBITS + 1 + 3)) {
+               if (xm >> (SP_FBITS + 1 + 3)) {
                        /* add causes mantissa overflow */
                        xm >>= 1;
                        xe++;
@@ -203,7 +203,7 @@ union ieee754sp ieee754sp_format(int sn, int xe, unsigned xm)
        /* strip grs bits */
        xm >>= 3;
 
-       assert((xm >> (SP_MBITS + 1)) == 0);    /* no execess */
+       assert((xm >> (SP_FBITS + 1)) == 0);    /* no execess */
        assert(xe >= SP_EMIN);
 
        if (xe > SP_EMAX) {
@@ -236,7 +236,7 @@ union ieee754sp ieee754sp_format(int sn, int xe, unsigned xm)
                        ieee754_setcx(IEEE754_UNDERFLOW);
                return buildsp(sn, SP_EMIN - 1 + SP_EBIAS, xm);
        } else {
-               assert((xm >> (SP_MBITS + 1)) == 0);    /* no execess */
+               assert((xm >> (SP_FBITS + 1)) == 0);    /* no execess */
                assert(xm & SP_HIDDEN_BIT);
 
                return buildsp(sn, xe + SP_EBIAS, xm & ~SP_HIDDEN_BIT);
index 011d034fd86e3ccc2dc646cf6415ff9f48093b4e..075ea1891280fb37c985750be1ab49949ff28280 100644 (file)
 /* 3bit extended single precision sticky right shift */
 #define SPXSRSXn(rs)                                                   \
        (xe += rs,                                                      \
-        xm = (rs > (SP_MBITS+3))?1:((xm) >> (rs)) | ((xm) << (32-(rs)) != 0))
+        xm = (rs > (SP_FBITS+3))?1:((xm) >> (rs)) | ((xm) << (32-(rs)) != 0))
 
 #define SPXSRSX1() \
        (xe++, (xm = (xm >> 1) | (xm & 1)))
 
 #define SPXSRSYn(rs)                                                           \
        (ye+=rs,                                                                \
-        ym = (rs > (SP_MBITS+3))?1:((ym) >> (rs)) | ((ym) << (32-(rs)) != 0))
+        ym = (rs > (SP_FBITS+3))?1:((ym) >> (rs)) | ((ym) << (32-(rs)) != 0))
 
 #define SPXSRSY1() \
        (ye++, (ym = (ym >> 1) | (ym & 1)))
 
 /* convert denormal to normalized with extended exponent */
 #define SPDNORMx(m,e) \
-       while ((m >> SP_MBITS) == 0) { m <<= 1; e--; }
+       while ((m >> SP_FBITS) == 0) { m <<= 1; e--; }
 #define SPDNORMX       SPDNORMx(xm, xe)
 #define SPDNORMY       SPDNORMx(ym, ye)
 
@@ -58,7 +58,7 @@ static inline union ieee754sp buildsp(int s, int bx, unsigned m)
        assert((s) == 0 || (s) == 1);
        assert((bx) >= SP_EMIN - 1 + SP_EBIAS
               && (bx) <= SP_EMAX + 1 + SP_EBIAS);
-       assert(((m) >> SP_MBITS) == 0);
+       assert(((m) >> SP_FBITS) == 0);
 
        r.parts.sign = s;
        r.parts.bexp = bx;
index e67f11af4acfc98df38c19b1ac3aa246d8565b1d..d107bce38bfd2e003c9c147baed0332a0ed0ce71 100644 (file)
@@ -148,7 +148,7 @@ union ieee754sp ieee754sp_add(union ieee754sp x, union ieee754sp y)
                xe = xe;
                xs = xs;
 
-               if (xm >> (SP_MBITS + 1 + 3)) { /* carry out */
+               if (xm >> (SP_FBITS + 1 + 3)) { /* carry out */
                        SPXSRSX1();
                }
        } else {
@@ -166,7 +166,7 @@ union ieee754sp ieee754sp_add(union ieee754sp x, union ieee754sp y)
                                              IEEE754_RD);
 
                /* normalize in extended single precision */
-               while ((xm >> (SP_MBITS + 3)) == 0) {
+               while ((xm >> (SP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
index 4caac973e2a622d75e17225eeb0f240fb4b3e3ac..095fb20262a97cbb5ad3e929641d3c18d7bfe415 100644 (file)
@@ -129,7 +129,7 @@ union ieee754sp ieee754sp_div(union ieee754sp x, union ieee754sp y)
                int re = xe - ye;
                unsigned bm;
 
-               for (bm = SP_MBIT(SP_MBITS + 2); bm; bm >>= 1) {
+               for (bm = SP_MBIT(SP_FBITS + 2); bm; bm >>= 1) {
                        if (xm >= ym) {
                                xm -= ym;
                                rm |= bm;
@@ -146,7 +146,7 @@ union ieee754sp ieee754sp_div(union ieee754sp x, union ieee754sp y)
 
                /* normalise rm to rounding precision ?
                 */
-               while ((rm >> (SP_MBITS + 3)) == 0) {
+               while ((rm >> (SP_FBITS + 3)) == 0) {
                        rm <<= 1;
                        re--;
                }
index 569878d7cb98c036d8cfd53706c64403989512ec..c22ffcac26515f931dfd61bb2b16b67a514a9408 100644 (file)
@@ -43,7 +43,7 @@ union ieee754sp ieee754sp_fdp(union ieee754dp x)
                return ieee754sp_nanxcpt(ieee754sp_indef(), "fdp");
        case IEEE754_CLASS_QNAN:
                nan = buildsp(xs, SP_EMAX + 1 + SP_EBIAS, (u32)
-                               (xm >> (DP_MBITS - SP_MBITS)));
+                               (xm >> (DP_FBITS - SP_FBITS)));
                if (!ieee754sp_isnan(nan))
                        nan = ieee754sp_indef();
                return ieee754sp_nanxcpt(nan, "fdp", x);
@@ -66,10 +66,10 @@ union ieee754sp ieee754sp_fdp(union ieee754dp x)
        {
                u32 rm;
 
-               /* convert from DP_MBITS to SP_MBITS+3 with sticky right shift
+               /* convert from DP_FBITS to SP_FBITS+3 with sticky right shift
                 */
-               rm = (xm >> (DP_MBITS - (SP_MBITS + 3))) |
-                   ((xm << (64 - (DP_MBITS - (SP_MBITS + 3)))) != 0);
+               rm = (xm >> (DP_FBITS - (SP_FBITS + 3))) |
+                   ((xm << (64 - (DP_FBITS - (SP_FBITS + 3)))) != 0);
 
                SPNORMRET1(xs, xe, rm, "fdp", x);
        }
index 74619e73796c8f135463141fa76521a109aebabb..9574d25f6122f08d185cc201457460770a586b31 100644 (file)
@@ -50,18 +50,18 @@ union ieee754sp ieee754sp_fint(int x)
        } else {
                xm = x;
        }
-       xe = SP_MBITS + 3;
+       xe = SP_FBITS + 3;
 
-       if (xm >> (SP_MBITS + 1 + 3)) {
+       if (xm >> (SP_FBITS + 1 + 3)) {
                /* shunt out overflow bits
                 */
-               while (xm >> (SP_MBITS + 1 + 3)) {
+               while (xm >> (SP_FBITS + 1 + 3)) {
                        SPXSRSX1();
                }
        } else {
                /* normalize in grs extended single precision
                 */
-               while ((xm >> (SP_MBITS + 3)) == 0) {
+               while ((xm >> (SP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
index ea065ae147669cfac5115f4936ec9cd6a10791e1..65c7e7e67b602cf5a536586140dc77d4cf4a206c 100644 (file)
@@ -50,17 +50,17 @@ union ieee754sp ieee754sp_flong(s64 x)
        } else {
                xm = x;
        }
-       xe = SP_MBITS + 3;
+       xe = SP_FBITS + 3;
 
-       if (xm >> (SP_MBITS + 1 + 3)) {
+       if (xm >> (SP_FBITS + 1 + 3)) {
                /* shunt out overflow bits
                 */
-               while (xm >> (SP_MBITS + 1 + 3)) {
+               while (xm >> (SP_FBITS + 1 + 3)) {
                        SPXSRSX1();
                }
        } else {
                /* normalize in grs extended single precision */
-               while ((xm >> (SP_MBITS + 3)) == 0) {
+               while ((xm >> (SP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
index 22f19a22ab0229fc5226d1ffe5a96e5716d928f3..5f361a7a10b656fe7e22593bdf4c1805323135d9 100644 (file)
@@ -54,24 +54,24 @@ union ieee754sp ieee754sp_modf(union ieee754sp x, union ieee754sp *ip)
                *ip = ieee754sp_zero(xs);
                return x;
        }
-       if (xe >= SP_MBITS) {
+       if (xe >= SP_FBITS) {
                *ip = x;
                return ieee754sp_zero(xs);
        }
        /* generate ipart mantissa by clearing bottom bits
         */
        *ip = buildsp(xs, xe + SP_EBIAS,
-                     ((xm >> (SP_MBITS - xe)) << (SP_MBITS - xe)) &
+                     ((xm >> (SP_FBITS - xe)) << (SP_FBITS - xe)) &
                      ~SP_HIDDEN_BIT);
 
        /* generate fpart mantissa by clearing top bits
         * and normalizing (must be able to normalize)
         */
-       xm = (xm << (32 - (SP_MBITS - xe))) >> (32 - (SP_MBITS - xe));
+       xm = (xm << (32 - (SP_FBITS - xe))) >> (32 - (SP_FBITS - xe));
        if (xm == 0)
                return ieee754sp_zero(xs);
 
-       while ((xm >> SP_MBITS) == 0) {
+       while ((xm >> SP_FBITS) == 0) {
                xm <<= 1;
                xe--;
        }
index 844b3bde0ab665e71a772bc150bd34cdfa4762f5..28f608f25499f1dbd0040e8c4ad342e385b72916 100644 (file)
@@ -114,8 +114,8 @@ union ieee754sp ieee754sp_mul(union ieee754sp x, union ieee754sp y)
                unsigned rm;
 
                /* shunt to top of word */
-               xm <<= 32 - (SP_MBITS + 1);
-               ym <<= 32 - (SP_MBITS + 1);
+               xm <<= 32 - (SP_FBITS + 1);
+               ym <<= 32 - (SP_FBITS + 1);
 
                /* multiply 32bits xm,ym to give high 32bits rm with stickness
                 */
@@ -156,12 +156,12 @@ union ieee754sp ieee754sp_mul(union ieee754sp x, union ieee754sp y)
                 * sticky shift down to normal rounding precision
                 */
                if ((int) rm < 0) {
-                       rm = (rm >> (32 - (SP_MBITS + 1 + 3))) |
-                           ((rm << (SP_MBITS + 1 + 3)) != 0);
+                       rm = (rm >> (32 - (SP_FBITS + 1 + 3))) |
+                           ((rm << (SP_FBITS + 1 + 3)) != 0);
                        re++;
                } else {
-                       rm = (rm >> (32 - (SP_MBITS + 1 + 3 + 1))) |
-                           ((rm << (SP_MBITS + 1 + 3 + 1)) != 0);
+                       rm = (rm >> (32 - (SP_FBITS + 1 + 3 + 1))) |
+                           ((rm << (SP_FBITS + 1 + 3 + 1)) != 0);
                }
                assert(rm & (SP_HIDDEN_BIT << 3));
 
index 7e45ba3c2a385bbc1663d00681033774a7b453dd..1131065d01782368737229b0808d999febcaa43f 100644 (file)
@@ -153,7 +153,7 @@ union ieee754sp ieee754sp_sub(union ieee754sp x, union ieee754sp y)
                xe = xe;
                xs = xs;
 
-               if (xm >> (SP_MBITS + 1 + 3)) { /* carry out */
+               if (xm >> (SP_FBITS + 1 + 3)) { /* carry out */
                        SPXSRSX1();     /* shift preserving sticky */
                }
        } else {
@@ -174,7 +174,7 @@ union ieee754sp ieee754sp_sub(union ieee754sp x, union ieee754sp y)
                }
                /* normalize to rounding precision
                 */
-               while ((xm >> (SP_MBITS + 3)) == 0) {
+               while ((xm >> (SP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
index febcf5cc4fbc8de6e83d4cee211d3005b00e3761..709f6bcd490b245c95ee969af7e147795745e896 100644 (file)
@@ -57,8 +57,8 @@ int ieee754sp_tint(union ieee754sp x)
                return ieee754si_xcpt(ieee754si_indef(), "sp_tint", x);
        }
        /* oh gawd */
-       if (xe > SP_MBITS) {
-               xm <<= xe - SP_MBITS;
+       if (xe > SP_FBITS) {
+               xm <<= xe - SP_FBITS;
        } else {
                u32 residue;
                int round;
@@ -75,10 +75,10 @@ int ieee754sp_tint(union ieee754sp x)
                        * so we do it in two steps. Be aware that xe
                        * may be -1 */
                        residue = xm << (xe + 1);
-                       residue <<= 31 - SP_MBITS;
+                       residue <<= 31 - SP_FBITS;
                        round = (residue >> 31) != 0;
                        sticky = (residue << 1) != 0;
-                       xm >>= SP_MBITS - xe;
+                       xm >>= SP_FBITS - xe;
                }
                odd = (xm & 0x1) != 0x0;
                switch (ieee754_csr.rm) {
index a05d09318fb152b7522de24aae98c975f9936cb8..155491f85d7fb0c27b8ce5621a2f3e25ad3f260c 100644 (file)
@@ -57,9 +57,9 @@ s64 ieee754sp_tlong(union ieee754sp x)
                return ieee754di_xcpt(ieee754di_indef(), "sp_tlong", x);
        }
        /* oh gawd */
-       if (xe > SP_MBITS) {
-               xm <<= xe - SP_MBITS;
-       } else if (xe < SP_MBITS) {
+       if (xe > SP_FBITS) {
+               xm <<= xe - SP_FBITS;
+       } else if (xe < SP_FBITS) {
                u32 residue;
                int round;
                int sticky;
@@ -71,10 +71,10 @@ s64 ieee754sp_tlong(union ieee754sp x)
                        sticky = residue != 0;
                        xm = 0;
                } else {
-                       residue = xm << (32 - SP_MBITS + xe);
+                       residue = xm << (32 - SP_FBITS + xe);
                        round = (residue >> 31) != 0;
                        sticky = (residue << 1) != 0;
-                       xm >>= SP_MBITS - xe;
+                       xm >>= SP_FBITS - xe;
                }
                odd = (xm & 0x1) != 0x0;
                switch (ieee754_csr.rm) {