From d3dfdf7767463e1b35ff80ccd5677b5af2aaea93 Mon Sep 17 00:00:00 2001 From: Tillmann Karras Date: Mon, 14 Dec 2015 09:42:30 +0100 Subject: [PATCH] Interpreter: don't always set FPSCR.FX on NaNs FPSCR.FX must only be set if an exception bit changes from 0 to 1. SetFPException() already handles this correctly. --- .../Core/Core/PowerPC/Interpreter/Interpreter_FloatingPoint.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Source/Core/Core/PowerPC/Interpreter/Interpreter_FloatingPoint.cpp b/Source/Core/Core/PowerPC/Interpreter/Interpreter_FloatingPoint.cpp index 071e1218e5..def12b5029 100644 --- a/Source/Core/Core/PowerPC/Interpreter/Interpreter_FloatingPoint.cpp +++ b/Source/Core/Core/PowerPC/Interpreter/Interpreter_FloatingPoint.cpp @@ -24,7 +24,6 @@ void Interpreter::Helper_FloatCompareOrdered(UGeckoInstruction _inst, double fa, if (std::isnan(fa) || std::isnan(fb)) { - FPSCR.FX = 1; compareResult = FPCC::FU; if (IsSNAN(fa) || IsSNAN(fb)) { @@ -68,7 +67,6 @@ void Interpreter::Helper_FloatCompareUnordered(UGeckoInstruction _inst, double f if (IsSNAN(fa) || IsSNAN(fb)) { - FPSCR.FX = 1; SetFPException(FPSCR_VXSNAN); } }