Commit 57e4c06ed749e14c7c183996883dee27c23a0ade
1 parent
09d459a1
fscale fix (bug noticed by Kuwanger, fix by malc)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1528 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
2 additions
and
5 deletions
target-i386/exec.h
... | ... | @@ -337,6 +337,7 @@ static inline void stfl(target_ulong ptr, float v) |
337 | 337 | #define atan2 atan2l |
338 | 338 | #define floor floorl |
339 | 339 | #define ceil ceill |
340 | +#define ldexp ldexpl | |
340 | 341 | #else |
341 | 342 | #define floatx_to_int32 float64_to_int32 |
342 | 343 | #define floatx_to_int64 float64_to_int64 | ... | ... |
target-i386/helper.c
... | ... | @@ -2888,11 +2888,7 @@ void helper_frndint(void) |
2888 | 2888 | |
2889 | 2889 | void helper_fscale(void) |
2890 | 2890 | { |
2891 | - CPU86_LDouble fpsrcop, fptemp; | |
2892 | - | |
2893 | - fpsrcop = 2.0; | |
2894 | - fptemp = pow(fpsrcop,ST1); | |
2895 | - ST0 *= fptemp; | |
2891 | + ST0 = ldexp (ST0, (int)(ST1)); | |
2896 | 2892 | } |
2897 | 2893 | |
2898 | 2894 | void helper_fsin(void) | ... | ... |