about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/dynarec_arm64_pass.c4
-rwxr-xr-xsrc/emu/x64run.c2
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;