From 4aa693ea54dc3fe178ce4b1dbdcb9d937dad7924 Mon Sep 17 00:00:00 2001 From: magumagu9 Date: Tue, 23 Dec 2008 22:34:58 +0000 Subject: [PATCH] Fix a regression exposed by my previous changes to rlwinm. Also, some minor cleanup. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1643 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp index 885a2d44d6..1920703474 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp @@ -673,20 +673,18 @@ int s = inst.RS; if (gpr.R(s).IsImm() && !inst.Rc) { - unsigned mask = Helper_Mask(inst.MB, inst.ME); unsigned result = gpr.R(s).offset; if (inst.SH != 0) - result = (result << inst.SH) | - (result >> (32 - inst.SH)); - result &= mask; + result = _rotl(result, inst.SH); + result &= Helper_Mask(inst.MB, inst.ME); gpr.SetImmediate32(a, result); return; } + gpr.Lock(a, s); + gpr.LoadToX64(a, a == s); if (a != s) { - gpr.Lock(a, s); - gpr.LoadToX64(a, false); MOV(32, gpr.R(a), gpr.R(s)); }