From ee24d4714a1ed3995870927b906af4ffe39b527d Mon Sep 17 00:00:00 2001 From: Fiora Date: Sun, 24 Aug 2014 11:29:58 -0700 Subject: [PATCH] JIT64: tweak srwx/slwx BindToRegister arguments Register B gets immediately moved into the shift register, so even if a == b it doesn't need to be loaded. --- Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp index a5e492b162..1dd80562de 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp @@ -1859,8 +1859,8 @@ void Jit64::srwx(UGeckoInstruction inst) { gpr.FlushLockX(ECX); gpr.Lock(a, b, s); - gpr.BindToRegister(a, (a == b || a == s), true); MOV(32, R(ECX), gpr.R(b)); + gpr.BindToRegister(a, a == s, true); if (a != s) { MOV(32, gpr.R(a), gpr.R(s)); @@ -1897,8 +1897,8 @@ void Jit64::slwx(UGeckoInstruction inst) { gpr.FlushLockX(ECX); gpr.Lock(a, b, s); - gpr.BindToRegister(a, (a == b || a == s), true); MOV(32, R(ECX), gpr.R(b)); + gpr.BindToRegister(a, a == s, true); if (a != s) { MOV(32, gpr.R(a), gpr.R(s));