diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp index 939d5f1384..7857bc3aca 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp @@ -950,13 +950,13 @@ INSTRUCTION_START; int a = inst.RA; int s = inst.RS; - if (gpr.R(a).IsImm() || gpr.R(s).IsImm()) + if (gpr.R(a).IsImm() || gpr.R(s).IsImm() || s == a) { Default(inst); return; } gpr.Lock(a, s); - gpr.LoadToX64(a, true, true); + gpr.LoadToX64(a, false); BSR(32, gpr.R(a).GetSimpleReg(), gpr.R(s)); FixupBranch gotone = J_CC(CC_NZ); MOV(32, gpr.R(a), Imm32(63));