From 3d420e34ae27cf3c12168f21136cbe7ad01fc10f Mon Sep 17 00:00:00 2001 From: Merry Date: Sun, 24 Jul 2022 22:28:15 +0100 Subject: [PATCH] emit_arm64_data_processing: Fix LogicalShiftRight32 for immediate shift = 32 --- src/dynarmic/backend/arm64/emit_arm64_data_processing.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); }