summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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 3b55228b9..a302a9603 100644
--- a/src/video_core/macro/macro_jit_x64.cpp
+++ b/src/video_core/macro/macro_jit_x64.cpp
@@ -401,17 +401,11 @@ void MacroJITx64Impl::Compile_Branch(Macro::Opcode opcode) {
401 Xbyak::Label handle_post_exit{}; 401 Xbyak::Label handle_post_exit{};
402 Xbyak::Label skip{}; 402 Xbyak::Label skip{};
403 jmp(skip, T_NEAR); 403 jmp(skip, T_NEAR);
404 if (opcode.is_exit) { 404
405 L(handle_post_exit); 405 L(handle_post_exit);
406 // Execute 1 instruction 406 xor_(BRANCH_HOLDER, BRANCH_HOLDER);
407 mov(BRANCH_HOLDER, end_of_code); 407 jmp(labels[jump_address], T_NEAR);
408 // Jump to next instruction to skip delay slot check 408
409 jmp(labels[jump_address], T_NEAR);
410 } else {
411 L(handle_post_exit);
412 xor_(BRANCH_HOLDER, BRANCH_HOLDER);
413 jmp(labels[jump_address], T_NEAR);
414 }
415 L(skip); 409 L(skip);
416 mov(BRANCH_HOLDER, handle_post_exit); 410 mov(BRANCH_HOLDER, handle_post_exit);
417 jmp(delay_skip[pc], T_NEAR); 411 jmp(delay_skip[pc], T_NEAR);