fix setting of cr in jit64 for divwux (when div by 0)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5244 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
ef193f2e95
commit
672132eb84
|
@ -505,11 +505,10 @@ void divwux(UGeckoInstruction _inst)
|
||||||
m_GPR[_inst.RD] = 0;
|
m_GPR[_inst.RD] = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
m_GPR[_inst.RD] = a / b;
|
m_GPR[_inst.RD] = a / b;
|
||||||
|
|
||||||
if (_inst.Rc) Helper_UpdateCR0(m_GPR[_inst.RD]);
|
if (_inst.Rc) Helper_UpdateCR0(m_GPR[_inst.RD]);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void mulhwx(UGeckoInstruction _inst)
|
void mulhwx(UGeckoInstruction _inst)
|
||||||
{
|
{
|
||||||
|
|
|
@ -649,6 +649,7 @@ void Jit64::divwux(UGeckoInstruction inst)
|
||||||
// doesn't handle if OE is set, but int doesn't either...
|
// doesn't handle if OE is set, but int doesn't either...
|
||||||
FixupBranch not_div_by_zero = J_CC(CC_NZ);
|
FixupBranch not_div_by_zero = J_CC(CC_NZ);
|
||||||
MOV(32, gpr.R(d), Imm32(0));
|
MOV(32, gpr.R(d), Imm32(0));
|
||||||
|
MOV(32, R(EAX), gpr.R(d));
|
||||||
FixupBranch end = J();
|
FixupBranch end = J();
|
||||||
SetJumpTarget(not_div_by_zero);
|
SetJumpTarget(not_div_by_zero);
|
||||||
DIV(32, gpr.R(b));
|
DIV(32, gpr.R(b));
|
||||||
|
|
Loading…
Reference in New Issue