diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/dynarec/dynarec_arm64_pass.c | 4 | ||||
| -rwxr-xr-x | src/emu/x64run.c | 2 |
2 files changed, 6 insertions, 0 deletions
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; |