From d1497e98dbb025ab610805377eb6b1d10c6435a9 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sun, 18 Apr 2021 13:24:08 +0200 Subject: Added handling of 3E prefix ([DYNAREC] too) --- src/dynarec/dynarec_arm64_pass.c | 4 ++++ src/emu/x64run.c | 2 ++ 2 files changed, 6 insertions(+) (limited to 'src') diff --git a/src/dynarec/dynarec_arm64_pass.c b/src/dynarec/dynarec_arm64_pass.c index 9abeaf6a..a3d235cd 100755 --- a/src/dynarec/dynarec_arm64_pass.c +++ b/src/dynarec/dynarec_arm64_pass.c @@ -75,6 +75,10 @@ uintptr_t arm_pass(dynarec_arm_t* dyn, uintptr_t addr) ++addr; pk = PK(0); } + while(pk==0x3E) { //Branch Taken Hint ignored + ++addr; + pk = PK(0); + } rex.rex = 0; while(pk>=0x40 && pk<=0x4f) { rex.rex = pk; diff --git a/src/emu/x64run.c b/src/emu/x64run.c index 3ccdb786..17a7da6e 100755 --- a/src/emu/x64run.c +++ b/src/emu/x64run.c @@ -70,6 +70,8 @@ x64emurun: rep = opcode-0xF1; opcode = F8; } + while((opcode==0x3E)) //Branch Taken Hint ignored + opcode = F8; rex.rex = 0; while(opcode>=0x40 && opcode<=0x4f) { rex.rex = opcode; -- cgit 1.4.1