Merge pull request #9429 from Sintendo/jit64fixoverflow
Jit64: Fix FinalizeCarryOverflow XER[OV/SO]
This commit is contained in:
commit
a613c2a5e4
|
@ -122,15 +122,7 @@ void Jit64::FinalizeCarryOverflow(bool oe, bool inv)
|
||||||
{
|
{
|
||||||
if (oe)
|
if (oe)
|
||||||
{
|
{
|
||||||
// Make sure not to lose the carry flags (not a big deal, this path is rare).
|
GenerateOverflow();
|
||||||
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();
|
|
||||||
}
|
}
|
||||||
// Do carry
|
// Do carry
|
||||||
FinalizeCarry(inv ? CC_NC : CC_C);
|
FinalizeCarry(inv ? CC_NC : CC_C);
|
||||||
|
|
Loading…
Reference in New Issue