mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2024-12-23 10:55:34 +00:00
target/i386: check for empty register in FXAM
The fxam instruction returns the wrong result after fdecstp or after an underflow. Check fptags to handle this. Backports commit 93c3593ad04f2610fd0a176dfa89a7e40b6afe1f from qemu
This commit is contained in:
parent
7c799d29db
commit
583cc7b8b1
|
@ -957,7 +957,11 @@ void helper_fxam_ST0(CPUX86State *env)
|
|||
env->fpus |= 0x200; /* C1 <-- 1 */
|
||||
}
|
||||
|
||||
/* XXX: test fptags too */
|
||||
if (env->fptags[env->fpstt]) {
|
||||
env->fpus |= 0x4100; /* Empty */
|
||||
return;
|
||||
}
|
||||
|
||||
expdif = EXPD(temp);
|
||||
if (expdif == MAXEXPD) {
|
||||
if (MANTD(temp) == 0x8000000000000000ULL) {
|
||||
|
|
Loading…
Reference in a new issue