diff options
-rw-r--r-- | cpu_threaded.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cpu_threaded.c b/cpu_threaded.c index 557b197..2d61b4a 100644 --- a/cpu_threaded.c +++ b/cpu_threaded.c @@ -3115,6 +3115,12 @@ s32 translate_block_arm(u32 pc, translation_region_type generate_cycle_update(); } } + + /* This can happen if the last instruction is *not* inconditional */ + if ((last_condition & 0x0F) != 0x0E) { + generate_branch_patch_conditional(backpatch_address, translation_ptr); + } + for(i = 0; i < translation_gate_targets; i++) { if(pc == translation_gate_target_pc[i]) |