mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 14:49:42 -06:00
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:
@ -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);
|
||||
|
Reference in New Issue
Block a user