From 389992c330c7058735839b90c8ff99e1623a3f58 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 28 Jan 2023 10:34:05 +0100 Subject: [DYNAREC] Fixed a regression with C1 /0 and C1 /1 opcodes --- src/dynarec/arm64/dynarec_arm64_00.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/dynarec/arm64/dynarec_arm64_00.c b/src/dynarec/arm64/dynarec_arm64_00.c index 4c4cf43e..b1641b2f 100755 --- a/src/dynarec/arm64/dynarec_arm64_00.c +++ b/src/dynarec/arm64/dynarec_arm64_00.c @@ -1518,6 +1518,7 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin GETED(1); u8 = (F8)&(rex.w?0x3f:0x1f); emit_rol32c(dyn, ninst, rex, ed, u8, x3, x4); + if(u8) { WBACK; } break; case 1: INST_NAME("ROR Ed, Ib"); @@ -1525,6 +1526,7 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin GETED(1); u8 = (F8)&(rex.w?0x3f:0x1f); emit_ror32c(dyn, ninst, rex, ed, u8, x3, x4); + if(u8) { WBACK; } break; case 2: INST_NAME("RCL Ed, Ib"); @@ -1563,9 +1565,7 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin GETED(1); u8 = (F8)&(rex.w?0x3f:0x1f); emit_shr32c(dyn, ninst, rex, ed, u8, x3, x4); - if(u8) { - WBACK; - } + if(u8) { WBACK; } break; case 7: INST_NAME("SAR Ed, Ib"); @@ -1573,9 +1573,7 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin GETED(1); u8 = (F8)&(rex.w?0x3f:0x1f); emit_sar32c(dyn, ninst, rex, ed, u8, x3, x4); - if(u8) { - WBACK; - } + if(u8) { WBACK; } break; } break; -- cgit 1.4.1