summaryrefslogtreecommitdiff
path: root/x86
diff options
context:
space:
mode:
authorneonloop2021-07-03 19:54:16 +0000
committerneonloop2021-07-03 19:54:16 +0000
commit2815c248d76932787fb58d5bbaa0f26be7bcb2be (patch)
treeeff2b1e2c458fcd0b5f96902382df944048d36b7 /x86
parent8dec6231614ba3f47d874d551ab83f4c5acb07cb (diff)
parent3d874ec5e3d5675ae9513264d857a3c6c9d2417c (diff)
downloadpicogpsp-2815c248d76932787fb58d5bbaa0f26be7bcb2be.tar.gz
picogpsp-2815c248d76932787fb58d5bbaa0f26be7bcb2be.tar.bz2
picogpsp-2815c248d76932787fb58d5bbaa0f26be7bcb2be.zip
Merge remote-tracking branch 'libretro/master' into pico-fe
Diffstat (limited to 'x86')
-rw-r--r--x86/x86_emit.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/x86/x86_emit.h b/x86/x86_emit.h
index ef79110..69c1f8e 100644
--- a/x86/x86_emit.h
+++ b/x86/x86_emit.h
@@ -325,7 +325,7 @@ typedef enum
x86_emit_mov_reg_mem(reg_##ireg, reg_base, reg_index * 4); \
#define generate_load_pc(ireg, new_pc) \
- x86_emit_mov_reg_imm(reg_##ireg, new_pc) \
+ x86_emit_mov_reg_imm(reg_##ireg, (new_pc)) \
#define generate_load_imm(ireg, imm) \
x86_emit_mov_reg_imm(reg_##ireg, imm) \
@@ -1894,6 +1894,10 @@ u32 function_cc execute_ror_imm_op(u32 value, u32 shift)
// Operation types: imm, mem_reg, mem_imm
+#define thumb_load_pc_pool_const(reg_rd, value) \
+ generate_load_pc(a0, (value)); \
+ generate_store_reg(a0, reg_rd)
+
#define thumb_access_memory_load(mem_type, reg_rd) \
cycle_count += 2; \
generate_function_call(execute_load_##mem_type); \
@@ -2236,6 +2240,12 @@ static void function_cc execute_swi(u32 pc)
generate_indirect_branch_cycle_update(dual); \
} \
+#define thumb_process_cheats() \
+ generate_function_call(process_cheats);
+
+#define arm_process_cheats() \
+ generate_function_call(process_cheats);
+
#define thumb_swi() \
generate_swi_hle_handler(opcode & 0xFF); \
generate_update_pc((pc + 2)); \