sh2: handle some branch exceptions
[picodrive.git] / cpu / sh2 / compiler.h
CommitLineData
e898de13 1int sh2_drc_init(SH2 *sh2);
2void sh2_drc_finish(SH2 *sh2);
f4bb5d6b 3void sh2_drc_wcheck_ram(unsigned int a, int val, int cpuid);
4void sh2_drc_wcheck_da(unsigned int a, int val, int cpuid);
679af8a3 5
51d86e55 6#ifdef DRC_SH2
7void sh2_drc_mem_setup(SH2 *sh2);
8void sh2_drc_flush_all(void);
9void sh2_drc_frame(void);
10#else
11#define sh2_drc_mem_setup(x)
12#define sh2_drc_flush_all()
13#define sh2_drc_frame()
14#endif
15
e1553677 16#define BLOCK_INSN_LIMIT 128
00faec9c 17
bf092a36 18/* op_flags */
e1553677 19#define OF_DELAY_OP (1 << 0)
20#define OF_BTARGET (1 << 1)
21#define OF_T_SET (1 << 2) // T is known to be set
22#define OF_T_CLEAR (1 << 3) // ... clear
6a5b1b36 23#define OF_B_IN_DS (1 << 4)
00faec9c 24
25void scan_block(unsigned int base_pc, int is_slave,
bf092a36 26 unsigned char *op_flags, unsigned int *end_pc,
27 unsigned int *end_literals);