mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-10 06:29:00 +01:00
Interpreter_FloatingPoint: Clear FPSCR.FI and FPSCR.FR in invalid operation cases
As explained within 179d73ac0d2873ebf2dedd7a4069ea5ded4a66f1, 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…
x
Reference in New Issue
Block a user