32x: drc: dynamicregister allocator

git-svn-id: file:///home/notaz/opt/svn/PicoDrive@825 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2009-10-23 12:33:02 +00:00
parent 553c3eaa3a
commit c18edb34e6
4 changed files with 191 additions and 70 deletions

View file

@ -254,12 +254,6 @@ static int emith_xbranch(int cond, void *target, int is_call)
#define emith_ctx_write(r, offs) \
EOP_STR_IMM(r, CONTEXT_REG, offs)
#define emith_ctx_sub(val, offs) { \
emith_ctx_read(0, offs); \
emith_sub_r_imm(0, val); \
emith_ctx_write(0, offs); \
}
// upto 4 args
#define emith_pass_arg_r(arg, reg) \
EOP_MOV_REG_SIMPLE(arg, reg)
@ -281,11 +275,7 @@ static int emith_xbranch(int cond, void *target, int is_call)
/* SH2 drc specific */
#define emith_test_t() { \
int r = reg_map_g2h[SHR_SR]; \
if (r == -1) { \
emith_ctx_read(0, SHR_SR * 4); \
r = 0; \
} \
int r = rcache_get_reg(SHR_SR, RC_GR_READ); \
EOP_TST_IMM(r, 0, 1); \
}