diff --git a/Source/Core/Core/PowerPC/Interpreter/Interpreter_FPUtils.h b/Source/Core/Core/PowerPC/Interpreter/Interpreter_FPUtils.h index e71003f0a2..abc798d220 100644 --- a/Source/Core/Core/PowerPC/Interpreter/Interpreter_FPUtils.h +++ b/Source/Core/Core/PowerPC/Interpreter/Interpreter_FPUtils.h @@ -132,9 +132,16 @@ inline double NI_div(double a, double b) if (b == 0.0) { - SetFPException(FPSCR_ZX); if (a == 0.0) + { SetFPException(FPSCR_VXZDZ); + } + else + { + SetFPException(FPSCR_ZX); + FPSCR.FI = 0; + FPSCR.FR = 0; + } } else if (std::isinf(a) && std::isinf(b)) {