1 /* Simulator model support for sh2a_nofpu.
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 SH2A_NOFPU_MODEL_H
13 #define SH2A_NOFPU_MODEL_H
16 #include "cgen-model.h"
22 class sh2a_nofpu_sh2a_nofpu_model : public cgen_model
25 sh2a_nofpu_sh2a_nofpu_model (sh2a_nofpu_cpu *cpu);
27 // Call the proper unit modelling function for the given insn.
28 UINT model_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache* sem)
30 return (this->*(timing[sem->idesc->sem_index].model_before)) (current_cpu, sem);
32 UINT model_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_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_mulr_gr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, INT /*loadreg*/)
43 virtual UINT model_u_mulr_gr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced, INT /*loadreg*/)
45 return timing[idesc->sem_index].units[unit_num].done;
47 virtual UINT model_u_mulr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
51 virtual UINT model_u_mulr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
53 return timing[idesc->sem_index].units[unit_num].done;
55 virtual UINT model_u_trap_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
59 virtual UINT model_u_trap_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
61 return timing[idesc->sem_index].units[unit_num].done;
63 virtual UINT model_u_write_back_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
67 virtual UINT model_u_write_back_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
69 return timing[idesc->sem_index].units[unit_num].done;
71 virtual UINT model_u_use_multiply_result_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
75 virtual UINT model_u_use_multiply_result_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
77 return timing[idesc->sem_index].units[unit_num].done;
79 virtual UINT model_u_shift_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
83 virtual UINT model_u_shift_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
85 return timing[idesc->sem_index].units[unit_num].done;
87 virtual UINT model_u_tas_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
91 virtual UINT model_u_tas_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
93 return timing[idesc->sem_index].units[unit_num].done;
95 virtual UINT model_u_mulsw_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
99 virtual UINT model_u_mulsw_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
101 return timing[idesc->sem_index].units[unit_num].done;
103 virtual UINT model_u_mull_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
107 virtual UINT model_u_mull_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
109 return timing[idesc->sem_index].units[unit_num].done;
111 virtual UINT model_u_dmul_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
115 virtual UINT model_u_dmul_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
117 return timing[idesc->sem_index].units[unit_num].done;
119 virtual UINT model_u_macl_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
123 virtual UINT model_u_macl_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
125 return timing[idesc->sem_index].units[unit_num].done;
127 virtual UINT model_u_macw_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
131 virtual UINT model_u_macw_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
133 return timing[idesc->sem_index].units[unit_num].done;
135 virtual UINT model_u_multiply_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
139 virtual UINT model_u_multiply_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
141 return timing[idesc->sem_index].units[unit_num].done;
143 virtual UINT model_u_set_mac_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
147 virtual UINT model_u_set_mac_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
149 return timing[idesc->sem_index].units[unit_num].done;
151 virtual UINT model_u_load_mac_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
155 virtual UINT model_u_load_mac_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
157 return timing[idesc->sem_index].units[unit_num].done;
159 virtual UINT model_u_load_vbr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
163 virtual UINT model_u_load_vbr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
165 return timing[idesc->sem_index].units[unit_num].done;
167 virtual UINT model_u_load_gbr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
171 virtual UINT model_u_load_gbr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
173 return timing[idesc->sem_index].units[unit_num].done;
175 virtual UINT model_u_use_gr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, INT /*usereg*/)
179 virtual UINT model_u_use_gr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced, INT /*usereg*/)
181 return timing[idesc->sem_index].units[unit_num].done;
183 virtual UINT model_u_load_gr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, INT /*loadreg*/)
187 virtual UINT model_u_load_gr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced, INT /*loadreg*/)
189 return timing[idesc->sem_index].units[unit_num].done;
191 virtual UINT model_u_stc_vbr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
195 virtual UINT model_u_stc_vbr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
197 return timing[idesc->sem_index].units[unit_num].done;
199 virtual UINT model_u_ldcl_vbr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
203 virtual UINT model_u_ldcl_vbr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
205 return timing[idesc->sem_index].units[unit_num].done;
207 virtual UINT model_u_ldcl_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
211 virtual UINT model_u_ldcl_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
213 return timing[idesc->sem_index].units[unit_num].done;
215 virtual UINT model_u_use_tbit_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
219 virtual UINT model_u_use_tbit_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
221 return timing[idesc->sem_index].units[unit_num].done;
223 virtual UINT model_u_ldc_gbr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
227 virtual UINT model_u_ldc_gbr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
229 return timing[idesc->sem_index].units[unit_num].done;
231 virtual UINT model_u_ldc_sr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
235 virtual UINT model_u_ldc_sr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
237 return timing[idesc->sem_index].units[unit_num].done;
239 virtual UINT model_u_set_sr_bit_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
243 virtual UINT model_u_set_sr_bit_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
245 return timing[idesc->sem_index].units[unit_num].done;
247 virtual UINT model_u_use_pr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
251 virtual UINT model_u_use_pr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
253 return timing[idesc->sem_index].units[unit_num].done;
255 virtual UINT model_u_load_pr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
259 virtual UINT model_u_load_pr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
261 return timing[idesc->sem_index].units[unit_num].done;
263 virtual UINT model_u_sts_pr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
267 virtual UINT model_u_sts_pr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
269 return timing[idesc->sem_index].units[unit_num].done;
271 virtual UINT model_u_lds_pr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
275 virtual UINT model_u_lds_pr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
277 return timing[idesc->sem_index].units[unit_num].done;
279 virtual UINT model_u_memory_access_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
283 virtual UINT model_u_memory_access_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
285 return timing[idesc->sem_index].units[unit_num].done;
287 virtual UINT model_u_logic_b_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
291 virtual UINT model_u_logic_b_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
293 return timing[idesc->sem_index].units[unit_num].done;
295 virtual UINT model_u_jsr_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
299 virtual UINT model_u_jsr_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
301 return timing[idesc->sem_index].units[unit_num].done;
303 virtual UINT model_u_jmp_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
307 virtual UINT model_u_jmp_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
309 return timing[idesc->sem_index].units[unit_num].done;
311 virtual UINT model_u_branch_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
315 virtual UINT model_u_branch_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
317 return timing[idesc->sem_index].units[unit_num].done;
319 virtual UINT model_u_sx_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
323 virtual UINT model_u_sx_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
325 return timing[idesc->sem_index].units[unit_num].done;
327 virtual UINT model_u_exec_before (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num)
331 virtual UINT model_u_exec_after (sh2a_nofpu_cpu *cpu, const struct sh2a_nofpu_idesc *idesc, int unit_num, unsigned long long referenced)
333 return timing[idesc->sem_index].units[unit_num].done;
337 // These methods call the appropriate unit modeller(s) for each insn.
338 UINT model_add_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
339 UINT model_add_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
340 UINT model_addi_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
341 UINT model_addi_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
342 UINT model_addc_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
343 UINT model_addc_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
344 UINT model_addv_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
345 UINT model_addv_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
346 UINT model_and_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
347 UINT model_and_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
348 UINT model_andi_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
349 UINT model_andi_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
350 UINT model_andb_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
351 UINT model_andb_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
352 UINT model_bf_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
353 UINT model_bf_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
354 UINT model_bfs_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
355 UINT model_bfs_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
356 UINT model_bra_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
357 UINT model_bra_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
358 UINT model_braf_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
359 UINT model_braf_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
360 UINT model_bsr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
361 UINT model_bsr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
362 UINT model_bsrf_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
363 UINT model_bsrf_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
364 UINT model_bt_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
365 UINT model_bt_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
366 UINT model_bts_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
367 UINT model_bts_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
368 UINT model_clrmac_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
369 UINT model_clrmac_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
370 UINT model_clrt_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
371 UINT model_clrt_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
372 UINT model_cmpeq_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
373 UINT model_cmpeq_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
374 UINT model_cmpeqi_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
375 UINT model_cmpeqi_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
376 UINT model_cmpge_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
377 UINT model_cmpge_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
378 UINT model_cmpgt_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
379 UINT model_cmpgt_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
380 UINT model_cmphi_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
381 UINT model_cmphi_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
382 UINT model_cmphs_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
383 UINT model_cmphs_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
384 UINT model_cmppl_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
385 UINT model_cmppl_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
386 UINT model_cmppz_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
387 UINT model_cmppz_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
388 UINT model_cmpstr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
389 UINT model_cmpstr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
390 UINT model_div0s_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
391 UINT model_div0s_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
392 UINT model_div0u_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
393 UINT model_div0u_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
394 UINT model_div1_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
395 UINT model_div1_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
396 UINT model_divu_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
397 UINT model_divu_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
398 UINT model_mulr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
399 UINT model_mulr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
400 UINT model_dmulsl_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
401 UINT model_dmulsl_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
402 UINT model_dmulul_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
403 UINT model_dmulul_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
404 UINT model_dt_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
405 UINT model_dt_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
406 UINT model_extsb_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
407 UINT model_extsb_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
408 UINT model_extsw_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
409 UINT model_extsw_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
410 UINT model_extub_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
411 UINT model_extub_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
412 UINT model_extuw_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
413 UINT model_extuw_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
414 UINT model_frchg_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
415 UINT model_frchg_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
416 UINT model_fschg_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
417 UINT model_fschg_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
418 UINT model_jmp_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
419 UINT model_jmp_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
420 UINT model_jsr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
421 UINT model_jsr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
422 UINT model_ldc_gbr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
423 UINT model_ldc_gbr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
424 UINT model_ldc_vbr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
425 UINT model_ldc_vbr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
426 UINT model_ldc_sr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
427 UINT model_ldc_sr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
428 UINT model_ldcl_gbr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
429 UINT model_ldcl_gbr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
430 UINT model_ldcl_vbr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
431 UINT model_ldcl_vbr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
432 UINT model_lds_mach_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
433 UINT model_lds_mach_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
434 UINT model_ldsl_mach_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
435 UINT model_ldsl_mach_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
436 UINT model_lds_macl_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
437 UINT model_lds_macl_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
438 UINT model_ldsl_macl_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
439 UINT model_ldsl_macl_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
440 UINT model_lds_pr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
441 UINT model_lds_pr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
442 UINT model_ldsl_pr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
443 UINT model_ldsl_pr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
444 UINT model_macl_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
445 UINT model_macl_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
446 UINT model_macw_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
447 UINT model_macw_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
448 UINT model_mov_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
449 UINT model_mov_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
450 UINT model_movi_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
451 UINT model_movi_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
452 UINT model_movi20_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
453 UINT model_movi20_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
454 UINT model_movb1_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
455 UINT model_movb1_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
456 UINT model_movb2_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
457 UINT model_movb2_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
458 UINT model_movb3_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
459 UINT model_movb3_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
460 UINT model_movb4_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
461 UINT model_movb4_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
462 UINT model_movb5_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
463 UINT model_movb5_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
464 UINT model_movb6_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
465 UINT model_movb6_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
466 UINT model_movb7_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
467 UINT model_movb7_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
468 UINT model_movb8_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
469 UINT model_movb8_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
470 UINT model_movb9_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
471 UINT model_movb9_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
472 UINT model_movb10_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
473 UINT model_movb10_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
474 UINT model_movl1_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
475 UINT model_movl1_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
476 UINT model_movl2_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
477 UINT model_movl2_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
478 UINT model_movl3_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
479 UINT model_movl3_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
480 UINT model_movl4_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
481 UINT model_movl4_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
482 UINT model_movl5_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
483 UINT model_movl5_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
484 UINT model_movl6_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
485 UINT model_movl6_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
486 UINT model_movl7_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
487 UINT model_movl7_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
488 UINT model_movl8_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
489 UINT model_movl8_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
490 UINT model_movl9_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
491 UINT model_movl9_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
492 UINT model_movl10_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
493 UINT model_movl10_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
494 UINT model_movl11_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
495 UINT model_movl11_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
496 UINT model_movl12_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
497 UINT model_movl12_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
498 UINT model_movl13_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
499 UINT model_movl13_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
500 UINT model_movw1_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
501 UINT model_movw1_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
502 UINT model_movw2_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
503 UINT model_movw2_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
504 UINT model_movw3_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
505 UINT model_movw3_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
506 UINT model_movw4_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
507 UINT model_movw4_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
508 UINT model_movw5_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
509 UINT model_movw5_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
510 UINT model_movw6_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
511 UINT model_movw6_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
512 UINT model_movw7_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
513 UINT model_movw7_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
514 UINT model_movw8_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
515 UINT model_movw8_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
516 UINT model_movw9_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
517 UINT model_movw9_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
518 UINT model_movw10_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
519 UINT model_movw10_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
520 UINT model_movw11_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
521 UINT model_movw11_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
522 UINT model_mova_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
523 UINT model_mova_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
524 UINT model_movt_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
525 UINT model_movt_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
526 UINT model_mull_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
527 UINT model_mull_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
528 UINT model_mulsw_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
529 UINT model_mulsw_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
530 UINT model_muluw_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
531 UINT model_muluw_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
532 UINT model_neg_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
533 UINT model_neg_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
534 UINT model_negc_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
535 UINT model_negc_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
536 UINT model_nop_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
537 UINT model_nop_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
538 UINT model_not_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
539 UINT model_not_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
540 UINT model_or_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
541 UINT model_or_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
542 UINT model_ori_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
543 UINT model_ori_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
544 UINT model_orb_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
545 UINT model_orb_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
546 UINT model_rotcl_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
547 UINT model_rotcl_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
548 UINT model_rotcr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
549 UINT model_rotcr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
550 UINT model_rotl_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
551 UINT model_rotl_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
552 UINT model_rotr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
553 UINT model_rotr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
554 UINT model_rts_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
555 UINT model_rts_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
556 UINT model_sett_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
557 UINT model_sett_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
558 UINT model_shad_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
559 UINT model_shad_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
560 UINT model_shal_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
561 UINT model_shal_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
562 UINT model_shar_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
563 UINT model_shar_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
564 UINT model_shll_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
565 UINT model_shll_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
566 UINT model_shll2_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
567 UINT model_shll2_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
568 UINT model_shll8_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
569 UINT model_shll8_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
570 UINT model_shll16_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
571 UINT model_shll16_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
572 UINT model_shlr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
573 UINT model_shlr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
574 UINT model_shlr2_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
575 UINT model_shlr2_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
576 UINT model_shlr8_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
577 UINT model_shlr8_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
578 UINT model_shlr16_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
579 UINT model_shlr16_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
580 UINT model_stc_gbr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
581 UINT model_stc_gbr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
582 UINT model_stc_vbr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
583 UINT model_stc_vbr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
584 UINT model_stcl_gbr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
585 UINT model_stcl_gbr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
586 UINT model_stcl_vbr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
587 UINT model_stcl_vbr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
588 UINT model_sts_mach_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
589 UINT model_sts_mach_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
590 UINT model_stsl_mach_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
591 UINT model_stsl_mach_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
592 UINT model_sts_macl_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
593 UINT model_sts_macl_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
594 UINT model_stsl_macl_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
595 UINT model_stsl_macl_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
596 UINT model_sts_pr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
597 UINT model_sts_pr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
598 UINT model_stsl_pr_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
599 UINT model_stsl_pr_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
600 UINT model_sub_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
601 UINT model_sub_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
602 UINT model_subc_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
603 UINT model_subc_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
604 UINT model_subv_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
605 UINT model_subv_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
606 UINT model_swapb_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
607 UINT model_swapb_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
608 UINT model_swapw_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
609 UINT model_swapw_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
610 UINT model_tasb_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
611 UINT model_tasb_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
612 UINT model_trapa_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
613 UINT model_trapa_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
614 UINT model_tst_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
615 UINT model_tst_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
616 UINT model_tsti_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
617 UINT model_tsti_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
618 UINT model_tstb_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
619 UINT model_tstb_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
620 UINT model_xor_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
621 UINT model_xor_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
622 UINT model_xori_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
623 UINT model_xori_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
624 UINT model_xorb_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
625 UINT model_xorb_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
626 UINT model_xtrct_compact_before (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
627 UINT model_xtrct_compact_after (sh2a_nofpu_cpu *current_cpu, sh2a_nofpu_scache *sem);
629 /* Enum declaration for unit types. */
630 typedef enum unit_number {
631 UNIT_NONE, UNIT_U_MULR_GR, UNIT_U_MULR, UNIT_U_TRAP
632 , UNIT_U_WRITE_BACK, UNIT_U_USE_MULTIPLY_RESULT, UNIT_U_SHIFT, UNIT_U_TAS
633 , UNIT_U_MULSW, UNIT_U_MULL, UNIT_U_DMUL, UNIT_U_MACL
634 , UNIT_U_MACW, UNIT_U_MULTIPLY, UNIT_U_SET_MAC, UNIT_U_LOAD_MAC
635 , UNIT_U_LOAD_VBR, UNIT_U_LOAD_GBR, UNIT_U_USE_GR, UNIT_U_LOAD_GR
636 , UNIT_U_STC_VBR, UNIT_U_LDCL_VBR, UNIT_U_LDCL, UNIT_U_USE_TBIT
637 , UNIT_U_LDC_GBR, UNIT_U_LDC_SR, UNIT_U_SET_SR_BIT, UNIT_U_USE_PR
638 , UNIT_U_LOAD_PR, UNIT_U_STS_PR, UNIT_U_LDS_PR, UNIT_U_MEMORY_ACCESS
639 , UNIT_U_LOGIC_B, UNIT_U_JSR, UNIT_U_JMP, UNIT_U_BRANCH
640 , UNIT_U_SX, UNIT_U_EXEC, UNIT_MAX
649 static const int MAX_UNITS = 6;
651 typedef UINT (sh2a_nofpu_sh2a_nofpu_model::*model_function) (sh2a_nofpu_cpu* current_cpu, sh2a_nofpu_scache* sem);
654 // This is an integer that identifies this insn.
656 // Functions to handle insn-specific profiling.
657 model_function model_before;
658 model_function model_after;
659 // Array of function units used by this insn.
660 unit units[MAX_UNITS];
663 static const insn_timing timing[];
666 } // namespace sh2a_nofpu
668 #endif // SH2A_NOFPU_MODEL_H