From 73b3aec3ed479ca1599816c3fa9558dcb383d302 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Tue, 24 Sep 2024 15:17:56 +0200 Subject: [ARM64_DYNAREC] Fixed reset of rex on 67 prefixed opcodes --- src/dynarec/arm64/dynarec_arm64_67.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/dynarec/arm64/dynarec_arm64_67.c b/src/dynarec/arm64/dynarec_arm64_67.c index 50fdf824..117e090a 100644 --- a/src/dynarec/arm64/dynarec_arm64_67.c +++ b/src/dynarec/arm64/dynarec_arm64_67.c @@ -55,12 +55,13 @@ uintptr_t dynarec64_67(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin return addr; } - GETREX(); while(opcode==0x67) opcode = F8; + // reset rex after 67 + GETREX(); + rep = 0; - rex.rex = 0; // reset rex after 67 while((opcode==0xF2) || (opcode==0xF3) || (opcode>=0x40 && opcode<=0x4F)) { if((opcode==0xF2) || (opcode==0xF3)) rep = opcode-0xF1; -- cgit 1.4.1