Erp, some changes were not committed

This commit is contained in:
calc84maniac 2012-01-02 17:34:07 -05:00
parent ff6d0d056a
commit 9c4106027c
1 changed files with 21 additions and 6 deletions

View File

@ -1422,6 +1422,10 @@ void Jit64::rlwinmx(UGeckoInstruction inst)
result = _rotl(result, inst.SH); result = _rotl(result, inst.SH);
result &= Helper_Mask(inst.MB, inst.ME); result &= Helper_Mask(inst.MB, inst.ME);
gpr.SetImmediate32(a, result); gpr.SetImmediate32(a, result);
if (inst.Rc)
{
ComputeRC(gpr.R(a));
}
} }
else else
{ {
@ -1435,10 +1439,18 @@ void Jit64::rlwinmx(UGeckoInstruction inst)
if (inst.MB == 0 && inst.ME==31-inst.SH) if (inst.MB == 0 && inst.ME==31-inst.SH)
{ {
SHL(32, gpr.R(a), Imm8(inst.SH)); SHL(32, gpr.R(a), Imm8(inst.SH));
if (inst.Rc)
{
GenerateRC();
}
} }
else if (inst.ME == 31 && inst.MB == 32 - inst.SH) else if (inst.ME == 31 && inst.MB == 32 - inst.SH)
{ {
SHR(32, gpr.R(a), Imm8(inst.MB)); SHR(32, gpr.R(a), Imm8(inst.MB));
if (inst.Rc)
{
GenerateRC();
}
} }
else else
{ {
@ -1452,16 +1464,19 @@ void Jit64::rlwinmx(UGeckoInstruction inst)
{ {
written = true; written = true;
AND(32, gpr.R(a), Imm32(Helper_Mask(inst.MB, inst.ME))); AND(32, gpr.R(a), Imm32(Helper_Mask(inst.MB, inst.ME)));
if (inst.Rc)
{
GenerateRC();
}
}
else if (inst.Rc)
{
ComputeRC(gpr.R(a));
} }
_assert_msg_(DYNA_REC, written, "W T F!!!"); _assert_msg_(DYNA_REC, written, "W T F!!!");
} }
gpr.UnlockAll(); gpr.UnlockAll();
} }
if (inst.Rc)
{
ComputeRC(gpr.R(a));
}
} }
@ -1488,7 +1503,7 @@ void Jit64::rlwimix(UGeckoInstruction inst)
u32 mask = Helper_Mask(inst.MB, inst.ME); u32 mask = Helper_Mask(inst.MB, inst.ME);
if (mask == 0 || (a == s && inst.SH == 0)) if (mask == 0 || (a == s && inst.SH == 0))
{ {
if (inst.RC) if (inst.Rc)
{ {
ComputeRC(gpr.R(a)); ComputeRC(gpr.R(a));
} }