Interpreter_FloatingPoint: Clear FPSCR.FI and FPSCR.FR in invalid operation cases
As explained within 179d73ac0d
, the table
within the Programming Environments Manual for PowerPC lists the FI and
FR bits as cleared for invalid operation cases. So, we amend the
relevant cases here in order to be accurate to hardware.
This commit is contained in:
parent
b71a9e658f
commit
21add26b71
|
@ -432,6 +432,8 @@ void Interpreter::frsqrtex(UGeckoInstruction inst)
|
|||
if (b < 0.0)
|
||||
{
|
||||
SetFPException(FPSCR_VXSQRT);
|
||||
FPSCR.FI = 0;
|
||||
FPSCR.FR = 0;
|
||||
|
||||
if (FPSCR.VE == 0)
|
||||
compute_result(b);
|
||||
|
@ -446,6 +448,8 @@ void Interpreter::frsqrtex(UGeckoInstruction inst)
|
|||
else if (Common::IsSNAN(b))
|
||||
{
|
||||
SetFPException(FPSCR_VXSNAN);
|
||||
FPSCR.FI = 0;
|
||||
FPSCR.FR = 0;
|
||||
|
||||
if (FPSCR.VE == 0)
|
||||
compute_result(b);
|
||||
|
|
Loading…
Reference in New Issue