From 60cddf0823a05a1f4b8690e23b267bc20f5d80fc Mon Sep 17 00:00:00 2001 From: calc84maniac Date: Thu, 5 Jan 2012 18:27:04 -0500 Subject: [PATCH] Fixed some BindToRegister calls (removing unnecessary MOV instructions for speedup) --- Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp index 367c7e8158..b3c38efd3a 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp @@ -1581,7 +1581,7 @@ void Jit64::rlwnmx(UGeckoInstruction inst) { gpr.FlushLockX(ECX); gpr.Lock(a, b, s); - gpr.BindToRegister(a, true, true); + gpr.BindToRegister(a, (a == b || a == s), true); MOV(32, R(ECX), gpr.R(b)); if (a != s) { @@ -1653,7 +1653,7 @@ void Jit64::srwx(UGeckoInstruction inst) { gpr.FlushLockX(ECX); gpr.Lock(a, b, s); - gpr.BindToRegister(a, true, true); + gpr.BindToRegister(a, (a == b || a == s), true); MOV(32, R(ECX), gpr.R(b)); TEST(32, R(ECX), Imm32(32)); if (a != s) @@ -1691,7 +1691,7 @@ void Jit64::slwx(UGeckoInstruction inst) { gpr.FlushLockX(ECX); gpr.Lock(a, b, s); - gpr.BindToRegister(a, true, true); + gpr.BindToRegister(a, (a == b || a == s), true); MOV(32, R(ECX), gpr.R(b)); TEST(32, R(ECX), Imm32(32)); if (a != s) @@ -1722,7 +1722,7 @@ void Jit64::srawx(UGeckoInstruction inst) int s = inst.RS; gpr.Lock(a, s, b); gpr.FlushLockX(ECX); - gpr.BindToRegister(a, true, true); + gpr.BindToRegister(a, (a == s || a == b), true); JitClearCA(); MOV(32, R(ECX), gpr.R(b)); if (a != s)