summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/video_core/macro/macro_jit_x64.cpp16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/video_core/macro/macro_jit_x64.cpp b/src/video_core/macro/macro_jit_x64.cpp
index aca25d902..30d618695 100644
--- a/src/video_core/macro/macro_jit_x64.cpp
+++ b/src/video_core/macro/macro_jit_x64.cpp
@@ -429,17 +429,11 @@ void MacroJITx64Impl::Compile_Branch(Macro::Opcode opcode) {
429 Xbyak::Label handle_post_exit{}; 429 Xbyak::Label handle_post_exit{};
430 Xbyak::Label skip{}; 430 Xbyak::Label skip{};
431 jmp(skip, T_NEAR); 431 jmp(skip, T_NEAR);
432 if (opcode.is_exit) { 432
433 L(handle_post_exit); 433 L(handle_post_exit);
434 // Execute 1 instruction 434 xor_(BRANCH_HOLDER, BRANCH_HOLDER);
435 mov(BRANCH_HOLDER, end_of_code); 435 jmp(labels[jump_address], T_NEAR);
436 // Jump to next instruction to skip delay slot check 436
437 jmp(labels[jump_address], T_NEAR);
438 } else {
439 L(handle_post_exit);
440 xor_(BRANCH_HOLDER, BRANCH_HOLDER);
441 jmp(labels[jump_address], T_NEAR);
442 }
443 L(skip); 437 L(skip);
444 mov(BRANCH_HOLDER, handle_post_exit); 438 mov(BRANCH_HOLDER, handle_post_exit);
445 jmp(delay_skip[pc], T_NEAR); 439 jmp(delay_skip[pc], T_NEAR);