Interpreter_LoadStore: Properly update the DAR whenever an alignment exception occurs within eciwx and ecowx

These should be updating the DAR when an alignment exception occurs,
just like every other instruction that can cause an alignment exception.
This commit is contained in:
Lioncash 2018-04-01 22:58:35 -04:00
parent c1b78106e7
commit a013638dcb
No known key found for this signature in database
GPG Key ID: 4E3C3CC1031BA9C7
1 changed files with 10 additions and 2 deletions

View File

@ -433,8 +433,12 @@ void Interpreter::eciwx(UGeckoInstruction inst)
{
PowerPC::ppcState.Exceptions |= EXCEPTION_DSI;
}
if (EA & 3)
PowerPC::ppcState.Exceptions |= EXCEPTION_ALIGNMENT;
{
GenerateAlignmentException(EA);
return;
}
rGPR[inst.RD] = PowerPC::Read_U32(EA);
}
@ -447,8 +451,12 @@ void Interpreter::ecowx(UGeckoInstruction inst)
{
PowerPC::ppcState.Exceptions |= EXCEPTION_DSI;
}
if (EA & 3)
PowerPC::ppcState.Exceptions |= EXCEPTION_ALIGNMENT;
{
GenerateAlignmentException(EA);
return;
}
PowerPC::Write_U32(rGPR[inst.RS], EA);
}