summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2014-10-07 21:56:36 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2014-10-07 21:56:36 -0500
commit2423b9b2bda889ea987dd14f79dcde4423a9c166 (patch)
tree29a42964405a2c27dba6e083bb82b39f162acd2d /Source/Core
parentbd47477bc25b9de95763f512e6715bce8379e500 (diff)
parent5f0011d065ff1391bced8f90ed7f489aea504538 (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.cpp9
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);
}