OSDN Git Service

e757b9c6340cfdb6e833a3cba54ac63891135a6d
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / cgen-cpu / mep / mep-cop1-32-model.h
1 /* Simulator model support for mepcop1_32.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright (C) 2000-2009 Red Hat, Inc.
6
7 This file is part of the Red Hat simulators.
8
9
10 */
11
12 #ifndef MEPCOP1_32_MODEL_H
13 #define MEPCOP1_32_MODEL_H
14
15 #include "cgen-cpu.h"
16 #include "cgen-model.h"
17
18 namespace mep_ext1
19 {
20 using namespace cgen;
21
22 class mepcop1_32_mep_model : public cgen_model
23 {
24 public:
25   mepcop1_32_mep_model (mep_ext1_cpu *cpu);
26
27   // Call the proper unit modelling function for the given insn.
28   UINT model_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache* sem)
29     {
30       return (this->*(timing[sem->idesc->sem_index].model_before)) (current_cpu, sem);
31     } 
32   UINT model_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache* sem)
33     {
34       return (this->*(timing[sem->idesc->sem_index].model_after)) (current_cpu, sem);
35     } 
36
37 // Function unit handlers
38 // To be overridden as needed.
39   virtual UINT model_u_store_ctrl_reg_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, INT /*storereg*/)
40     {
41       return 0;
42     }
43   virtual UINT model_u_store_ctrl_reg_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced, INT /*storereg*/)
44     {
45       return timing[idesc->sem_index].units[unit_num].done;
46     }
47   virtual UINT model_u_use_ctrl_reg_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, INT /*usereg*/)
48     {
49       return 0;
50     }
51   virtual UINT model_u_use_ctrl_reg_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced, INT /*usereg*/)
52     {
53       return timing[idesc->sem_index].units[unit_num].done;
54     }
55   virtual UINT model_u_use_gpr_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, INT /*usereg*/)
56     {
57       return 0;
58     }
59   virtual UINT model_u_use_gpr_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced, INT /*usereg*/)
60     {
61       return timing[idesc->sem_index].units[unit_num].done;
62     }
63   virtual UINT model_u_mul_gpr_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, INT /*resultreg*/)
64     {
65       return 0;
66     }
67   virtual UINT model_u_mul_gpr_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced, INT /*resultreg*/)
68     {
69       return timing[idesc->sem_index].units[unit_num].done;
70     }
71   virtual UINT model_u_ldcb_gpr_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, INT /*loadreg*/)
72     {
73       return 0;
74     }
75   virtual UINT model_u_ldcb_gpr_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced, INT /*loadreg*/)
76     {
77       return timing[idesc->sem_index].units[unit_num].done;
78     }
79   virtual UINT model_u_load_gpr_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, INT /*loadreg*/)
80     {
81       return 0;
82     }
83   virtual UINT model_u_load_gpr_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced, INT /*loadreg*/)
84     {
85       return timing[idesc->sem_index].units[unit_num].done;
86     }
87   virtual UINT model_u_ldcb_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num)
88     {
89       return 0;
90     }
91   virtual UINT model_u_ldcb_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced)
92     {
93       return timing[idesc->sem_index].units[unit_num].done;
94     }
95   virtual UINT model_u_stcb_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num)
96     {
97       return 0;
98     }
99   virtual UINT model_u_stcb_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced)
100     {
101       return timing[idesc->sem_index].units[unit_num].done;
102     }
103   virtual UINT model_u_divide_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num)
104     {
105       return 0;
106     }
107   virtual UINT model_u_divide_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced)
108     {
109       return timing[idesc->sem_index].units[unit_num].done;
110     }
111   virtual UINT model_u_multiply_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num)
112     {
113       return 0;
114     }
115   virtual UINT model_u_multiply_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced)
116     {
117       return timing[idesc->sem_index].units[unit_num].done;
118     }
119   virtual UINT model_u_branch_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num)
120     {
121       return 0;
122     }
123   virtual UINT model_u_branch_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced)
124     {
125       return timing[idesc->sem_index].units[unit_num].done;
126     }
127   virtual UINT model_u_exec_before (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num)
128     {
129       return 0;
130     }
131   virtual UINT model_u_exec_after (mep_ext1_cpu *cpu, const struct mepcop1_32_idesc *idesc, int unit_num, unsigned long long referenced)
132     {
133       return timing[idesc->sem_index].units[unit_num].done;
134     }
135
136 protected:
137   // These methods call the appropriate unit modeller(s) for each insn.
138   UINT model_cmov_crn_rm_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
139   UINT model_cmov_crn_rm_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
140   UINT model_cmov_rn_crm_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
141   UINT model_cmov_rn_crm_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
142   UINT model_cmovc_ccrn_rm_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
143   UINT model_cmovc_ccrn_rm_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
144   UINT model_cmovc_rn_ccrm_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
145   UINT model_cmovc_rn_ccrm_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
146   UINT model_cmovh_crn_rm_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
147   UINT model_cmovh_crn_rm_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
148   UINT model_cmovh_rn_crm_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
149   UINT model_cmovh_rn_crm_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
150   UINT model_cpadd3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
151   UINT model_cpadd3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
152   UINT model_cpadd3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
153   UINT model_cpadd3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
154   UINT model_cpadd3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
155   UINT model_cpadd3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
156   UINT model_cdadd3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
157   UINT model_cdadd3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
158   UINT model_cpsub3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
159   UINT model_cpsub3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
160   UINT model_cpsub3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
161   UINT model_cpsub3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
162   UINT model_cpsub3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
163   UINT model_cpsub3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
164   UINT model_cdsub3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
165   UINT model_cdsub3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
166   UINT model_cpand3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
167   UINT model_cpand3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
168   UINT model_cpor3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
169   UINT model_cpor3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
170   UINT model_cpnor3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
171   UINT model_cpnor3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
172   UINT model_cpxor3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
173   UINT model_cpxor3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
174   UINT model_cpsel_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
175   UINT model_cpsel_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
176   UINT model_cpfsftbi_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
177   UINT model_cpfsftbi_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
178   UINT model_cpfsftbs0_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
179   UINT model_cpfsftbs0_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
180   UINT model_cpfsftbs1_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
181   UINT model_cpfsftbs1_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
182   UINT model_cpunpacku_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
183   UINT model_cpunpacku_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
184   UINT model_cpunpacku_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
185   UINT model_cpunpacku_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
186   UINT model_cpunpacku_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
187   UINT model_cpunpacku_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
188   UINT model_cpunpackl_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
189   UINT model_cpunpackl_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
190   UINT model_cpunpackl_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
191   UINT model_cpunpackl_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
192   UINT model_cpunpackl_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
193   UINT model_cpunpackl_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
194   UINT model_cppacku_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
195   UINT model_cppacku_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
196   UINT model_cppack_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
197   UINT model_cppack_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
198   UINT model_cppack_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
199   UINT model_cppack_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
200   UINT model_cpsrl3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
201   UINT model_cpsrl3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
202   UINT model_cpssrl3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
203   UINT model_cpssrl3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
204   UINT model_cpsrl3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
205   UINT model_cpsrl3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
206   UINT model_cpssrl3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
207   UINT model_cpssrl3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
208   UINT model_cpsrl3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
209   UINT model_cpsrl3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
210   UINT model_cpssrl3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
211   UINT model_cpssrl3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
212   UINT model_cdsrl3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
213   UINT model_cdsrl3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
214   UINT model_cpsra3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
215   UINT model_cpsra3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
216   UINT model_cpssra3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
217   UINT model_cpssra3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
218   UINT model_cpsra3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
219   UINT model_cpsra3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
220   UINT model_cpssra3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
221   UINT model_cpssra3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
222   UINT model_cpsra3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
223   UINT model_cpsra3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
224   UINT model_cpssra3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
225   UINT model_cpssra3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
226   UINT model_cdsra3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
227   UINT model_cdsra3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
228   UINT model_cpsll3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
229   UINT model_cpsll3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
230   UINT model_cpssll3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
231   UINT model_cpssll3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
232   UINT model_cpsll3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
233   UINT model_cpsll3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
234   UINT model_cpssll3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
235   UINT model_cpssll3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
236   UINT model_cpsll3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
237   UINT model_cpsll3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
238   UINT model_cpssll3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
239   UINT model_cpssll3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
240   UINT model_cdsll3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
241   UINT model_cdsll3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
242   UINT model_cpsla3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
243   UINT model_cpsla3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
244   UINT model_cpsla3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
245   UINT model_cpsla3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
246   UINT model_cpsadd3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
247   UINT model_cpsadd3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
248   UINT model_cpsadd3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
249   UINT model_cpsadd3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
250   UINT model_cpssub3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
251   UINT model_cpssub3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
252   UINT model_cpssub3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
253   UINT model_cpssub3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
254   UINT model_cpextuaddu3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
255   UINT model_cpextuaddu3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
256   UINT model_cpextuadd3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
257   UINT model_cpextuadd3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
258   UINT model_cpextladdu3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
259   UINT model_cpextladdu3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
260   UINT model_cpextladd3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
261   UINT model_cpextladd3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
262   UINT model_cpextusubu3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
263   UINT model_cpextusubu3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
264   UINT model_cpextusub3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
265   UINT model_cpextusub3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
266   UINT model_cpextlsubu3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
267   UINT model_cpextlsubu3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
268   UINT model_cpextlsub3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
269   UINT model_cpextlsub3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
270   UINT model_cpaveu3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
271   UINT model_cpaveu3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
272   UINT model_cpave3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
273   UINT model_cpave3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
274   UINT model_cpave3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
275   UINT model_cpave3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
276   UINT model_cpave3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
277   UINT model_cpave3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
278   UINT model_cpaddsru3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
279   UINT model_cpaddsru3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
280   UINT model_cpaddsr3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
281   UINT model_cpaddsr3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
282   UINT model_cpaddsr3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
283   UINT model_cpaddsr3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
284   UINT model_cpaddsr3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
285   UINT model_cpaddsr3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
286   UINT model_cpabsu3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
287   UINT model_cpabsu3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
288   UINT model_cpabs3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
289   UINT model_cpabs3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
290   UINT model_cpabs3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
291   UINT model_cpabs3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
292   UINT model_cpmaxu3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
293   UINT model_cpmaxu3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
294   UINT model_cpmax3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
295   UINT model_cpmax3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
296   UINT model_cpmax3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
297   UINT model_cpmax3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
298   UINT model_cpmaxu3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
299   UINT model_cpmaxu3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
300   UINT model_cpmax3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
301   UINT model_cpmax3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
302   UINT model_cpminu3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
303   UINT model_cpminu3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
304   UINT model_cpmin3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
305   UINT model_cpmin3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
306   UINT model_cpmin3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
307   UINT model_cpmin3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
308   UINT model_cpminu3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
309   UINT model_cpminu3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
310   UINT model_cpmin3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
311   UINT model_cpmin3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
312   UINT model_cpmovfrcsar0_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
313   UINT model_cpmovfrcsar0_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
314   UINT model_cpmovfrcsar1_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
315   UINT model_cpmovfrcsar1_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
316   UINT model_cpmovfrcc_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
317   UINT model_cpmovfrcc_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
318   UINT model_cpmovtocsar0_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
319   UINT model_cpmovtocsar0_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
320   UINT model_cpmovtocsar1_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
321   UINT model_cpmovtocsar1_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
322   UINT model_cpmovtocc_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
323   UINT model_cpmovtocc_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
324   UINT model_cpmov_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
325   UINT model_cpmov_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
326   UINT model_cpabsz_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
327   UINT model_cpabsz_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
328   UINT model_cpabsz_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
329   UINT model_cpabsz_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
330   UINT model_cpabsz_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
331   UINT model_cpabsz_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
332   UINT model_cpldz_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
333   UINT model_cpldz_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
334   UINT model_cpldz_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
335   UINT model_cpldz_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
336   UINT model_cpnorm_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
337   UINT model_cpnorm_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
338   UINT model_cpnorm_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
339   UINT model_cpnorm_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
340   UINT model_cphaddu_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
341   UINT model_cphaddu_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
342   UINT model_cphadd_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
343   UINT model_cphadd_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
344   UINT model_cphadd_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
345   UINT model_cphadd_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
346   UINT model_cphadd_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
347   UINT model_cphadd_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
348   UINT model_cpccadd_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
349   UINT model_cpccadd_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
350   UINT model_cpbcast_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
351   UINT model_cpbcast_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
352   UINT model_cpbcast_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
353   UINT model_cpbcast_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
354   UINT model_cpbcast_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
355   UINT model_cpbcast_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
356   UINT model_cpextuu_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
357   UINT model_cpextuu_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
358   UINT model_cpextu_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
359   UINT model_cpextu_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
360   UINT model_cpextuu_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
361   UINT model_cpextuu_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
362   UINT model_cpextu_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
363   UINT model_cpextu_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
364   UINT model_cpextlu_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
365   UINT model_cpextlu_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
366   UINT model_cpextl_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
367   UINT model_cpextl_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
368   UINT model_cpextlu_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
369   UINT model_cpextlu_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
370   UINT model_cpextl_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
371   UINT model_cpextl_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
372   UINT model_cpcastub_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
373   UINT model_cpcastub_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
374   UINT model_cpcastb_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
375   UINT model_cpcastb_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
376   UINT model_cpcastub_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
377   UINT model_cpcastub_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
378   UINT model_cpcastb_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
379   UINT model_cpcastb_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
380   UINT model_cpcastuh_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
381   UINT model_cpcastuh_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
382   UINT model_cpcasth_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
383   UINT model_cpcasth_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
384   UINT model_cdcastuw_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
385   UINT model_cdcastuw_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
386   UINT model_cdcastw_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
387   UINT model_cdcastw_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
388   UINT model_cpcmpeqz_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
389   UINT model_cpcmpeqz_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
390   UINT model_cpcmpeq_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
391   UINT model_cpcmpeq_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
392   UINT model_cpcmpeq_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
393   UINT model_cpcmpeq_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
394   UINT model_cpcmpeq_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
395   UINT model_cpcmpeq_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
396   UINT model_cpcmpne_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
397   UINT model_cpcmpne_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
398   UINT model_cpcmpne_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
399   UINT model_cpcmpne_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
400   UINT model_cpcmpne_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
401   UINT model_cpcmpne_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
402   UINT model_cpcmpgtu_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
403   UINT model_cpcmpgtu_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
404   UINT model_cpcmpgt_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
405   UINT model_cpcmpgt_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
406   UINT model_cpcmpgt_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
407   UINT model_cpcmpgt_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
408   UINT model_cpcmpgtu_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
409   UINT model_cpcmpgtu_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
410   UINT model_cpcmpgt_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
411   UINT model_cpcmpgt_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
412   UINT model_cpcmpgeu_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
413   UINT model_cpcmpgeu_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
414   UINT model_cpcmpge_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
415   UINT model_cpcmpge_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
416   UINT model_cpcmpge_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
417   UINT model_cpcmpge_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
418   UINT model_cpcmpgeu_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
419   UINT model_cpcmpgeu_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
420   UINT model_cpcmpge_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
421   UINT model_cpcmpge_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
422   UINT model_cpacmpeq_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
423   UINT model_cpacmpeq_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
424   UINT model_cpacmpeq_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
425   UINT model_cpacmpeq_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
426   UINT model_cpacmpeq_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
427   UINT model_cpacmpeq_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
428   UINT model_cpacmpne_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
429   UINT model_cpacmpne_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
430   UINT model_cpacmpne_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
431   UINT model_cpacmpne_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
432   UINT model_cpacmpne_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
433   UINT model_cpacmpne_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
434   UINT model_cpacmpgtu_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
435   UINT model_cpacmpgtu_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
436   UINT model_cpacmpgt_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
437   UINT model_cpacmpgt_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
438   UINT model_cpacmpgt_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
439   UINT model_cpacmpgt_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
440   UINT model_cpacmpgtu_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
441   UINT model_cpacmpgtu_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
442   UINT model_cpacmpgt_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
443   UINT model_cpacmpgt_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
444   UINT model_cpacmpgeu_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
445   UINT model_cpacmpgeu_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
446   UINT model_cpacmpge_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
447   UINT model_cpacmpge_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
448   UINT model_cpacmpge_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
449   UINT model_cpacmpge_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
450   UINT model_cpacmpgeu_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
451   UINT model_cpacmpgeu_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
452   UINT model_cpacmpge_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
453   UINT model_cpacmpge_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
454   UINT model_cpocmpeq_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
455   UINT model_cpocmpeq_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
456   UINT model_cpocmpeq_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
457   UINT model_cpocmpeq_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
458   UINT model_cpocmpeq_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
459   UINT model_cpocmpeq_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
460   UINT model_cpocmpne_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
461   UINT model_cpocmpne_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
462   UINT model_cpocmpne_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
463   UINT model_cpocmpne_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
464   UINT model_cpocmpne_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
465   UINT model_cpocmpne_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
466   UINT model_cpocmpgtu_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
467   UINT model_cpocmpgtu_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
468   UINT model_cpocmpgt_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
469   UINT model_cpocmpgt_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
470   UINT model_cpocmpgt_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
471   UINT model_cpocmpgt_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
472   UINT model_cpocmpgtu_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
473   UINT model_cpocmpgtu_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
474   UINT model_cpocmpgt_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
475   UINT model_cpocmpgt_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
476   UINT model_cpocmpgeu_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
477   UINT model_cpocmpgeu_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
478   UINT model_cpocmpge_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
479   UINT model_cpocmpge_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
480   UINT model_cpocmpge_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
481   UINT model_cpocmpge_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
482   UINT model_cpocmpgeu_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
483   UINT model_cpocmpgeu_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
484   UINT model_cpocmpge_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
485   UINT model_cpocmpge_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
486   UINT model_cpsrli3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
487   UINT model_cpsrli3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
488   UINT model_cpsrli3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
489   UINT model_cpsrli3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
490   UINT model_cpsrli3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
491   UINT model_cpsrli3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
492   UINT model_cdsrli3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
493   UINT model_cdsrli3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
494   UINT model_cpsrai3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
495   UINT model_cpsrai3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
496   UINT model_cpsrai3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
497   UINT model_cpsrai3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
498   UINT model_cpsrai3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
499   UINT model_cpsrai3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
500   UINT model_cdsrai3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
501   UINT model_cdsrai3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
502   UINT model_cpslli3_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
503   UINT model_cpslli3_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
504   UINT model_cpslli3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
505   UINT model_cpslli3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
506   UINT model_cpslli3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
507   UINT model_cpslli3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
508   UINT model_cdslli3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
509   UINT model_cdslli3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
510   UINT model_cpslai3_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
511   UINT model_cpslai3_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
512   UINT model_cpslai3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
513   UINT model_cpslai3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
514   UINT model_cpclipiu3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
515   UINT model_cpclipiu3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
516   UINT model_cpclipi3_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
517   UINT model_cpclipi3_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
518   UINT model_cdclipiu3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
519   UINT model_cdclipiu3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
520   UINT model_cdclipi3_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
521   UINT model_cdclipi3_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
522   UINT model_cpmovi_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
523   UINT model_cpmovi_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
524   UINT model_cpmoviu_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
525   UINT model_cpmoviu_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
526   UINT model_cpmovi_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
527   UINT model_cpmovi_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
528   UINT model_cpmoviu_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
529   UINT model_cpmoviu_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
530   UINT model_cpmovi_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
531   UINT model_cpmovi_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
532   UINT model_cdmoviu_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
533   UINT model_cdmoviu_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
534   UINT model_cdmovi_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
535   UINT model_cdmovi_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
536   UINT model_cpadda1u_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
537   UINT model_cpadda1u_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
538   UINT model_cpadda1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
539   UINT model_cpadda1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
540   UINT model_cpaddua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
541   UINT model_cpaddua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
542   UINT model_cpaddla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
543   UINT model_cpaddla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
544   UINT model_cpaddaca1u_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
545   UINT model_cpaddaca1u_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
546   UINT model_cpaddaca1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
547   UINT model_cpaddaca1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
548   UINT model_cpaddacua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
549   UINT model_cpaddacua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
550   UINT model_cpaddacla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
551   UINT model_cpaddacla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
552   UINT model_cpsuba1u_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
553   UINT model_cpsuba1u_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
554   UINT model_cpsuba1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
555   UINT model_cpsuba1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
556   UINT model_cpsubua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
557   UINT model_cpsubua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
558   UINT model_cpsubla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
559   UINT model_cpsubla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
560   UINT model_cpsubaca1u_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
561   UINT model_cpsubaca1u_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
562   UINT model_cpsubaca1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
563   UINT model_cpsubaca1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
564   UINT model_cpsubacua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
565   UINT model_cpsubacua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
566   UINT model_cpsubacla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
567   UINT model_cpsubacla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
568   UINT model_cpabsa1u_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
569   UINT model_cpabsa1u_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
570   UINT model_cpabsa1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
571   UINT model_cpabsa1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
572   UINT model_cpabsua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
573   UINT model_cpabsua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
574   UINT model_cpabsla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
575   UINT model_cpabsla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
576   UINT model_cpsada1u_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
577   UINT model_cpsada1u_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
578   UINT model_cpsada1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
579   UINT model_cpsada1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
580   UINT model_cpsadua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
581   UINT model_cpsadua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
582   UINT model_cpsadla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
583   UINT model_cpsadla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
584   UINT model_cpseta1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
585   UINT model_cpseta1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
586   UINT model_cpsetua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
587   UINT model_cpsetua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
588   UINT model_cpsetla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
589   UINT model_cpsetla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
590   UINT model_cpmova1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
591   UINT model_cpmova1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
592   UINT model_cpmovua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
593   UINT model_cpmovua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
594   UINT model_cpmovla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
595   UINT model_cpmovla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
596   UINT model_cpmovuua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
597   UINT model_cpmovuua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
598   UINT model_cpmovula1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
599   UINT model_cpmovula1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
600   UINT model_cpmovlua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
601   UINT model_cpmovlua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
602   UINT model_cpmovlla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
603   UINT model_cpmovlla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
604   UINT model_cppacka1u_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
605   UINT model_cppacka1u_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
606   UINT model_cppacka1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
607   UINT model_cppacka1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
608   UINT model_cppackua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
609   UINT model_cppackua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
610   UINT model_cppackla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
611   UINT model_cppackla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
612   UINT model_cppackua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
613   UINT model_cppackua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
614   UINT model_cppackla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
615   UINT model_cppackla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
616   UINT model_cpmovhua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
617   UINT model_cpmovhua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
618   UINT model_cpmovhla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
619   UINT model_cpmovhla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
620   UINT model_cpsrla1_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
621   UINT model_cpsrla1_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
622   UINT model_cpsraa1_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
623   UINT model_cpsraa1_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
624   UINT model_cpslla1_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
625   UINT model_cpslla1_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
626   UINT model_cpsrlia1_P1_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
627   UINT model_cpsrlia1_P1_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
628   UINT model_cpsraia1_P1_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
629   UINT model_cpsraia1_P1_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
630   UINT model_cpsllia1_P1_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
631   UINT model_cpsllia1_P1_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
632   UINT model_cpssqa1u_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
633   UINT model_cpssqa1u_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
634   UINT model_cpssqa1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
635   UINT model_cpssqa1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
636   UINT model_cpssda1u_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
637   UINT model_cpssda1u_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
638   UINT model_cpssda1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
639   UINT model_cpssda1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
640   UINT model_cpmula1u_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
641   UINT model_cpmula1u_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
642   UINT model_cpmula1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
643   UINT model_cpmula1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
644   UINT model_cpmulua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
645   UINT model_cpmulua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
646   UINT model_cpmulla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
647   UINT model_cpmulla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
648   UINT model_cpmulua1u_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
649   UINT model_cpmulua1u_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
650   UINT model_cpmulla1u_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
651   UINT model_cpmulla1u_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
652   UINT model_cpmulua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
653   UINT model_cpmulua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
654   UINT model_cpmulla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
655   UINT model_cpmulla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
656   UINT model_cpmada1u_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
657   UINT model_cpmada1u_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
658   UINT model_cpmada1_b_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
659   UINT model_cpmada1_b_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
660   UINT model_cpmadua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
661   UINT model_cpmadua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
662   UINT model_cpmadla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
663   UINT model_cpmadla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
664   UINT model_cpmadua1u_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
665   UINT model_cpmadua1u_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
666   UINT model_cpmadla1u_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
667   UINT model_cpmadla1u_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
668   UINT model_cpmadua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
669   UINT model_cpmadua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
670   UINT model_cpmadla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
671   UINT model_cpmadla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
672   UINT model_cpmsbua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
673   UINT model_cpmsbua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
674   UINT model_cpmsbla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
675   UINT model_cpmsbla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
676   UINT model_cpmsbua1u_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
677   UINT model_cpmsbua1u_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
678   UINT model_cpmsbla1u_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
679   UINT model_cpmsbla1u_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
680   UINT model_cpmsbua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
681   UINT model_cpmsbua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
682   UINT model_cpmsbla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
683   UINT model_cpmsbla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
684   UINT model_cpsmadua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
685   UINT model_cpsmadua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
686   UINT model_cpsmadla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
687   UINT model_cpsmadla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
688   UINT model_cpsmadua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
689   UINT model_cpsmadua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
690   UINT model_cpsmadla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
691   UINT model_cpsmadla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
692   UINT model_cpsmsbua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
693   UINT model_cpsmsbua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
694   UINT model_cpsmsbla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
695   UINT model_cpsmsbla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
696   UINT model_cpsmsbua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
697   UINT model_cpsmsbua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
698   UINT model_cpsmsbla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
699   UINT model_cpsmsbla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
700   UINT model_cpmulslua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
701   UINT model_cpmulslua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
702   UINT model_cpmulslla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
703   UINT model_cpmulslla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
704   UINT model_cpmulslua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
705   UINT model_cpmulslua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
706   UINT model_cpmulslla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
707   UINT model_cpmulslla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
708   UINT model_cpsmadslua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
709   UINT model_cpsmadslua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
710   UINT model_cpsmadslla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
711   UINT model_cpsmadslla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
712   UINT model_cpsmadslua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
713   UINT model_cpsmadslua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
714   UINT model_cpsmadslla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
715   UINT model_cpsmadslla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
716   UINT model_cpsmsbslua1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
717   UINT model_cpsmsbslua1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
718   UINT model_cpsmsbslla1_h_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
719   UINT model_cpsmsbslla1_h_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
720   UINT model_cpsmsbslua1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
721   UINT model_cpsmsbslua1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
722   UINT model_cpsmsbslla1_w_C3_before (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
723   UINT model_cpsmsbslla1_w_C3_after (mep_ext1_cpu *current_cpu, mepcop1_32_scache *sem);
724
725   /* Enum declaration for unit types.  */
726 typedef enum unit_number {
727   UNIT_NONE, UNIT_U_STORE_CTRL_REG, UNIT_U_USE_CTRL_REG, UNIT_U_USE_GPR
728  , UNIT_U_MUL_GPR, UNIT_U_LDCB_GPR, UNIT_U_LOAD_GPR, UNIT_U_LDCB
729  , UNIT_U_STCB, UNIT_U_DIVIDE, UNIT_U_MULTIPLY, UNIT_U_BRANCH
730  , UNIT_U_EXEC, UNIT_MAX
731 } UNIT_NUMBER;
732
733   struct unit {
734     unit_number unit;
735     UINT issue;
736     UINT done;
737   };
738
739   static const int MAX_UNITS = 1;
740
741   typedef UINT (mepcop1_32_mep_model::*model_function) (mep_ext1_cpu* current_cpu, mepcop1_32_scache* sem);
742
743   struct insn_timing {
744     // This is an integer that identifies this insn.
745     UINT num;
746     // Functions to handle insn-specific profiling.
747     model_function model_before;
748     model_function model_after;
749     // Array of function units used by this insn.
750     unit units[MAX_UNITS];
751   };
752
753   static const insn_timing timing[];
754 };
755
756 } // namespace mep_ext1
757
758 #endif // MEPCOP1_32_MODEL_H