Commit 57e4c06ed749e14c7c183996883dee27c23a0ade

Authored by bellard
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
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)
... ...