mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
sh2 drc, minor fix for arg passing in calls from generated to C code
This commit is contained in:
parent
4ec1247d23
commit
aa9c5aa559
5 changed files with 9 additions and 9 deletions
|
@ -1065,10 +1065,10 @@ static void emith_ldst_offs(int sz, int rd, int rn, int o9, int ld, int mode)
|
|||
rd = arg
|
||||
|
||||
#define emith_pass_arg_r(arg, reg) \
|
||||
emith_move_r_r(arg, reg)
|
||||
emith_move_r_r_ptr(arg, reg)
|
||||
|
||||
#define emith_pass_arg_imm(arg, imm) \
|
||||
emith_move_r_imm(arg, imm)
|
||||
emith_move_r_ptr_imm(arg, imm)
|
||||
|
||||
// branching; NB: A64 B.cond has only +/- 1MB range
|
||||
|
||||
|
|
|
@ -1397,10 +1397,10 @@ static void emith_lohi_nops(void)
|
|||
rd = (arg+4)
|
||||
|
||||
#define emith_pass_arg_r(arg, reg) \
|
||||
emith_move_r_r(arg, reg)
|
||||
emith_move_r_r_ptr(arg, reg)
|
||||
|
||||
#define emith_pass_arg_imm(arg, imm) \
|
||||
emith_move_r_imm(arg, imm)
|
||||
emith_move_r_ptr_imm(arg, imm)
|
||||
|
||||
// branching
|
||||
#define emith_invert_branch(cond) /* inverted conditional branch */ \
|
||||
|
|
|
@ -1311,10 +1311,10 @@ static void emith_add_imm(int rt, int ra, u32 imm)
|
|||
rt = (arg+3)
|
||||
|
||||
#define emith_pass_arg_r(arg, reg) \
|
||||
emith_move_r_r(arg, reg)
|
||||
emith_move_r_r_ptr(arg, reg)
|
||||
|
||||
#define emith_pass_arg_imm(arg, imm) \
|
||||
emith_move_r_imm(arg, imm)
|
||||
emith_move_r_ptr_imm(arg, imm)
|
||||
|
||||
// branching
|
||||
#define emith_invert_branch(cond) /* inverted conditional branch */ \
|
||||
|
|
|
@ -1190,10 +1190,10 @@ static void emith_st_offs(int sz, int rt, int rs, int o12)
|
|||
rd = (arg+10)
|
||||
|
||||
#define emith_pass_arg_r(arg, reg) \
|
||||
emith_move_r_r(arg, reg)
|
||||
emith_move_r_r_ptr(arg, reg)
|
||||
|
||||
#define emith_pass_arg_imm(arg, imm) \
|
||||
emith_move_r_imm(arg, imm)
|
||||
emith_move_r_ptr_imm(arg, imm)
|
||||
|
||||
// branching
|
||||
#define emith_invert_branch(cond) /* inverted conditional branch */ \
|
||||
|
|
|
@ -1035,7 +1035,7 @@ enum { xAX = 0, xCX, xDX, xBX, xSP, xBP, xSI, xDI, // x86-64,i386 common
|
|||
#define emith_pass_arg_imm(arg, imm) do { \
|
||||
int rd = 7; \
|
||||
host_arg2reg(rd, arg); \
|
||||
emith_move_r_imm(rd, imm); \
|
||||
emith_move_r_ptr_imm(rd, imm); \
|
||||
} while (0)
|
||||
|
||||
#define host_instructions_updated(base, end, force) (void)(base),(void)(end)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue