Merge pull request #6825 from unknownbrackets/cpu-minor

x86jit/ppcjit: Correct some bad sltiu compares
This commit is contained in:
Henrik Rydgård 2014-09-02 20:42:37 +02:00
commit c5225c2362
2 changed files with 6 additions and 6 deletions

View File

@ -146,7 +146,7 @@ namespace MIPSComp
case 11: //sltiu
if (gpr.IsImm(rs))
{
gpr.SetImm(rt, gpr.GetImm(rs) < uimm);
gpr.SetImm(rt, gpr.GetImm(rs) < suimm);
break;
} else {
//DISABLE;
@ -154,7 +154,7 @@ namespace MIPSComp
PPCReg ppc_rt = gpr.R(rt);
ADDI(SREG, R0, uimm);
ADDI(SREG, R0, suimm);
SUBFC(ppc_rt, SREG, gpr.R(rs));
SUBFE(ppc_rt, ppc_rt, ppc_rt);
NEG(ppc_rt, ppc_rt);

View File

@ -88,8 +88,8 @@ namespace MIPSComp
else
{
MOV(32, gpr.R(rt), gpr.R(rs));
if (simm != 0)
ADD(32, gpr.R(rt), Imm32((u32)(s32)simm));
if (suimm != 0)
ADD(32, gpr.R(rt), Imm32(suimm));
}
gpr.UnlockAll();
}
@ -116,7 +116,7 @@ namespace MIPSComp
case 11: // R(rt) = R(rs) < uimm; break; //sltiu
if (gpr.IsImm(rs))
{
gpr.SetImm(rt, gpr.GetImm(rs) < uimm);
gpr.SetImm(rt, gpr.GetImm(rs) < suimm);
break;
}
@ -124,7 +124,7 @@ namespace MIPSComp
gpr.MapReg(rs, true, false);
gpr.MapReg(rt, rt == rs, true);
XOR(32, R(EAX), R(EAX));
CMP(32, gpr.R(rs), Imm32((u32)simm));
CMP(32, gpr.R(rs), Imm32(suimm));
SETcc(CC_B, R(EAX));
MOV(32, gpr.R(rt), R(EAX));
gpr.UnlockAll();