]> git.hungrycats.org Git - linux/commitdiff
Sparc64: Missing parts of previous math-emu fixes.
authorDavid S. Miller <davem@nuts.ninka.net>
Fri, 10 May 2002 03:57:58 +0000 (20:57 -0700)
committerDavid S. Miller <davem@nuts.ninka.net>
Fri, 10 May 2002 03:57:58 +0000 (20:57 -0700)
include/math-emu/op-common.h

index 7b0206384cff21b410bbf9b0341168c28f4e2f4c..8c54bf6b956cbc2477b7c8d8fa300b9007b35f89 100644 (file)
@@ -765,23 +765,25 @@ do {                                                                      \
   do {                                                                 \
     if (r)                                                             \
       {                                                                        \
+        unsigned rtype ur_;                                            \
        X##_c = FP_CLS_NORMAL;                                          \
                                                                        \
        if ((X##_s = (r < 0)))                                          \
          r = -r;                                                       \
                                                                        \
+       ur_ = (unsigned rtype) r;                                       \
        if (rsize <= _FP_W_TYPE_SIZE)                                   \
-         __FP_CLZ(X##_e, r);                                           \
+         __FP_CLZ(X##_e, ur_);                                         \
        else                                                            \
-         __FP_CLZ_2(X##_e, (_FP_W_TYPE)(r >> _FP_W_TYPE_SIZE),         \
-                    (_FP_W_TYPE)r);                                    \
+         __FP_CLZ_2(X##_e, (_FP_W_TYPE)(ur_ >> _FP_W_TYPE_SIZE),       \
+                    (_FP_W_TYPE)ur_);                                  \
        if (rsize < _FP_W_TYPE_SIZE)                                    \
                X##_e -= (_FP_W_TYPE_SIZE - rsize);                     \
        X##_e = rsize - X##_e - 1;                                      \
                                                                        \
        if (_FP_FRACBITS_##fs < rsize && _FP_WFRACBITS_##fs < X##_e)    \
-         __FP_FRAC_SRS_1(r, (X##_e - _FP_WFRACBITS_##fs + 1), rsize);  \
-       _FP_FRAC_DISASSEMBLE_##wc(X, ((unsigned rtype)r), rsize);       \
+         __FP_FRAC_SRS_1(ur_, (X##_e - _FP_WFRACBITS_##fs + 1), rsize);\
+       _FP_FRAC_DISASSEMBLE_##wc(X, ur_, rsize);                       \
        if ((_FP_WFRACBITS_##fs - X##_e - 1) > 0)                       \
          _FP_FRAC_SLL_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 1));       \
       }                                                                        \