X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cpu%2Fsh2%2Fcompiler.h;h=61d8d2dafbfd5da66e6b2b68be30ced9c2c897ed;hb=6a5b1b362ecf78ce2925068a5d938d319ff583a3;hp=2a804c73af33a574245c69281a0857512e949068;hpb=00faec9cdbc073199fa984a0450e1a961994b058;p=picodrive.git diff --git a/cpu/sh2/compiler.h b/cpu/sh2/compiler.h index 2a804c7..61d8d2d 100644 --- a/cpu/sh2/compiler.h +++ b/cpu/sh2/compiler.h @@ -1,15 +1,27 @@ int sh2_drc_init(SH2 *sh2); void sh2_drc_finish(SH2 *sh2); -void sh2_drc_mem_setup(SH2 *sh2); -void sh2_drc_flush_all(void); void sh2_drc_wcheck_ram(unsigned int a, int val, int cpuid); void sh2_drc_wcheck_da(unsigned int a, int val, int cpuid); -#define BLOCK_CYCLE_LIMIT 128 +#ifdef DRC_SH2 +void sh2_drc_mem_setup(SH2 *sh2); +void sh2_drc_flush_all(void); +void sh2_drc_frame(void); +#else +#define sh2_drc_mem_setup(x) +#define sh2_drc_flush_all() +#define sh2_drc_frame() +#endif + +#define BLOCK_INSN_LIMIT 128 -#define OP_FLAGS(pc) op_flags[((pc) - (base_pc)) / 2] -#define OF_DELAY_OP (1 << 0) -#define OF_TARGET (1 << 1) +/* op_flags */ +#define OF_DELAY_OP (1 << 0) +#define OF_BTARGET (1 << 1) +#define OF_T_SET (1 << 2) // T is known to be set +#define OF_T_CLEAR (1 << 3) // ... clear +#define OF_B_IN_DS (1 << 4) void scan_block(unsigned int base_pc, int is_slave, - unsigned char *op_flags, unsigned int *end_pc); + unsigned char *op_flags, unsigned int *end_pc, + unsigned int *end_literals);