diff --git a/src/dynarmic/backend/arm64/emit_arm64_data_processing.cpp b/src/dynarmic/backend/arm64/emit_arm64_data_processing.cpp index 2ad8f335..9256ac4d 100644 --- a/src/dynarmic/backend/arm64/emit_arm64_data_processing.cpp +++ b/src/dynarmic/backend/arm64/emit_arm64_data_processing.cpp @@ -380,7 +380,7 @@ void EmitIR(oaknut::CodeGenerator& code, EmitCo auto Woperand = ctx.reg_alloc.ReadW(operand_arg); RegAlloc::Realize(Wresult, Wcarry_out, Woperand); - code.LSL(Wcarry_out, Woperand, 31 - 29); + code.LSR(Wcarry_out, Woperand, 31 - 29); code.AND(Wcarry_out, Wcarry_out, 1 << 29); code.MOV(Wresult, WZR); }