diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2004-02-25 23:15:06 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2004-02-25 23:15:06 +0000 |
commit | 2edcdce334e8bf6143a498550a39e4a363c69bfc (patch) | |
tree | b50f47ea584f0395511696687f474ded0e2fcf13 /target-i386/helper.c | |
parent | 8853f86e1da70e79464aa3329f7b84a27a199bad (diff) |
fpu fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@639 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386/helper.c')
-rw-r--r-- | target-i386/helper.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/target-i386/helper.c b/target-i386/helper.c index 31168573ed..0c320836c5 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -2364,10 +2364,10 @@ void helper_fstenv(uint8_t *ptr, int data32) stl(ptr, env->fpuc); stl(ptr + 4, fpus); stl(ptr + 8, fptag); - stl(ptr + 12, 0); - stl(ptr + 16, 0); - stl(ptr + 20, 0); - stl(ptr + 24, 0); + stl(ptr + 12, 0); /* fpip */ + stl(ptr + 16, 0); /* fpcs */ + stl(ptr + 20, 0); /* fpoo */ + stl(ptr + 24, 0); /* fpos */ } else { /* 16 bit */ stw(ptr, env->fpuc); @@ -2396,7 +2396,7 @@ void helper_fldenv(uint8_t *ptr, int data32) } env->fpstt = (fpus >> 11) & 7; env->fpus = fpus & ~0x3800; - for(i = 0;i < 7; i++) { + for(i = 0;i < 8; i++) { env->fptags[i] = ((fptag & 3) == 3); fptag >>= 2; } |