about summary refs log tree commit diff stats
path: root/src/emu/x87emu_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/x87emu_private.h')
-rw-r--r--src/emu/x87emu_private.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emu/x87emu_private.h b/src/emu/x87emu_private.h
index e3f0d233..17691c49 100644
--- a/src/emu/x87emu_private.h
+++ b/src/emu/x87emu_private.h
@@ -73,7 +73,7 @@ static inline void fpu_fcom(x64emu_t* emu, double b)
         emu->sw.f.F87_C0 = 1;
         emu->sw.f.F87_C2 = 1;
         emu->sw.f.F87_C3 = 1;
-    } else if ((b==-INFINITY) || (ST0.d==INFINITY)) {
+    } else if (((b==-INFINITY) || (ST0.d==INFINITY)) && ST0.d!=b) {
         emu->sw.f.F87_C0 = 0;
         emu->sw.f.F87_C2 = 0;
         emu->sw.f.F87_C3 = 0;
@@ -104,7 +104,7 @@ static inline void fpu_fcomi(x64emu_t* emu, double b)
         SET_FLAG(F_CF);
         SET_FLAG(F_PF);
         SET_FLAG(F_ZF);
-    } else if ((b==-INFINITY) || (ST0.d==INFINITY)) {
+    } else if (((b==-INFINITY) || (ST0.d==INFINITY)) && ST0.d!=b) {
         CLEAR_FLAG(F_CF);
         CLEAR_FLAG(F_PF);
         CLEAR_FLAG(F_ZF);