Fix x87 tag register when using MMX instructions. Fixes numerous issues when an MMX process is running at the same time as one or more other MMX/FPU processes (usually seen running 3dfx games with AudioPCI).

This commit is contained in:
SarahW 2019-05-11 18:41:31 +01:00
commit c682e070a6
3 changed files with 4 additions and 4 deletions

View file

@ -35,7 +35,7 @@ uint16_t x87_gettag()
ret |= X87_TAG_EMPTY << (c * 2);
else if (cpu_state.tag[c] & TAG_UINT64)
ret |= 2 << (c*2);
else if (cpu_state.ST[c] == 0.0)
else if (cpu_state.ST[c] == 0.0 && !cpu_state.ismmx)
ret |= X87_TAG_ZERO << (c * 2);
else
ret |= X87_TAG_VALID << (c * 2);