]> Shamusworld >> Repos - virtualjaguar/blob - src/include/gpu3.h
No longer needed...
[virtualjaguar] / src / include / gpu3.h
1 void gpu3_init(void);
2
3 /*###################################################################################################
4 **      FUNCTION TABLES
5 **#################################################################################################*/
6
7 void abs_rn(void);
8 void add_rn_rn(void);
9 void addc_rn_rn(void);
10 void addq_n_rn(void);
11 void addqmod_n_rn(void);        /* DSP only */
12 void addqt_n_rn(void);
13 void and_rn_rn(void);
14 void bclr_n_rn(void);
15 void bset_n_rn(void);
16 void btst_n_rn(void);
17 void cmp_rn_rn(void);
18 void cmpq_n_rn(void);
19 void div_rn_rn(void);
20 void illegal(void);
21 void imacn_rn_rn(void);
22 void imult_rn_rn(void);
23 void imultn_rn_rn(void);
24 void jr_cc_n(void);
25 void jump_cc_rn(void);
26 void load_rn_rn(void);
27 void load_r14n_rn(void);
28 void load_r15n_rn(void);
29 void load_r14rn_rn(void);
30 void load_r15rn_rn(void);
31 void loadb_rn_rn(void);
32 void loadw_rn_rn(void);
33 void loadp_rn_rn(void); /* GPU only */
34 void mirror_rn(void);   /* DSP only */
35 void mmult_rn_rn(void);
36 void move_rn_rn(void);
37 void move_pc_rn(void);
38 void movefa_rn_rn(void);
39 void movei_n_rn(void);
40 void moveq_n_rn(void);
41 void moveta_rn_rn(void);
42 void mtoi_rn_rn(void);
43 void mult_rn_rn(void);
44 void neg_rn(void);
45 void nop(void);
46 void normi_rn_rn(void);
47 void not_rn(void);
48 void or_rn_rn(void);
49 void pack_rn(void);             /* GPU only */
50 void resmac_rn(void);
51 void ror_rn_rn(void);
52 void rorq_n_rn(void);
53 void sat8_rn(void);             /* GPU only */
54 void sat16_rn(void);            /* GPU only */
55 void sat16s_rn(void);           /* DSP only */
56 void sat24_rn(void);                    /* GPU only */
57 void sat32s_rn(void);           /* DSP only */
58 void sh_rn_rn(void);
59 void sha_rn_rn(void);
60 void sharq_n_rn(void);
61 void shlq_n_rn(void);
62 void shrq_n_rn(void);
63 void store_rn_rn(void);
64 void store_rn_r14n(void);
65 void store_rn_r15n(void);
66 void store_rn_r14rn(void);
67 void store_rn_r15rn(void);
68 void storeb_rn_rn(void);
69 void storew_rn_rn(void);
70 void storep_rn_rn(void);        /* GPU only */
71 void sub_rn_rn(void);
72 void subc_rn_rn(void);
73 void subq_n_rn(void);
74 void subqmod_n_rn(void);        /* DSP only */
75 void subqt_n_rn(void);
76 void xor_rn_rn(void);
77
78 void (* gpu3_opcode[64])(void) =
79 {
80         /* 00-03 */     add_rn_rn,              addc_rn_rn,             addq_n_rn,              addqt_n_rn,
81         /* 04-07 */     sub_rn_rn,              subc_rn_rn,             subq_n_rn,              subqt_n_rn,
82         /* 08-11 */     neg_rn,                 and_rn_rn,              or_rn_rn,               xor_rn_rn,
83         /* 12-15 */     not_rn,                 btst_n_rn,              bset_n_rn,              bclr_n_rn,
84         /* 16-19 */     mult_rn_rn,             imult_rn_rn,    imultn_rn_rn,   resmac_rn,
85         /* 20-23 */     imacn_rn_rn,    div_rn_rn,              abs_rn,                 sh_rn_rn,
86         /* 24-27 */     shlq_n_rn,              shrq_n_rn,              sha_rn_rn,              sharq_n_rn,
87         /* 28-31 */     ror_rn_rn,              rorq_n_rn,              cmp_rn_rn,              cmpq_n_rn,
88         /* 32-35 */     sat8_rn,                sat16_rn,               move_rn_rn,             moveq_n_rn,
89         /* 36-39 */     moveta_rn_rn,   movefa_rn_rn,   movei_n_rn,             loadb_rn_rn,
90         /* 40-43 */     loadw_rn_rn,    load_rn_rn,             loadp_rn_rn,    load_r14n_rn,
91         /* 44-47 */     load_r15n_rn,   storeb_rn_rn,   storew_rn_rn,   store_rn_rn,
92         /* 48-51 */     storep_rn_rn,   store_rn_r14n,  store_rn_r15n,  move_pc_rn,
93         /* 52-55 */     jump_cc_rn,             jr_cc_n,                mmult_rn_rn,    mtoi_rn_rn,
94         /* 56-59 */     normi_rn_rn,    nop,                    load_r14rn_rn,  load_r15rn_rn,
95         /* 60-63 */     store_rn_r14rn, store_rn_r15rn, sat24_rn,               pack_rn
96 };
97
98 void (* dsp3_opcode[64])(void) =
99 {
100         /* 00-03 */     add_rn_rn,              addc_rn_rn,             addq_n_rn,              addqt_n_rn,
101         /* 04-07 */     sub_rn_rn,              subc_rn_rn,             subq_n_rn,              subqt_n_rn,
102         /* 08-11 */     neg_rn,                 and_rn_rn,              or_rn_rn,               xor_rn_rn,
103         /* 12-15 */     not_rn,                 btst_n_rn,              bset_n_rn,              bclr_n_rn,
104         /* 16-19 */     mult_rn_rn,             imult_rn_rn,    imultn_rn_rn,   resmac_rn,
105         /* 20-23 */     imacn_rn_rn,    div_rn_rn,              abs_rn,                 sh_rn_rn,
106         /* 24-27 */     shlq_n_rn,              shrq_n_rn,              sha_rn_rn,              sharq_n_rn,
107         /* 28-31 */     ror_rn_rn,              rorq_n_rn,              cmp_rn_rn,              cmpq_n_rn,
108         /* 32-35 */     subqmod_n_rn,   sat16s_rn,              move_rn_rn,             moveq_n_rn,
109         /* 36-39 */     moveta_rn_rn,   movefa_rn_rn,   movei_n_rn,             loadb_rn_rn,
110         /* 40-43 */     loadw_rn_rn,    load_rn_rn,             sat32s_rn,              load_r14n_rn,
111         /* 44-47 */     load_r15n_rn,   storeb_rn_rn,   storew_rn_rn,   store_rn_rn,
112         /* 48-51 */     mirror_rn,              store_rn_r14n,  store_rn_r15n,  move_pc_rn,
113         /* 52-55 */     jump_cc_rn,             jr_cc_n,                mmult_rn_rn,    mtoi_rn_rn,
114         /* 56-59 */     normi_rn_rn,    nop,                    load_r14rn_rn,  load_r15rn_rn,
115         /* 60-63 */     store_rn_r14rn, store_rn_r15rn, illegal,                addqmod_n_rn
116 };