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.
This commit is contained in:
Tillmann Karras 2015-12-14 09:42:30 +01:00
parent cc6442734d
commit d3dfdf7767

View File

@ -24,7 +24,6 @@ void Interpreter::Helper_FloatCompareOrdered(UGeckoInstruction _inst, double fa,
if (std::isnan(fa) || std::isnan(fb)) if (std::isnan(fa) || std::isnan(fb))
{ {
FPSCR.FX = 1;
compareResult = FPCC::FU; compareResult = FPCC::FU;
if (IsSNAN(fa) || IsSNAN(fb)) if (IsSNAN(fa) || IsSNAN(fb))
{ {
@ -68,7 +67,6 @@ void Interpreter::Helper_FloatCompareUnordered(UGeckoInstruction _inst, double f
if (IsSNAN(fa) || IsSNAN(fb)) if (IsSNAN(fa) || IsSNAN(fb))
{ {
FPSCR.FX = 1;
SetFPException(FPSCR_VXSNAN); SetFPException(FPSCR_VXSNAN);
} }
} }