aboutsummaryrefslogtreecommitdiff
path: root/target-ppc
diff options
context:
space:
mode:
authorj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-27 17:59:46 +0000
committerj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-27 17:59:46 +0000
commit4f8eb6cfa27eed4a44f4beb259dd3d9081146dba (patch)
tree71d70e98f80b85bfccd8e8069b275b7ddede8825 /target-ppc
parent7c58044c0ab79f11604f71aa04b4691baacef886 (diff)
PowerPC float bugfix: 64 bits float mantissa is 52 bits long.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3459 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc')
-rw-r--r--target-ppc/op_helper.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c
index 8182773564..363d84cdbc 100644
--- a/target-ppc/op_helper.c
+++ b/target-ppc/op_helper.c
@@ -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;
}
}