Merge pull request #9429 from Sintendo/jit64fixoverflow

Jit64: Fix FinalizeCarryOverflow XER[OV/SO]
This commit is contained in:
LC 2021-01-10 01:58:06 -05:00 committed by GitHub
commit a613c2a5e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 1 additions and 9 deletions

View File

@ -122,15 +122,7 @@ void Jit64::FinalizeCarryOverflow(bool oe, bool inv)
{
if (oe)
{
// Make sure not to lose the carry flags (not a big deal, this path is rare).
PUSHF();
// XER[OV] = 0
AND(8, PPCSTATE(xer_so_ov), Imm8(~XER_OV_MASK));
FixupBranch jno = J_CC(CC_NO);
// XER[OV/SO] = 1
MOV(8, PPCSTATE(xer_so_ov), Imm8(XER_SO_MASK | XER_OV_MASK));
SetJumpTarget(jno);
POPF();
GenerateOverflow();
}
// Do carry
FinalizeCarry(inv ? CC_NC : CC_C);