From 82d71b850ebbaa46cb101a75ca1234984c518c09 Mon Sep 17 00:00:00 2001 From: Merry Date: Tue, 26 Jul 2022 10:44:17 +0100 Subject: [PATCH] a32_emit_x64: Bugfix for A32GetCpsr for non-FastBMI2 Incorrect loading of E and T flags --- src/dynarmic/backend/x64/a32_emit_x64.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynarmic/backend/x64/a32_emit_x64.cpp b/src/dynarmic/backend/x64/a32_emit_x64.cpp index 214e6597..44932c77 100644 --- a/src/dynarmic/backend/x64/a32_emit_x64.cpp +++ b/src/dynarmic/backend/x64/a32_emit_x64.cpp @@ -384,7 +384,7 @@ void A32EmitX64::EmitA32GetCpsr(A32EmitContext& ctx, IR::Inst* inst) { code.pdep(result, result, tmp); } else { code.mov(result, dword[r15 + offsetof(A32JitState, upper_location_descriptor)]); - code.imul(result, result, 0x12); + code.imul(result, result, 0x120); code.and_(result, 0x00000220); code.mov(tmp, dword[r15 + offsetof(A32JitState, cpsr_ge)]);