diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2014-10-07 21:56:36 -0500 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@gmail.com> | 2014-10-07 21:56:36 -0500 |
| commit | 2423b9b2bda889ea987dd14f79dcde4423a9c166 (patch) | |
| tree | 29a42964405a2c27dba6e083bb82b39f162acd2d /Source/Core | |
| parent | bd47477bc25b9de95763f512e6715bce8379e500 (diff) | |
| parent | 5f0011d065ff1391bced8f90ed7f489aea504538 (diff) | |
Merge pull request #1237 from Sonicadvance1/fix-ARM32-XER
Fix ARMv7 JIT from XER optimization.
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/PowerPC/JitArm32/JitArm_Integer.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/Source/Core/Core/PowerPC/JitArm32/JitArm_Integer.cpp b/Source/Core/Core/PowerPC/JitArm32/JitArm_Integer.cpp index 823b0a7bec..7888e31835 100644 --- a/Source/Core/Core/PowerPC/JitArm32/JitArm_Integer.cpp +++ b/Source/Core/Core/PowerPC/JitArm32/JitArm_Integer.cpp @@ -47,9 +47,9 @@ void JitArm::ComputeCarry() { ARMReg tmp = gpr.GetReg(); SetCC(CC_CS); - ORR(tmp, tmp, 1); + MOV(tmp, 1); SetCC(CC_CC); - BIC(tmp, tmp, 1); + EOR(tmp, tmp, tmp); SetCC(); STRB(tmp, R9, PPCSTATE_OFF(xer_ca)); gpr.Unlock(tmp); @@ -58,11 +58,10 @@ void JitArm::ComputeCarry() void JitArm::ComputeCarry(bool Carry) { ARMReg tmp = gpr.GetReg(); - LDRB(tmp, R9, PPCSTATE_OFF(xer_ca)); if (Carry) - ORR(tmp, tmp, 1); + MOV(tmp, 1); else - BIC(tmp, tmp, 1); + EOR(tmp, tmp, tmp); STRB(tmp, R9, PPCSTATE_OFF(xer_ca)); gpr.Unlock(tmp); } |
