Merge pull request #1237 from Sonicadvance1/fix-ARM32-XER

Fix ARMv7 JIT from XER optimization.
This commit is contained in:
Ryan Houdek 2014-10-07 21:56:36 -05:00
commit 2423b9b2bd
1 changed files with 4 additions and 5 deletions

View File

@ -47,9 +47,9 @@ void JitArm::ComputeCarry()
{ {
ARMReg tmp = gpr.GetReg(); ARMReg tmp = gpr.GetReg();
SetCC(CC_CS); SetCC(CC_CS);
ORR(tmp, tmp, 1); MOV(tmp, 1);
SetCC(CC_CC); SetCC(CC_CC);
BIC(tmp, tmp, 1); EOR(tmp, tmp, tmp);
SetCC(); SetCC();
STRB(tmp, R9, PPCSTATE_OFF(xer_ca)); STRB(tmp, R9, PPCSTATE_OFF(xer_ca));
gpr.Unlock(tmp); gpr.Unlock(tmp);
@ -58,11 +58,10 @@ void JitArm::ComputeCarry()
void JitArm::ComputeCarry(bool Carry) void JitArm::ComputeCarry(bool Carry)
{ {
ARMReg tmp = gpr.GetReg(); ARMReg tmp = gpr.GetReg();
LDRB(tmp, R9, PPCSTATE_OFF(xer_ca));
if (Carry) if (Carry)
ORR(tmp, tmp, 1); MOV(tmp, 1);
else else
BIC(tmp, tmp, 1); EOR(tmp, tmp, tmp);
STRB(tmp, R9, PPCSTATE_OFF(xer_ca)); STRB(tmp, R9, PPCSTATE_OFF(xer_ca));
gpr.Unlock(tmp); gpr.Unlock(tmp);
} }