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 rd = arg
#define emith_pass_arg_r(arg, reg) \ #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) \ #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 // branching; NB: A64 B.cond has only +/- 1MB range

View file

@ -1397,10 +1397,10 @@ static void emith_lohi_nops(void)
rd = (arg+4) rd = (arg+4)
#define emith_pass_arg_r(arg, reg) \ #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) \ #define emith_pass_arg_imm(arg, imm) \
emith_move_r_imm(arg, imm) emith_move_r_ptr_imm(arg, imm)
// branching // branching
#define emith_invert_branch(cond) /* inverted conditional branch */ \ #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) rt = (arg+3)
#define emith_pass_arg_r(arg, reg) \ #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) \ #define emith_pass_arg_imm(arg, imm) \
emith_move_r_imm(arg, imm) emith_move_r_ptr_imm(arg, imm)
// branching // branching
#define emith_invert_branch(cond) /* inverted conditional branch */ \ #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) rd = (arg+10)
#define emith_pass_arg_r(arg, reg) \ #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) \ #define emith_pass_arg_imm(arg, imm) \
emith_move_r_imm(arg, imm) emith_move_r_ptr_imm(arg, imm)
// branching // branching
#define emith_invert_branch(cond) /* inverted conditional branch */ \ #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 { \ #define emith_pass_arg_imm(arg, imm) do { \
int rd = 7; \ int rd = 7; \
host_arg2reg(rd, arg); \ host_arg2reg(rd, arg); \
emith_move_r_imm(rd, imm); \ emith_move_r_ptr_imm(rd, imm); \
} while (0) } while (0)
#define host_instructions_updated(base, end, force) (void)(base),(void)(end) #define host_instructions_updated(base, end, force) (void)(base),(void)(end)