diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-07-24 14:33:17 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-07-24 14:33:17 +0000 |
commit | 57e4c06ed749e14c7c183996883dee27c23a0ade (patch) | |
tree | cbb162b3e0c76f0e4922067465619b0da9103b86 /target-i386 | |
parent | temporary work around for 16 bit code in kqemu (diff) | |
download | qemu-kvm-57e4c06ed749e14c7c183996883dee27c23a0ade.tar.gz qemu-kvm-57e4c06ed749e14c7c183996883dee27c23a0ade.tar.bz2 qemu-kvm-57e4c06ed749e14c7c183996883dee27c23a0ade.zip |
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
Diffstat (limited to 'target-i386')
-rw-r--r-- | target-i386/exec.h | 1 | ||||
-rw-r--r-- | target-i386/helper.c | 6 |
2 files changed, 2 insertions, 5 deletions
diff --git a/target-i386/exec.h b/target-i386/exec.h index a3bbea999..b1145017d 100644 --- a/target-i386/exec.h +++ b/target-i386/exec.h @@ -337,6 +337,7 @@ static inline void stfl(target_ulong ptr, float v) #define atan2 atan2l #define floor floorl #define ceil ceill +#define ldexp ldexpl #else #define floatx_to_int32 float64_to_int32 #define floatx_to_int64 float64_to_int64 diff --git a/target-i386/helper.c b/target-i386/helper.c index c83dbf219..01b663f38 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -2888,11 +2888,7 @@ void helper_frndint(void) void helper_fscale(void) { - CPU86_LDouble fpsrcop, fptemp; - - fpsrcop = 2.0; - fptemp = pow(fpsrcop,ST1); - ST0 *= fptemp; + ST0 = ldexp (ST0, (int)(ST1)); } void helper_fsin(void) |