PowerPC float bugfix: 64 bits float mantissa is 52 bits long.
authorj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 27 Oct 2007 17:59:46 +0000 (17:59 +0000)
committerj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 27 Oct 2007 17:59:46 +0000 (17:59 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3459 c046a42c-6fe2-441c-8c8c-71466251a162

target-ppc/op_helper.c

index 8182773..363d84c 100644 (file)
@@ -519,7 +519,7 @@ static inline int isinfinity (float64 f)
 
     u.f = f;
 
-    return ((u.u >> 51) & 0x3FF) == 0x3FF &&
+    return ((u.u >> 52) & 0x3FF) == 0x3FF &&
         (u.u & 0x000FFFFFFFFFFFFFULL) == 0;
 }
 
@@ -679,7 +679,7 @@ static always_inline void float_zero_divide_excp (void)
         u0.f = FT0;
         u1.f = FT1;
         u0.u = ((u0.u ^ u1.u) & 0x8000000000000000ULL);
-        u0.u |= 0x3FFULL << 51;
+        u0.u |= 0x3FFULL << 52;
         FT0 = u0.f;
     }
 }