sh2 drc, minor fix for arg passing in calls from generated to C code

This commit is contained in:
kub 2022-11-21 21:19:34 +00:00
parent 4ec1247d23
commit aa9c5aa559
5 changed files with 9 additions and 9 deletions

View file

@ -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

View file

@ -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 */ \

View file

@ -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 */ \

View file

@ -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 */ \

View file

@ -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)