diff --git a/Core/MIPS/ARM/ArmCompALU.cpp b/Core/MIPS/ARM/ArmCompALU.cpp index 50a709622c..18e0366ce7 100644 --- a/Core/MIPS/ARM/ArmCompALU.cpp +++ b/Core/MIPS/ARM/ArmCompALU.cpp @@ -488,7 +488,9 @@ namespace MIPSComp return; } gpr.MapDirtyInIn(rd, rs, rt); - AND(R0, gpr.R(rs), Operand2(0x1F)); + // A rotate will be the same even if >= 32. + if (shiftType != ST_ROR) + AND(R0, gpr.R(rs), Operand2(0x1F)); MOV(gpr.R(rd), Operand2(gpr.R(rt), shiftType, R0)); }