Commit 4f8eb6cfa27eed4a44f4beb259dd3d9081146dba
1 parent
7c58044c
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
Showing
1 changed file
with
2 additions
and
2 deletions
target-ppc/op_helper.c
@@ -519,7 +519,7 @@ static inline int isinfinity (float64 f) | @@ -519,7 +519,7 @@ static inline int isinfinity (float64 f) | ||
519 | 519 | ||
520 | u.f = f; | 520 | u.f = f; |
521 | 521 | ||
522 | - return ((u.u >> 51) & 0x3FF) == 0x3FF && | 522 | + return ((u.u >> 52) & 0x3FF) == 0x3FF && |
523 | (u.u & 0x000FFFFFFFFFFFFFULL) == 0; | 523 | (u.u & 0x000FFFFFFFFFFFFFULL) == 0; |
524 | } | 524 | } |
525 | 525 | ||
@@ -679,7 +679,7 @@ static always_inline void float_zero_divide_excp (void) | @@ -679,7 +679,7 @@ static always_inline void float_zero_divide_excp (void) | ||
679 | u0.f = FT0; | 679 | u0.f = FT0; |
680 | u1.f = FT1; | 680 | u1.f = FT1; |
681 | u0.u = ((u0.u ^ u1.u) & 0x8000000000000000ULL); | 681 | u0.u = ((u0.u ^ u1.u) & 0x8000000000000000ULL); |
682 | - u0.u |= 0x3FFULL << 51; | 682 | + u0.u |= 0x3FFULL << 52; |
683 | FT0 = u0.f; | 683 | FT0 = u0.f; |
684 | } | 684 | } |
685 | } | 685 | } |