From: bellard Date: Mon, 19 Jun 2006 22:43:38 +0000 (+0000) Subject: fxam fix (Julian Seward) X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a891c7a1947995eae84345719a197b6da14f96cc;p=qemu.git fxam fix (Julian Seward) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1997 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/target-i386/helper.c b/target-i386/helper.c index 29185ceb97..379cfd5a45 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -2950,9 +2950,14 @@ void helper_fxam_ST0(void) if (SIGND(temp)) env->fpus |= 0x200; /* C1 <-- 1 */ + /* XXX: test fptags too */ expdif = EXPD(temp); if (expdif == MAXEXPD) { +#ifdef USE_X86LDOUBLE + if (MANTD(temp) == 0x8000000000000000ULL) +#else if (MANTD(temp) == 0) +#endif env->fpus |= 0x500 /*Infinity*/; else env->fpus |= 0x100 /*NaN*/;