1 /* Simulator model support for mepcore1.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 2000-2009 Red Hat, Inc.
7 This file is part of the Red Hat simulators.
12 #ifndef MEPCORE1_MODEL_H
13 #define MEPCORE1_MODEL_H
16 #include "cgen-model.h"
22 class mepcore1_mep_model : public cgen_model
25 mepcore1_mep_model (mep_ext1_cpu *cpu);
27 // Call the proper unit modelling function for the given insn.
28 UINT model_before (mep_ext1_cpu *current_cpu, mepcore1_scache* sem)
30 return (this->*(timing[sem->idesc->sem_index].model_before)) (current_cpu, sem);
32 UINT model_after (mep_ext1_cpu *current_cpu, mepcore1_scache* sem)
34 return (this->*(timing[sem->idesc->sem_index].model_after)) (current_cpu, sem);
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 mepcore1_idesc *idesc, int unit_num, INT /*storereg*/)
43 virtual UINT model_u_store_ctrl_reg_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced, INT /*storereg*/)
45 return timing[idesc->sem_index].units[unit_num].done;
47 virtual UINT model_u_use_ctrl_reg_before (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, INT /*usereg*/)
51 virtual UINT model_u_use_ctrl_reg_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced, INT /*usereg*/)
53 return timing[idesc->sem_index].units[unit_num].done;
55 virtual UINT model_u_use_gpr_before (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, INT /*usereg*/)
59 virtual UINT model_u_use_gpr_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced, INT /*usereg*/)
61 return timing[idesc->sem_index].units[unit_num].done;
63 virtual UINT model_u_mul_gpr_before (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, INT /*resultreg*/)
67 virtual UINT model_u_mul_gpr_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced, INT /*resultreg*/)
69 return timing[idesc->sem_index].units[unit_num].done;
71 virtual UINT model_u_ldcb_gpr_before (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, INT /*loadreg*/)
75 virtual UINT model_u_ldcb_gpr_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced, INT /*loadreg*/)
77 return timing[idesc->sem_index].units[unit_num].done;
79 virtual UINT model_u_load_gpr_before (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, INT /*loadreg*/)
83 virtual UINT model_u_load_gpr_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced, INT /*loadreg*/)
85 return timing[idesc->sem_index].units[unit_num].done;
87 virtual UINT model_u_ldcb_before (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num)
91 virtual UINT model_u_ldcb_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced)
93 return timing[idesc->sem_index].units[unit_num].done;
95 virtual UINT model_u_stcb_before (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num)
99 virtual UINT model_u_stcb_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced)
101 return timing[idesc->sem_index].units[unit_num].done;
103 virtual UINT model_u_divide_before (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num)
107 virtual UINT model_u_divide_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced)
109 return timing[idesc->sem_index].units[unit_num].done;
111 virtual UINT model_u_multiply_before (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num)
115 virtual UINT model_u_multiply_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced)
117 return timing[idesc->sem_index].units[unit_num].done;
119 virtual UINT model_u_branch_before (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num)
123 virtual UINT model_u_branch_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced)
125 return timing[idesc->sem_index].units[unit_num].done;
127 virtual UINT model_u_exec_before (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num)
131 virtual UINT model_u_exec_after (mep_ext1_cpu *cpu, const struct mepcore1_idesc *idesc, int unit_num, unsigned long long referenced)
133 return timing[idesc->sem_index].units[unit_num].done;
137 // These methods call the appropriate unit modeller(s) for each insn.
138 UINT model_stcb_r_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
139 UINT model_stcb_r_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
140 UINT model_ldcb_r_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
141 UINT model_ldcb_r_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
142 UINT model_pref_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
143 UINT model_pref_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
144 UINT model_prefd_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
145 UINT model_prefd_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
146 UINT model_casb3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
147 UINT model_casb3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
148 UINT model_cash3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
149 UINT model_cash3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
150 UINT model_casw3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
151 UINT model_casw3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
152 UINT model_sbcp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
153 UINT model_sbcp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
154 UINT model_lbcp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
155 UINT model_lbcp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
156 UINT model_lbucp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
157 UINT model_lbucp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
158 UINT model_shcp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
159 UINT model_shcp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
160 UINT model_lhcp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
161 UINT model_lhcp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
162 UINT model_lhucp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
163 UINT model_lhucp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
164 UINT model_lbucpa_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
165 UINT model_lbucpa_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
166 UINT model_lhucpa_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
167 UINT model_lhucpa_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
168 UINT model_lbucpm0_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
169 UINT model_lbucpm0_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
170 UINT model_lhucpm0_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
171 UINT model_lhucpm0_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
172 UINT model_lbucpm1_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
173 UINT model_lbucpm1_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
174 UINT model_lhucpm1_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
175 UINT model_lhucpm1_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
176 UINT model_uci_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
177 UINT model_uci_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
178 UINT model_dsp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
179 UINT model_dsp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
180 UINT model_sb_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
181 UINT model_sb_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
182 UINT model_sh_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
183 UINT model_sh_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
184 UINT model_sw_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
185 UINT model_sw_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
186 UINT model_lb_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
187 UINT model_lb_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
188 UINT model_lh_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
189 UINT model_lh_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
190 UINT model_lw_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
191 UINT model_lw_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
192 UINT model_lbu_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
193 UINT model_lbu_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
194 UINT model_lhu_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
195 UINT model_lhu_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
196 UINT model_sw_sp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
197 UINT model_sw_sp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
198 UINT model_lw_sp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
199 UINT model_lw_sp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
200 UINT model_sb_tp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
201 UINT model_sb_tp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
202 UINT model_sh_tp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
203 UINT model_sh_tp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
204 UINT model_sw_tp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
205 UINT model_sw_tp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
206 UINT model_lb_tp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
207 UINT model_lb_tp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
208 UINT model_lh_tp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
209 UINT model_lh_tp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
210 UINT model_lw_tp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
211 UINT model_lw_tp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
212 UINT model_lbu_tp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
213 UINT model_lbu_tp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
214 UINT model_lhu_tp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
215 UINT model_lhu_tp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
216 UINT model_sb16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
217 UINT model_sb16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
218 UINT model_sh16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
219 UINT model_sh16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
220 UINT model_sw16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
221 UINT model_sw16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
222 UINT model_lb16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
223 UINT model_lb16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
224 UINT model_lh16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
225 UINT model_lh16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
226 UINT model_lw16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
227 UINT model_lw16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
228 UINT model_lbu16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
229 UINT model_lbu16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
230 UINT model_lhu16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
231 UINT model_lhu16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
232 UINT model_sw24_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
233 UINT model_sw24_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
234 UINT model_lw24_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
235 UINT model_lw24_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
236 UINT model_extb_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
237 UINT model_extb_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
238 UINT model_exth_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
239 UINT model_exth_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
240 UINT model_extub_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
241 UINT model_extub_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
242 UINT model_extuh_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
243 UINT model_extuh_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
244 UINT model_ssarb_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
245 UINT model_ssarb_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
246 UINT model_mov_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
247 UINT model_mov_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
248 UINT model_movi8_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
249 UINT model_movi8_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
250 UINT model_movi16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
251 UINT model_movi16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
252 UINT model_movu24_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
253 UINT model_movu24_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
254 UINT model_movu16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
255 UINT model_movu16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
256 UINT model_movh_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
257 UINT model_movh_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
258 UINT model_add3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
259 UINT model_add3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
260 UINT model_add_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
261 UINT model_add_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
262 UINT model_add3i_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
263 UINT model_add3i_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
264 UINT model_advck3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
265 UINT model_advck3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
266 UINT model_sub_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
267 UINT model_sub_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
268 UINT model_sbvck3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
269 UINT model_sbvck3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
270 UINT model_neg_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
271 UINT model_neg_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
272 UINT model_slt3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
273 UINT model_slt3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
274 UINT model_sltu3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
275 UINT model_sltu3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
276 UINT model_slt3i_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
277 UINT model_slt3i_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
278 UINT model_sltu3i_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
279 UINT model_sltu3i_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
280 UINT model_sl1ad3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
281 UINT model_sl1ad3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
282 UINT model_sl2ad3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
283 UINT model_sl2ad3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
284 UINT model_add3x_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
285 UINT model_add3x_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
286 UINT model_slt3x_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
287 UINT model_slt3x_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
288 UINT model_sltu3x_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
289 UINT model_sltu3x_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
290 UINT model_or_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
291 UINT model_or_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
292 UINT model_and_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
293 UINT model_and_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
294 UINT model_xor_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
295 UINT model_xor_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
296 UINT model_nor_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
297 UINT model_nor_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
298 UINT model_or3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
299 UINT model_or3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
300 UINT model_and3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
301 UINT model_and3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
302 UINT model_xor3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
303 UINT model_xor3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
304 UINT model_sra_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
305 UINT model_sra_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
306 UINT model_srl_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
307 UINT model_srl_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
308 UINT model_sll_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
309 UINT model_sll_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
310 UINT model_srai_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
311 UINT model_srai_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
312 UINT model_srli_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
313 UINT model_srli_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
314 UINT model_slli_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
315 UINT model_slli_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
316 UINT model_sll3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
317 UINT model_sll3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
318 UINT model_fsft_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
319 UINT model_fsft_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
320 UINT model_bra_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
321 UINT model_bra_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
322 UINT model_beqz_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
323 UINT model_beqz_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
324 UINT model_bnez_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
325 UINT model_bnez_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
326 UINT model_beqi_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
327 UINT model_beqi_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
328 UINT model_bnei_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
329 UINT model_bnei_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
330 UINT model_blti_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
331 UINT model_blti_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
332 UINT model_bgei_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
333 UINT model_bgei_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
334 UINT model_beq_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
335 UINT model_beq_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
336 UINT model_bne_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
337 UINT model_bne_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
338 UINT model_bsr12_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
339 UINT model_bsr12_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
340 UINT model_bsr24_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
341 UINT model_bsr24_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
342 UINT model_jmp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
343 UINT model_jmp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
344 UINT model_jmp24_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
345 UINT model_jmp24_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
346 UINT model_jsr_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
347 UINT model_jsr_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
348 UINT model_ret_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
349 UINT model_ret_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
350 UINT model_repeat_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
351 UINT model_repeat_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
352 UINT model_erepeat_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
353 UINT model_erepeat_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
354 UINT model_stc_lp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
355 UINT model_stc_lp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
356 UINT model_stc_hi_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
357 UINT model_stc_hi_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
358 UINT model_stc_lo_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
359 UINT model_stc_lo_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
360 UINT model_stc_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
361 UINT model_stc_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
362 UINT model_ldc_lp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
363 UINT model_ldc_lp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
364 UINT model_ldc_hi_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
365 UINT model_ldc_hi_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
366 UINT model_ldc_lo_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
367 UINT model_ldc_lo_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
368 UINT model_ldc_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
369 UINT model_ldc_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
370 UINT model_di_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
371 UINT model_di_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
372 UINT model_ei_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
373 UINT model_ei_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
374 UINT model_reti_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
375 UINT model_reti_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
376 UINT model_halt_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
377 UINT model_halt_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
378 UINT model_sleep_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
379 UINT model_sleep_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
380 UINT model_swi_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
381 UINT model_swi_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
382 UINT model_break_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
383 UINT model_break_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
384 UINT model_syncm_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
385 UINT model_syncm_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
386 UINT model_stcb_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
387 UINT model_stcb_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
388 UINT model_ldcb_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
389 UINT model_ldcb_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
390 UINT model_bsetm_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
391 UINT model_bsetm_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
392 UINT model_bclrm_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
393 UINT model_bclrm_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
394 UINT model_bnotm_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
395 UINT model_bnotm_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
396 UINT model_btstm_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
397 UINT model_btstm_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
398 UINT model_tas_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
399 UINT model_tas_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
400 UINT model_cache_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
401 UINT model_cache_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
402 UINT model_mul_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
403 UINT model_mul_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
404 UINT model_mulu_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
405 UINT model_mulu_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
406 UINT model_mulr_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
407 UINT model_mulr_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
408 UINT model_mulru_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
409 UINT model_mulru_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
410 UINT model_madd_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
411 UINT model_madd_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
412 UINT model_maddu_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
413 UINT model_maddu_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
414 UINT model_maddr_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
415 UINT model_maddr_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
416 UINT model_maddru_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
417 UINT model_maddru_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
418 UINT model_div_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
419 UINT model_div_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
420 UINT model_divu_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
421 UINT model_divu_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
422 UINT model_dret_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
423 UINT model_dret_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
424 UINT model_dbreak_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
425 UINT model_dbreak_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
426 UINT model_ldz_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
427 UINT model_ldz_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
428 UINT model_abs_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
429 UINT model_abs_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
430 UINT model_ave_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
431 UINT model_ave_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
432 UINT model_min_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
433 UINT model_min_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
434 UINT model_max_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
435 UINT model_max_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
436 UINT model_minu_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
437 UINT model_minu_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
438 UINT model_maxu_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
439 UINT model_maxu_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
440 UINT model_clip_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
441 UINT model_clip_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
442 UINT model_clipu_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
443 UINT model_clipu_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
444 UINT model_sadd_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
445 UINT model_sadd_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
446 UINT model_ssub_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
447 UINT model_ssub_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
448 UINT model_saddu_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
449 UINT model_saddu_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
450 UINT model_ssubu_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
451 UINT model_ssubu_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
452 UINT model_swcp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
453 UINT model_swcp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
454 UINT model_lwcp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
455 UINT model_lwcp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
456 UINT model_smcp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
457 UINT model_smcp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
458 UINT model_lmcp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
459 UINT model_lmcp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
460 UINT model_swcpi_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
461 UINT model_swcpi_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
462 UINT model_lwcpi_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
463 UINT model_lwcpi_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
464 UINT model_smcpi_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
465 UINT model_smcpi_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
466 UINT model_lmcpi_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
467 UINT model_lmcpi_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
468 UINT model_swcp16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
469 UINT model_swcp16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
470 UINT model_lwcp16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
471 UINT model_lwcp16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
472 UINT model_smcp16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
473 UINT model_smcp16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
474 UINT model_lmcp16_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
475 UINT model_lmcp16_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
476 UINT model_sbcpa_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
477 UINT model_sbcpa_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
478 UINT model_lbcpa_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
479 UINT model_lbcpa_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
480 UINT model_shcpa_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
481 UINT model_shcpa_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
482 UINT model_lhcpa_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
483 UINT model_lhcpa_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
484 UINT model_swcpa_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
485 UINT model_swcpa_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
486 UINT model_lwcpa_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
487 UINT model_lwcpa_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
488 UINT model_smcpa_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
489 UINT model_smcpa_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
490 UINT model_lmcpa_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
491 UINT model_lmcpa_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
492 UINT model_sbcpm0_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
493 UINT model_sbcpm0_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
494 UINT model_lbcpm0_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
495 UINT model_lbcpm0_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
496 UINT model_shcpm0_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
497 UINT model_shcpm0_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
498 UINT model_lhcpm0_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
499 UINT model_lhcpm0_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
500 UINT model_swcpm0_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
501 UINT model_swcpm0_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
502 UINT model_lwcpm0_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
503 UINT model_lwcpm0_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
504 UINT model_smcpm0_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
505 UINT model_smcpm0_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
506 UINT model_lmcpm0_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
507 UINT model_lmcpm0_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
508 UINT model_sbcpm1_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
509 UINT model_sbcpm1_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
510 UINT model_lbcpm1_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
511 UINT model_lbcpm1_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
512 UINT model_shcpm1_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
513 UINT model_shcpm1_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
514 UINT model_lhcpm1_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
515 UINT model_lhcpm1_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
516 UINT model_swcpm1_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
517 UINT model_swcpm1_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
518 UINT model_lwcpm1_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
519 UINT model_lwcpm1_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
520 UINT model_smcpm1_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
521 UINT model_smcpm1_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
522 UINT model_lmcpm1_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
523 UINT model_lmcpm1_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
524 UINT model_bcpeq_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
525 UINT model_bcpeq_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
526 UINT model_bcpne_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
527 UINT model_bcpne_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
528 UINT model_bcpat_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
529 UINT model_bcpat_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
530 UINT model_bcpaf_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
531 UINT model_bcpaf_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
532 UINT model_synccp_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
533 UINT model_synccp_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
534 UINT model_jsrv_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
535 UINT model_jsrv_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
536 UINT model_bsrv_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
537 UINT model_bsrv_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
538 UINT model_sim_syscall_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
539 UINT model_sim_syscall_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
540 UINT model_ri_0_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
541 UINT model_ri_0_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
542 UINT model_ri_1_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
543 UINT model_ri_1_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
544 UINT model_ri_2_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
545 UINT model_ri_2_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
546 UINT model_ri_3_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
547 UINT model_ri_3_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
548 UINT model_ri_4_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
549 UINT model_ri_4_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
550 UINT model_ri_5_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
551 UINT model_ri_5_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
552 UINT model_ri_6_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
553 UINT model_ri_6_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
554 UINT model_ri_7_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
555 UINT model_ri_7_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
556 UINT model_ri_8_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
557 UINT model_ri_8_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
558 UINT model_ri_9_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
559 UINT model_ri_9_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
560 UINT model_ri_10_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
561 UINT model_ri_10_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
562 UINT model_ri_11_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
563 UINT model_ri_11_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
564 UINT model_ri_12_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
565 UINT model_ri_12_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
566 UINT model_ri_13_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
567 UINT model_ri_13_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
568 UINT model_ri_14_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
569 UINT model_ri_14_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
570 UINT model_ri_15_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
571 UINT model_ri_15_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
572 UINT model_ri_17_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
573 UINT model_ri_17_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
574 UINT model_ri_20_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
575 UINT model_ri_20_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
576 UINT model_ri_21_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
577 UINT model_ri_21_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
578 UINT model_ri_22_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
579 UINT model_ri_22_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
580 UINT model_ri_23_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
581 UINT model_ri_23_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
582 UINT model_ri_26_before (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
583 UINT model_ri_26_after (mep_ext1_cpu *current_cpu, mepcore1_scache *sem);
585 /* Enum declaration for unit types. */
586 typedef enum unit_number {
587 UNIT_NONE, UNIT_U_STORE_CTRL_REG, UNIT_U_USE_CTRL_REG, UNIT_U_USE_GPR
588 , UNIT_U_MUL_GPR, UNIT_U_LDCB_GPR, UNIT_U_LOAD_GPR, UNIT_U_LDCB
589 , UNIT_U_STCB, UNIT_U_DIVIDE, UNIT_U_MULTIPLY, UNIT_U_BRANCH
590 , UNIT_U_EXEC, UNIT_MAX
599 static const int MAX_UNITS = 5;
601 typedef UINT (mepcore1_mep_model::*model_function) (mep_ext1_cpu* current_cpu, mepcore1_scache* sem);
604 // This is an integer that identifies this insn.
606 // Functions to handle insn-specific profiling.
607 model_function model_before;
608 model_function model_after;
609 // Array of function units used by this insn.
610 unit units[MAX_UNITS];
613 static const insn_timing timing[];
616 } // namespace mep_ext1
618 #endif // MEPCORE1_MODEL_H