1 /* Simulator model support for sh2.
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.
18 using namespace sh2; // FIXME: namespace organization still wip
20 /* The profiling data is recorded here, but is accessed via the profiling
21 mechanism. After all, this is information for profiling. */
23 /* Model handlers for each insn. */
25 sh2_sh2_model::sh2_sh2_model (sh2_cpu *cpu)
31 sh2_sh2_model::model_add_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
33 #define FLD(f) abuf->fields.sfmt_macl_compact.f
34 const sh2_scache* abuf = sem;
35 const sh2_idesc* idesc = abuf->idesc;
39 in_usereg = FLD (in_rn);
40 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
44 in_usereg = FLD (in_rm);
45 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
48 cycles += model_u_exec_before (current_cpu, idesc, 2);
55 sh2_sh2_model::model_add_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
57 #define FLD(f) abuf->fields.sfmt_macl_compact.f
58 const sh2_scache* abuf = sem;
59 const sh2_idesc* idesc = abuf->idesc;
63 unsigned long long insn_referenced = abuf->written;
65 in_usereg = FLD (in_rn);
66 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
70 unsigned long long insn_referenced = abuf->written;
72 in_usereg = FLD (in_rm);
73 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
77 unsigned long long insn_referenced = abuf->written;
78 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
85 sh2_sh2_model::model_addi_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
87 #define FLD(f) abuf->fields.sfmt_addi_compact.f
88 const sh2_scache* abuf = sem;
89 const sh2_idesc* idesc = abuf->idesc;
93 in_usereg = FLD (in_rn);
94 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
97 cycles += model_u_exec_before (current_cpu, idesc, 1);
104 sh2_sh2_model::model_addi_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
106 #define FLD(f) abuf->fields.sfmt_addi_compact.f
107 const sh2_scache* abuf = sem;
108 const sh2_idesc* idesc = abuf->idesc;
112 unsigned long long insn_referenced = abuf->written;
114 in_usereg = FLD (in_rn);
115 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
119 unsigned long long insn_referenced = abuf->written;
120 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
127 sh2_sh2_model::model_addc_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
129 #define FLD(f) abuf->fields.sfmt_macl_compact.f
130 const sh2_scache* abuf = sem;
131 const sh2_idesc* idesc = abuf->idesc;
135 in_usereg = FLD (in_rn);
136 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
140 in_usereg = FLD (in_rm);
141 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
144 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
147 cycles += model_u_exec_before (current_cpu, idesc, 3);
150 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
157 sh2_sh2_model::model_addc_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
159 #define FLD(f) abuf->fields.sfmt_macl_compact.f
160 const sh2_scache* abuf = sem;
161 const sh2_idesc* idesc = abuf->idesc;
165 unsigned long long insn_referenced = abuf->written;
167 in_usereg = FLD (in_rn);
168 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
172 unsigned long long insn_referenced = abuf->written;
174 in_usereg = FLD (in_rm);
175 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
179 unsigned long long insn_referenced = abuf->written;
180 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
184 unsigned long long insn_referenced = abuf->written;
185 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
189 unsigned long long insn_referenced = abuf->written;
190 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
197 sh2_sh2_model::model_addv_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
199 #define FLD(f) abuf->fields.sfmt_macl_compact.f
200 const sh2_scache* abuf = sem;
201 const sh2_idesc* idesc = abuf->idesc;
205 in_usereg = FLD (in_rn);
206 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
210 in_usereg = FLD (in_rm);
211 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
214 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
217 cycles += model_u_exec_before (current_cpu, idesc, 3);
220 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
227 sh2_sh2_model::model_addv_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
229 #define FLD(f) abuf->fields.sfmt_macl_compact.f
230 const sh2_scache* abuf = sem;
231 const sh2_idesc* idesc = abuf->idesc;
235 unsigned long long insn_referenced = abuf->written;
237 in_usereg = FLD (in_rn);
238 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
242 unsigned long long insn_referenced = abuf->written;
244 in_usereg = FLD (in_rm);
245 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
249 unsigned long long insn_referenced = abuf->written;
250 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
254 unsigned long long insn_referenced = abuf->written;
255 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
259 unsigned long long insn_referenced = abuf->written;
260 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
267 sh2_sh2_model::model_and_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
269 #define FLD(f) abuf->fields.sfmt_and_compact.f
270 const sh2_scache* abuf = sem;
271 const sh2_idesc* idesc = abuf->idesc;
275 in_usereg = FLD (in_rn64);
276 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
280 in_usereg = FLD (in_rm64);
281 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
284 cycles += model_u_exec_before (current_cpu, idesc, 2);
291 sh2_sh2_model::model_and_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
293 #define FLD(f) abuf->fields.sfmt_and_compact.f
294 const sh2_scache* abuf = sem;
295 const sh2_idesc* idesc = abuf->idesc;
299 unsigned long long insn_referenced = abuf->written;
301 in_usereg = FLD (in_rn64);
302 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
306 unsigned long long insn_referenced = abuf->written;
308 in_usereg = FLD (in_rm64);
309 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
313 unsigned long long insn_referenced = abuf->written;
314 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
321 sh2_sh2_model::model_andi_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
323 #define FLD(f) abuf->fields.sfmt_andi_compact.f
324 const sh2_scache* abuf = sem;
325 const sh2_idesc* idesc = abuf->idesc;
329 in_usereg = FLD (in_r0);
330 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
333 cycles += model_u_exec_before (current_cpu, idesc, 1);
340 sh2_sh2_model::model_andi_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
342 #define FLD(f) abuf->fields.sfmt_andi_compact.f
343 const sh2_scache* abuf = sem;
344 const sh2_idesc* idesc = abuf->idesc;
348 unsigned long long insn_referenced = abuf->written;
350 in_usereg = FLD (in_r0);
351 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
355 unsigned long long insn_referenced = abuf->written;
356 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
363 sh2_sh2_model::model_andb_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
365 #define FLD(f) abuf->fields.sfmt_andi_compact.f
366 const sh2_scache* abuf = sem;
367 const sh2_idesc* idesc = abuf->idesc;
371 in_usereg = FLD (in_r0);
372 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
375 cycles += model_u_logic_b_before (current_cpu, idesc, 1);
378 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
385 sh2_sh2_model::model_andb_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
387 #define FLD(f) abuf->fields.sfmt_andi_compact.f
388 const sh2_scache* abuf = sem;
389 const sh2_idesc* idesc = abuf->idesc;
393 unsigned long long insn_referenced = abuf->written;
395 in_usereg = FLD (in_r0);
396 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
400 unsigned long long insn_referenced = abuf->written;
401 cycles += model_u_logic_b_after (current_cpu, idesc, 1, referenced);
405 unsigned long long insn_referenced = abuf->written;
406 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
413 sh2_sh2_model::model_bf_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
415 #define FLD(f) abuf->fields.sfmt_bf_compact.f
416 const sh2_scache* abuf = sem;
417 const sh2_idesc* idesc = abuf->idesc;
420 cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
423 cycles += model_u_branch_before (current_cpu, idesc, 1);
430 sh2_sh2_model::model_bf_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
432 #define FLD(f) abuf->fields.sfmt_bf_compact.f
433 const sh2_scache* abuf = sem;
434 const sh2_idesc* idesc = abuf->idesc;
438 unsigned long long insn_referenced = abuf->written;
439 cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
443 unsigned long long insn_referenced = abuf->written;
444 if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
445 cycles += model_u_branch_after (current_cpu, idesc, 1, referenced);
452 sh2_sh2_model::model_bfs_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
454 #define FLD(f) abuf->fields.sfmt_bf_compact.f
455 const sh2_scache* abuf = sem;
456 const sh2_idesc* idesc = abuf->idesc;
459 cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
462 cycles += model_u_branch_before (current_cpu, idesc, 1);
469 sh2_sh2_model::model_bfs_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
471 #define FLD(f) abuf->fields.sfmt_bf_compact.f
472 const sh2_scache* abuf = sem;
473 const sh2_idesc* idesc = abuf->idesc;
477 unsigned long long insn_referenced = abuf->written;
478 cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
482 unsigned long long insn_referenced = abuf->written;
483 if (insn_referenced & (1 << 3)) referenced |= 1 << 0;
484 cycles += model_u_branch_after (current_cpu, idesc, 1, referenced);
491 sh2_sh2_model::model_bra_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
493 #define FLD(f) abuf->fields.sfmt_bra_compact.f
494 const sh2_scache* abuf = sem;
495 const sh2_idesc* idesc = abuf->idesc;
498 cycles += model_u_branch_before (current_cpu, idesc, 0);
505 sh2_sh2_model::model_bra_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
507 #define FLD(f) abuf->fields.sfmt_bra_compact.f
508 const sh2_scache* abuf = sem;
509 const sh2_idesc* idesc = abuf->idesc;
513 unsigned long long insn_referenced = abuf->written;
514 referenced |= 1 << 0;
515 cycles += model_u_branch_after (current_cpu, idesc, 0, referenced);
522 sh2_sh2_model::model_braf_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
524 #define FLD(f) abuf->fields.sfmt_addi_compact.f
525 const sh2_scache* abuf = sem;
526 const sh2_idesc* idesc = abuf->idesc;
530 in_usereg = FLD (in_rn);
531 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
534 cycles += model_u_jmp_before (current_cpu, idesc, 1);
541 sh2_sh2_model::model_braf_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
543 #define FLD(f) abuf->fields.sfmt_addi_compact.f
544 const sh2_scache* abuf = sem;
545 const sh2_idesc* idesc = abuf->idesc;
549 unsigned long long insn_referenced = abuf->written;
551 in_usereg = FLD (in_rn);
552 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
556 unsigned long long insn_referenced = abuf->written;
557 referenced |= 1 << 0;
558 cycles += model_u_jmp_after (current_cpu, idesc, 1, referenced);
565 sh2_sh2_model::model_bsr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
567 #define FLD(f) abuf->fields.sfmt_bra_compact.f
568 const sh2_scache* abuf = sem;
569 const sh2_idesc* idesc = abuf->idesc;
572 cycles += model_u_branch_before (current_cpu, idesc, 0);
579 sh2_sh2_model::model_bsr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
581 #define FLD(f) abuf->fields.sfmt_bra_compact.f
582 const sh2_scache* abuf = sem;
583 const sh2_idesc* idesc = abuf->idesc;
587 unsigned long long insn_referenced = abuf->written;
588 referenced |= 1 << 0;
589 cycles += model_u_branch_after (current_cpu, idesc, 0, referenced);
596 sh2_sh2_model::model_bsrf_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
598 #define FLD(f) abuf->fields.sfmt_addi_compact.f
599 const sh2_scache* abuf = sem;
600 const sh2_idesc* idesc = abuf->idesc;
604 in_usereg = FLD (in_rn);
605 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
608 cycles += model_u_jsr_before (current_cpu, idesc, 1);
615 sh2_sh2_model::model_bsrf_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
617 #define FLD(f) abuf->fields.sfmt_addi_compact.f
618 const sh2_scache* abuf = sem;
619 const sh2_idesc* idesc = abuf->idesc;
623 unsigned long long insn_referenced = abuf->written;
625 in_usereg = FLD (in_rn);
626 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
630 unsigned long long insn_referenced = abuf->written;
631 referenced |= 1 << 0;
632 cycles += model_u_jsr_after (current_cpu, idesc, 1, referenced);
639 sh2_sh2_model::model_bt_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
641 #define FLD(f) abuf->fields.sfmt_bf_compact.f
642 const sh2_scache* abuf = sem;
643 const sh2_idesc* idesc = abuf->idesc;
646 cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
649 cycles += model_u_branch_before (current_cpu, idesc, 1);
656 sh2_sh2_model::model_bt_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
658 #define FLD(f) abuf->fields.sfmt_bf_compact.f
659 const sh2_scache* abuf = sem;
660 const sh2_idesc* idesc = abuf->idesc;
664 unsigned long long insn_referenced = abuf->written;
665 cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
669 unsigned long long insn_referenced = abuf->written;
670 if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
671 cycles += model_u_branch_after (current_cpu, idesc, 1, referenced);
678 sh2_sh2_model::model_bts_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
680 #define FLD(f) abuf->fields.sfmt_bf_compact.f
681 const sh2_scache* abuf = sem;
682 const sh2_idesc* idesc = abuf->idesc;
685 cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
688 cycles += model_u_branch_before (current_cpu, idesc, 1);
695 sh2_sh2_model::model_bts_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
697 #define FLD(f) abuf->fields.sfmt_bf_compact.f
698 const sh2_scache* abuf = sem;
699 const sh2_idesc* idesc = abuf->idesc;
703 unsigned long long insn_referenced = abuf->written;
704 cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
708 unsigned long long insn_referenced = abuf->written;
709 if (insn_referenced & (1 << 3)) referenced |= 1 << 0;
710 cycles += model_u_branch_after (current_cpu, idesc, 1, referenced);
717 sh2_sh2_model::model_clrmac_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
719 #define FLD(f) abuf->fields.fmt_empty.f
720 const sh2_scache* abuf = sem;
721 const sh2_idesc* idesc = abuf->idesc;
724 cycles += model_u_use_multiply_result_before (current_cpu, idesc, 0);
727 cycles += model_u_exec_before (current_cpu, idesc, 1);
730 cycles += model_u_set_mac_before (current_cpu, idesc, 2);
737 sh2_sh2_model::model_clrmac_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
739 #define FLD(f) abuf->fields.fmt_empty.f
740 const sh2_scache* abuf = sem;
741 const sh2_idesc* idesc = abuf->idesc;
745 unsigned long long insn_referenced = abuf->written;
746 cycles += model_u_use_multiply_result_after (current_cpu, idesc, 0, referenced);
750 unsigned long long insn_referenced = abuf->written;
751 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
755 unsigned long long insn_referenced = abuf->written;
756 cycles += model_u_set_mac_after (current_cpu, idesc, 2, referenced);
763 sh2_sh2_model::model_clrt_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
765 #define FLD(f) abuf->fields.fmt_empty.f
766 const sh2_scache* abuf = sem;
767 const sh2_idesc* idesc = abuf->idesc;
770 cycles += model_u_exec_before (current_cpu, idesc, 0);
773 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
776 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 2);
783 sh2_sh2_model::model_clrt_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
785 #define FLD(f) abuf->fields.fmt_empty.f
786 const sh2_scache* abuf = sem;
787 const sh2_idesc* idesc = abuf->idesc;
791 unsigned long long insn_referenced = abuf->written;
792 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
796 unsigned long long insn_referenced = abuf->written;
797 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
801 unsigned long long insn_referenced = abuf->written;
802 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 2, referenced);
809 sh2_sh2_model::model_cmpeq_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
811 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
812 const sh2_scache* abuf = sem;
813 const sh2_idesc* idesc = abuf->idesc;
817 in_usereg = FLD (in_rn);
818 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
822 in_usereg = FLD (in_rm);
823 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
826 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
829 cycles += model_u_exec_before (current_cpu, idesc, 3);
832 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
839 sh2_sh2_model::model_cmpeq_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
841 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
842 const sh2_scache* abuf = sem;
843 const sh2_idesc* idesc = abuf->idesc;
847 unsigned long long insn_referenced = abuf->written;
849 in_usereg = FLD (in_rn);
850 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
854 unsigned long long insn_referenced = abuf->written;
856 in_usereg = FLD (in_rm);
857 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
861 unsigned long long insn_referenced = abuf->written;
862 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
866 unsigned long long insn_referenced = abuf->written;
867 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
871 unsigned long long insn_referenced = abuf->written;
872 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
879 sh2_sh2_model::model_cmpeqi_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
881 #define FLD(f) abuf->fields.sfmt_andi_compact.f
882 const sh2_scache* abuf = sem;
883 const sh2_idesc* idesc = abuf->idesc;
887 in_usereg = FLD (in_r0);
888 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
891 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
894 cycles += model_u_exec_before (current_cpu, idesc, 2);
897 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
904 sh2_sh2_model::model_cmpeqi_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
906 #define FLD(f) abuf->fields.sfmt_andi_compact.f
907 const sh2_scache* abuf = sem;
908 const sh2_idesc* idesc = abuf->idesc;
912 unsigned long long insn_referenced = abuf->written;
914 in_usereg = FLD (in_r0);
915 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
919 unsigned long long insn_referenced = abuf->written;
920 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
924 unsigned long long insn_referenced = abuf->written;
925 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
929 unsigned long long insn_referenced = abuf->written;
930 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
937 sh2_sh2_model::model_cmpge_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
939 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
940 const sh2_scache* abuf = sem;
941 const sh2_idesc* idesc = abuf->idesc;
945 in_usereg = FLD (in_rn);
946 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
950 in_usereg = FLD (in_rm);
951 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
954 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
957 cycles += model_u_exec_before (current_cpu, idesc, 3);
960 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
967 sh2_sh2_model::model_cmpge_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
969 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
970 const sh2_scache* abuf = sem;
971 const sh2_idesc* idesc = abuf->idesc;
975 unsigned long long insn_referenced = abuf->written;
977 in_usereg = FLD (in_rn);
978 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
982 unsigned long long insn_referenced = abuf->written;
984 in_usereg = FLD (in_rm);
985 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
989 unsigned long long insn_referenced = abuf->written;
990 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
994 unsigned long long insn_referenced = abuf->written;
995 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
999 unsigned long long insn_referenced = abuf->written;
1000 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1007 sh2_sh2_model::model_cmpgt_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1009 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1010 const sh2_scache* abuf = sem;
1011 const sh2_idesc* idesc = abuf->idesc;
1015 in_usereg = FLD (in_rn);
1016 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1020 in_usereg = FLD (in_rm);
1021 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1024 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1027 cycles += model_u_exec_before (current_cpu, idesc, 3);
1030 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1037 sh2_sh2_model::model_cmpgt_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1039 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1040 const sh2_scache* abuf = sem;
1041 const sh2_idesc* idesc = abuf->idesc;
1045 unsigned long long insn_referenced = abuf->written;
1047 in_usereg = FLD (in_rn);
1048 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1052 unsigned long long insn_referenced = abuf->written;
1054 in_usereg = FLD (in_rm);
1055 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1059 unsigned long long insn_referenced = abuf->written;
1060 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1064 unsigned long long insn_referenced = abuf->written;
1065 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1069 unsigned long long insn_referenced = abuf->written;
1070 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1077 sh2_sh2_model::model_cmphi_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1079 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1080 const sh2_scache* abuf = sem;
1081 const sh2_idesc* idesc = abuf->idesc;
1085 in_usereg = FLD (in_rn);
1086 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1090 in_usereg = FLD (in_rm);
1091 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1094 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1097 cycles += model_u_exec_before (current_cpu, idesc, 3);
1100 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1107 sh2_sh2_model::model_cmphi_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1109 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1110 const sh2_scache* abuf = sem;
1111 const sh2_idesc* idesc = abuf->idesc;
1115 unsigned long long insn_referenced = abuf->written;
1117 in_usereg = FLD (in_rn);
1118 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1122 unsigned long long insn_referenced = abuf->written;
1124 in_usereg = FLD (in_rm);
1125 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1129 unsigned long long insn_referenced = abuf->written;
1130 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1134 unsigned long long insn_referenced = abuf->written;
1135 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1139 unsigned long long insn_referenced = abuf->written;
1140 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1147 sh2_sh2_model::model_cmphs_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1149 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1150 const sh2_scache* abuf = sem;
1151 const sh2_idesc* idesc = abuf->idesc;
1155 in_usereg = FLD (in_rn);
1156 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1160 in_usereg = FLD (in_rm);
1161 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1164 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1167 cycles += model_u_exec_before (current_cpu, idesc, 3);
1170 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1177 sh2_sh2_model::model_cmphs_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1179 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1180 const sh2_scache* abuf = sem;
1181 const sh2_idesc* idesc = abuf->idesc;
1185 unsigned long long insn_referenced = abuf->written;
1187 in_usereg = FLD (in_rn);
1188 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1192 unsigned long long insn_referenced = abuf->written;
1194 in_usereg = FLD (in_rm);
1195 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1199 unsigned long long insn_referenced = abuf->written;
1200 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1204 unsigned long long insn_referenced = abuf->written;
1205 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1209 unsigned long long insn_referenced = abuf->written;
1210 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1217 sh2_sh2_model::model_cmppl_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1219 #define FLD(f) abuf->fields.sfmt_addi_compact.f
1220 const sh2_scache* abuf = sem;
1221 const sh2_idesc* idesc = abuf->idesc;
1225 in_usereg = FLD (in_rn);
1226 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1229 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
1232 cycles += model_u_exec_before (current_cpu, idesc, 2);
1235 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
1242 sh2_sh2_model::model_cmppl_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1244 #define FLD(f) abuf->fields.sfmt_addi_compact.f
1245 const sh2_scache* abuf = sem;
1246 const sh2_idesc* idesc = abuf->idesc;
1250 unsigned long long insn_referenced = abuf->written;
1252 in_usereg = FLD (in_rn);
1253 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1257 unsigned long long insn_referenced = abuf->written;
1258 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
1262 unsigned long long insn_referenced = abuf->written;
1263 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
1267 unsigned long long insn_referenced = abuf->written;
1268 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
1275 sh2_sh2_model::model_cmppz_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1277 #define FLD(f) abuf->fields.sfmt_addi_compact.f
1278 const sh2_scache* abuf = sem;
1279 const sh2_idesc* idesc = abuf->idesc;
1283 in_usereg = FLD (in_rn);
1284 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1287 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
1290 cycles += model_u_exec_before (current_cpu, idesc, 2);
1293 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
1300 sh2_sh2_model::model_cmppz_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1302 #define FLD(f) abuf->fields.sfmt_addi_compact.f
1303 const sh2_scache* abuf = sem;
1304 const sh2_idesc* idesc = abuf->idesc;
1308 unsigned long long insn_referenced = abuf->written;
1310 in_usereg = FLD (in_rn);
1311 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1315 unsigned long long insn_referenced = abuf->written;
1316 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
1320 unsigned long long insn_referenced = abuf->written;
1321 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
1325 unsigned long long insn_referenced = abuf->written;
1326 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
1333 sh2_sh2_model::model_cmpstr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1335 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1336 const sh2_scache* abuf = sem;
1337 const sh2_idesc* idesc = abuf->idesc;
1341 in_usereg = FLD (in_rn);
1342 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1346 in_usereg = FLD (in_rm);
1347 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1350 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1353 cycles += model_u_exec_before (current_cpu, idesc, 3);
1356 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1363 sh2_sh2_model::model_cmpstr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1365 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1366 const sh2_scache* abuf = sem;
1367 const sh2_idesc* idesc = abuf->idesc;
1371 unsigned long long insn_referenced = abuf->written;
1373 in_usereg = FLD (in_rn);
1374 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1378 unsigned long long insn_referenced = abuf->written;
1380 in_usereg = FLD (in_rm);
1381 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1385 unsigned long long insn_referenced = abuf->written;
1386 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1390 unsigned long long insn_referenced = abuf->written;
1391 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1395 unsigned long long insn_referenced = abuf->written;
1396 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1403 sh2_sh2_model::model_div0s_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1405 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1406 const sh2_scache* abuf = sem;
1407 const sh2_idesc* idesc = abuf->idesc;
1411 in_usereg = FLD (in_rn);
1412 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1416 in_usereg = FLD (in_rm);
1417 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1420 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1423 cycles += model_u_exec_before (current_cpu, idesc, 3);
1426 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1433 sh2_sh2_model::model_div0s_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1435 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1436 const sh2_scache* abuf = sem;
1437 const sh2_idesc* idesc = abuf->idesc;
1441 unsigned long long insn_referenced = abuf->written;
1443 in_usereg = FLD (in_rn);
1444 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1448 unsigned long long insn_referenced = abuf->written;
1450 in_usereg = FLD (in_rm);
1451 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1455 unsigned long long insn_referenced = abuf->written;
1456 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1460 unsigned long long insn_referenced = abuf->written;
1461 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1465 unsigned long long insn_referenced = abuf->written;
1466 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1473 sh2_sh2_model::model_div0u_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1475 #define FLD(f) abuf->fields.fmt_empty.f
1476 const sh2_scache* abuf = sem;
1477 const sh2_idesc* idesc = abuf->idesc;
1480 cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
1483 cycles += model_u_exec_before (current_cpu, idesc, 1);
1486 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 2);
1493 sh2_sh2_model::model_div0u_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1495 #define FLD(f) abuf->fields.fmt_empty.f
1496 const sh2_scache* abuf = sem;
1497 const sh2_idesc* idesc = abuf->idesc;
1501 unsigned long long insn_referenced = abuf->written;
1502 cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
1506 unsigned long long insn_referenced = abuf->written;
1507 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1511 unsigned long long insn_referenced = abuf->written;
1512 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 2, referenced);
1519 sh2_sh2_model::model_div1_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1521 #define FLD(f) abuf->fields.sfmt_macl_compact.f
1522 const sh2_scache* abuf = sem;
1523 const sh2_idesc* idesc = abuf->idesc;
1527 in_usereg = FLD (in_rn);
1528 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1532 in_usereg = FLD (in_rm);
1533 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1536 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1539 cycles += model_u_exec_before (current_cpu, idesc, 3);
1542 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1549 sh2_sh2_model::model_div1_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1551 #define FLD(f) abuf->fields.sfmt_macl_compact.f
1552 const sh2_scache* abuf = sem;
1553 const sh2_idesc* idesc = abuf->idesc;
1557 unsigned long long insn_referenced = abuf->written;
1559 in_usereg = FLD (in_rn);
1560 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1564 unsigned long long insn_referenced = abuf->written;
1566 in_usereg = FLD (in_rm);
1567 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1571 unsigned long long insn_referenced = abuf->written;
1572 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1576 unsigned long long insn_referenced = abuf->written;
1577 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1581 unsigned long long insn_referenced = abuf->written;
1582 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1589 sh2_sh2_model::model_dmulsl_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1591 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1592 const sh2_scache* abuf = sem;
1593 const sh2_idesc* idesc = abuf->idesc;
1597 in_usereg = FLD (in_rn);
1598 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1602 in_usereg = FLD (in_rm);
1603 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1606 cycles += model_u_dmul_before (current_cpu, idesc, 2);
1613 sh2_sh2_model::model_dmulsl_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1615 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1616 const sh2_scache* abuf = sem;
1617 const sh2_idesc* idesc = abuf->idesc;
1621 unsigned long long insn_referenced = abuf->written;
1623 in_usereg = FLD (in_rn);
1624 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1628 unsigned long long insn_referenced = abuf->written;
1630 in_usereg = FLD (in_rm);
1631 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1635 unsigned long long insn_referenced = abuf->written;
1636 cycles += model_u_dmul_after (current_cpu, idesc, 2, referenced);
1643 sh2_sh2_model::model_dmulul_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1645 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1646 const sh2_scache* abuf = sem;
1647 const sh2_idesc* idesc = abuf->idesc;
1651 in_usereg = FLD (in_rn);
1652 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1656 in_usereg = FLD (in_rm);
1657 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1660 cycles += model_u_dmul_before (current_cpu, idesc, 2);
1667 sh2_sh2_model::model_dmulul_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1669 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1670 const sh2_scache* abuf = sem;
1671 const sh2_idesc* idesc = abuf->idesc;
1675 unsigned long long insn_referenced = abuf->written;
1677 in_usereg = FLD (in_rn);
1678 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1682 unsigned long long insn_referenced = abuf->written;
1684 in_usereg = FLD (in_rm);
1685 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1689 unsigned long long insn_referenced = abuf->written;
1690 cycles += model_u_dmul_after (current_cpu, idesc, 2, referenced);
1697 sh2_sh2_model::model_dt_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1699 #define FLD(f) abuf->fields.sfmt_addi_compact.f
1700 const sh2_scache* abuf = sem;
1701 const sh2_idesc* idesc = abuf->idesc;
1705 in_usereg = FLD (in_rn);
1706 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1709 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
1712 cycles += model_u_exec_before (current_cpu, idesc, 2);
1715 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
1722 sh2_sh2_model::model_dt_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1724 #define FLD(f) abuf->fields.sfmt_addi_compact.f
1725 const sh2_scache* abuf = sem;
1726 const sh2_idesc* idesc = abuf->idesc;
1730 unsigned long long insn_referenced = abuf->written;
1732 in_usereg = FLD (in_rn);
1733 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1737 unsigned long long insn_referenced = abuf->written;
1738 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
1742 unsigned long long insn_referenced = abuf->written;
1743 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
1747 unsigned long long insn_referenced = abuf->written;
1748 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
1755 sh2_sh2_model::model_extsb_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1757 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1758 const sh2_scache* abuf = sem;
1759 const sh2_idesc* idesc = abuf->idesc;
1763 in_usereg = FLD (in_rm);
1764 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1767 cycles += model_u_exec_before (current_cpu, idesc, 1);
1770 cycles += model_u_shift_before (current_cpu, idesc, 2);
1777 sh2_sh2_model::model_extsb_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1779 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1780 const sh2_scache* abuf = sem;
1781 const sh2_idesc* idesc = abuf->idesc;
1785 unsigned long long insn_referenced = abuf->written;
1787 in_usereg = FLD (in_rm);
1788 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1792 unsigned long long insn_referenced = abuf->written;
1793 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1797 unsigned long long insn_referenced = abuf->written;
1798 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
1805 sh2_sh2_model::model_extsw_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1807 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1808 const sh2_scache* abuf = sem;
1809 const sh2_idesc* idesc = abuf->idesc;
1813 in_usereg = FLD (in_rm);
1814 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1817 cycles += model_u_exec_before (current_cpu, idesc, 1);
1820 cycles += model_u_shift_before (current_cpu, idesc, 2);
1827 sh2_sh2_model::model_extsw_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1829 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1830 const sh2_scache* abuf = sem;
1831 const sh2_idesc* idesc = abuf->idesc;
1835 unsigned long long insn_referenced = abuf->written;
1837 in_usereg = FLD (in_rm);
1838 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1842 unsigned long long insn_referenced = abuf->written;
1843 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1847 unsigned long long insn_referenced = abuf->written;
1848 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
1855 sh2_sh2_model::model_extub_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1857 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1858 const sh2_scache* abuf = sem;
1859 const sh2_idesc* idesc = abuf->idesc;
1863 in_usereg = FLD (in_rm);
1864 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1867 cycles += model_u_exec_before (current_cpu, idesc, 1);
1870 cycles += model_u_shift_before (current_cpu, idesc, 2);
1877 sh2_sh2_model::model_extub_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1879 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1880 const sh2_scache* abuf = sem;
1881 const sh2_idesc* idesc = abuf->idesc;
1885 unsigned long long insn_referenced = abuf->written;
1887 in_usereg = FLD (in_rm);
1888 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1892 unsigned long long insn_referenced = abuf->written;
1893 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1897 unsigned long long insn_referenced = abuf->written;
1898 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
1905 sh2_sh2_model::model_extuw_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1907 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1908 const sh2_scache* abuf = sem;
1909 const sh2_idesc* idesc = abuf->idesc;
1913 in_usereg = FLD (in_rm);
1914 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1917 cycles += model_u_exec_before (current_cpu, idesc, 1);
1920 cycles += model_u_shift_before (current_cpu, idesc, 2);
1927 sh2_sh2_model::model_extuw_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1929 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1930 const sh2_scache* abuf = sem;
1931 const sh2_idesc* idesc = abuf->idesc;
1935 unsigned long long insn_referenced = abuf->written;
1937 in_usereg = FLD (in_rm);
1938 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1942 unsigned long long insn_referenced = abuf->written;
1943 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1947 unsigned long long insn_referenced = abuf->written;
1948 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
1955 sh2_sh2_model::model_frchg_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1957 #define FLD(f) abuf->fields.fmt_empty.f
1958 const sh2_scache* abuf = sem;
1959 const sh2_idesc* idesc = abuf->idesc;
1962 cycles += model_u_exec_before (current_cpu, idesc, 0);
1969 sh2_sh2_model::model_frchg_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
1971 #define FLD(f) abuf->fields.fmt_empty.f
1972 const sh2_scache* abuf = sem;
1973 const sh2_idesc* idesc = abuf->idesc;
1977 unsigned long long insn_referenced = abuf->written;
1978 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1985 sh2_sh2_model::model_fschg_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
1987 #define FLD(f) abuf->fields.fmt_empty.f
1988 const sh2_scache* abuf = sem;
1989 const sh2_idesc* idesc = abuf->idesc;
1992 cycles += model_u_exec_before (current_cpu, idesc, 0);
1999 sh2_sh2_model::model_fschg_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2001 #define FLD(f) abuf->fields.fmt_empty.f
2002 const sh2_scache* abuf = sem;
2003 const sh2_idesc* idesc = abuf->idesc;
2007 unsigned long long insn_referenced = abuf->written;
2008 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2015 sh2_sh2_model::model_jmp_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2017 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2018 const sh2_scache* abuf = sem;
2019 const sh2_idesc* idesc = abuf->idesc;
2022 cycles += model_u_jmp_before (current_cpu, idesc, 0);
2029 sh2_sh2_model::model_jmp_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2031 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2032 const sh2_scache* abuf = sem;
2033 const sh2_idesc* idesc = abuf->idesc;
2037 unsigned long long insn_referenced = abuf->written;
2038 referenced |= 1 << 0;
2039 cycles += model_u_jmp_after (current_cpu, idesc, 0, referenced);
2046 sh2_sh2_model::model_jsr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2048 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2049 const sh2_scache* abuf = sem;
2050 const sh2_idesc* idesc = abuf->idesc;
2053 cycles += model_u_jsr_before (current_cpu, idesc, 0);
2060 sh2_sh2_model::model_jsr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2062 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2063 const sh2_scache* abuf = sem;
2064 const sh2_idesc* idesc = abuf->idesc;
2068 unsigned long long insn_referenced = abuf->written;
2069 referenced |= 1 << 0;
2070 cycles += model_u_jsr_after (current_cpu, idesc, 0, referenced);
2077 sh2_sh2_model::model_ldc_gbr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2079 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2080 const sh2_scache* abuf = sem;
2081 const sh2_idesc* idesc = abuf->idesc;
2085 in_usereg = FLD (in_rn);
2086 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2089 cycles += model_u_ldc_gbr_before (current_cpu, idesc, 1);
2096 sh2_sh2_model::model_ldc_gbr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2098 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2099 const sh2_scache* abuf = sem;
2100 const sh2_idesc* idesc = abuf->idesc;
2104 unsigned long long insn_referenced = abuf->written;
2106 in_usereg = FLD (in_rn);
2107 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2111 unsigned long long insn_referenced = abuf->written;
2112 cycles += model_u_ldc_gbr_after (current_cpu, idesc, 1, referenced);
2119 sh2_sh2_model::model_ldc_vbr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2121 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2122 const sh2_scache* abuf = sem;
2123 const sh2_idesc* idesc = abuf->idesc;
2127 in_usereg = FLD (in_rn);
2128 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2131 cycles += model_u_exec_before (current_cpu, idesc, 1);
2138 sh2_sh2_model::model_ldc_vbr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2140 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2141 const sh2_scache* abuf = sem;
2142 const sh2_idesc* idesc = abuf->idesc;
2146 unsigned long long insn_referenced = abuf->written;
2148 in_usereg = FLD (in_rn);
2149 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2153 unsigned long long insn_referenced = abuf->written;
2154 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2161 sh2_sh2_model::model_ldc_sr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2163 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2164 const sh2_scache* abuf = sem;
2165 const sh2_idesc* idesc = abuf->idesc;
2169 in_usereg = FLD (in_rn);
2170 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2173 cycles += model_u_ldc_sr_before (current_cpu, idesc, 1);
2180 sh2_sh2_model::model_ldc_sr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2182 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2183 const sh2_scache* abuf = sem;
2184 const sh2_idesc* idesc = abuf->idesc;
2188 unsigned long long insn_referenced = abuf->written;
2190 in_usereg = FLD (in_rn);
2191 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2195 unsigned long long insn_referenced = abuf->written;
2196 cycles += model_u_ldc_sr_after (current_cpu, idesc, 1, referenced);
2203 sh2_sh2_model::model_ldcl_gbr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2205 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2206 const sh2_scache* abuf = sem;
2207 const sh2_idesc* idesc = abuf->idesc;
2211 in_usereg = FLD (in_rn);
2212 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2215 cycles += model_u_ldcl_before (current_cpu, idesc, 1);
2218 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
2221 cycles += model_u_load_gbr_before (current_cpu, idesc, 3);
2228 sh2_sh2_model::model_ldcl_gbr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2230 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2231 const sh2_scache* abuf = sem;
2232 const sh2_idesc* idesc = abuf->idesc;
2236 unsigned long long insn_referenced = abuf->written;
2238 in_usereg = FLD (in_rn);
2239 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2243 unsigned long long insn_referenced = abuf->written;
2244 cycles += model_u_ldcl_after (current_cpu, idesc, 1, referenced);
2248 unsigned long long insn_referenced = abuf->written;
2249 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
2253 unsigned long long insn_referenced = abuf->written;
2254 cycles += model_u_load_gbr_after (current_cpu, idesc, 3, referenced);
2261 sh2_sh2_model::model_ldcl_vbr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2263 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2264 const sh2_scache* abuf = sem;
2265 const sh2_idesc* idesc = abuf->idesc;
2269 in_usereg = FLD (in_rn);
2270 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2273 cycles += model_u_ldcl_vbr_before (current_cpu, idesc, 1);
2276 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
2279 cycles += model_u_load_vbr_before (current_cpu, idesc, 3);
2286 sh2_sh2_model::model_ldcl_vbr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2288 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2289 const sh2_scache* abuf = sem;
2290 const sh2_idesc* idesc = abuf->idesc;
2294 unsigned long long insn_referenced = abuf->written;
2296 in_usereg = FLD (in_rn);
2297 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2301 unsigned long long insn_referenced = abuf->written;
2302 cycles += model_u_ldcl_vbr_after (current_cpu, idesc, 1, referenced);
2306 unsigned long long insn_referenced = abuf->written;
2307 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
2311 unsigned long long insn_referenced = abuf->written;
2312 cycles += model_u_load_vbr_after (current_cpu, idesc, 3, referenced);
2319 sh2_sh2_model::model_lds_mach_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2321 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2322 const sh2_scache* abuf = sem;
2323 const sh2_idesc* idesc = abuf->idesc;
2327 in_usereg = FLD (in_rn);
2328 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2331 cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
2334 cycles += model_u_exec_before (current_cpu, idesc, 2);
2337 cycles += model_u_set_mac_before (current_cpu, idesc, 3);
2344 sh2_sh2_model::model_lds_mach_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2346 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2347 const sh2_scache* abuf = sem;
2348 const sh2_idesc* idesc = abuf->idesc;
2352 unsigned long long insn_referenced = abuf->written;
2354 in_usereg = FLD (in_rn);
2355 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2359 unsigned long long insn_referenced = abuf->written;
2360 cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
2364 unsigned long long insn_referenced = abuf->written;
2365 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2369 unsigned long long insn_referenced = abuf->written;
2370 cycles += model_u_set_mac_after (current_cpu, idesc, 3, referenced);
2377 sh2_sh2_model::model_ldsl_mach_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2379 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2380 const sh2_scache* abuf = sem;
2381 const sh2_idesc* idesc = abuf->idesc;
2385 in_usereg = FLD (in_rn);
2386 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2389 cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
2392 cycles += model_u_exec_before (current_cpu, idesc, 2);
2395 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
2398 cycles += model_u_load_mac_before (current_cpu, idesc, 4);
2405 sh2_sh2_model::model_ldsl_mach_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2407 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2408 const sh2_scache* abuf = sem;
2409 const sh2_idesc* idesc = abuf->idesc;
2413 unsigned long long insn_referenced = abuf->written;
2415 in_usereg = FLD (in_rn);
2416 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2420 unsigned long long insn_referenced = abuf->written;
2421 cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
2425 unsigned long long insn_referenced = abuf->written;
2426 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2430 unsigned long long insn_referenced = abuf->written;
2431 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
2435 unsigned long long insn_referenced = abuf->written;
2436 cycles += model_u_load_mac_after (current_cpu, idesc, 4, referenced);
2443 sh2_sh2_model::model_lds_macl_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2445 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2446 const sh2_scache* abuf = sem;
2447 const sh2_idesc* idesc = abuf->idesc;
2451 in_usereg = FLD (in_rn);
2452 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2455 cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
2458 cycles += model_u_exec_before (current_cpu, idesc, 2);
2461 cycles += model_u_set_mac_before (current_cpu, idesc, 3);
2468 sh2_sh2_model::model_lds_macl_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2470 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2471 const sh2_scache* abuf = sem;
2472 const sh2_idesc* idesc = abuf->idesc;
2476 unsigned long long insn_referenced = abuf->written;
2478 in_usereg = FLD (in_rn);
2479 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2483 unsigned long long insn_referenced = abuf->written;
2484 cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
2488 unsigned long long insn_referenced = abuf->written;
2489 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2493 unsigned long long insn_referenced = abuf->written;
2494 cycles += model_u_set_mac_after (current_cpu, idesc, 3, referenced);
2501 sh2_sh2_model::model_ldsl_macl_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2503 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2504 const sh2_scache* abuf = sem;
2505 const sh2_idesc* idesc = abuf->idesc;
2509 in_usereg = FLD (in_rn);
2510 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2513 cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
2516 cycles += model_u_exec_before (current_cpu, idesc, 2);
2519 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
2522 cycles += model_u_load_mac_before (current_cpu, idesc, 4);
2529 sh2_sh2_model::model_ldsl_macl_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2531 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2532 const sh2_scache* abuf = sem;
2533 const sh2_idesc* idesc = abuf->idesc;
2537 unsigned long long insn_referenced = abuf->written;
2539 in_usereg = FLD (in_rn);
2540 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2544 unsigned long long insn_referenced = abuf->written;
2545 cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
2549 unsigned long long insn_referenced = abuf->written;
2550 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2554 unsigned long long insn_referenced = abuf->written;
2555 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
2559 unsigned long long insn_referenced = abuf->written;
2560 cycles += model_u_load_mac_after (current_cpu, idesc, 4, referenced);
2567 sh2_sh2_model::model_lds_pr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2569 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2570 const sh2_scache* abuf = sem;
2571 const sh2_idesc* idesc = abuf->idesc;
2575 in_usereg = FLD (in_rn);
2576 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2579 cycles += model_u_lds_pr_before (current_cpu, idesc, 1);
2586 sh2_sh2_model::model_lds_pr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2588 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2589 const sh2_scache* abuf = sem;
2590 const sh2_idesc* idesc = abuf->idesc;
2594 unsigned long long insn_referenced = abuf->written;
2596 in_usereg = FLD (in_rn);
2597 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2601 unsigned long long insn_referenced = abuf->written;
2602 cycles += model_u_lds_pr_after (current_cpu, idesc, 1, referenced);
2609 sh2_sh2_model::model_ldsl_pr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2611 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2612 const sh2_scache* abuf = sem;
2613 const sh2_idesc* idesc = abuf->idesc;
2617 in_usereg = FLD (in_rn);
2618 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2621 cycles += model_u_lds_pr_before (current_cpu, idesc, 1);
2624 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
2627 cycles += model_u_load_pr_before (current_cpu, idesc, 3);
2634 sh2_sh2_model::model_ldsl_pr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2636 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2637 const sh2_scache* abuf = sem;
2638 const sh2_idesc* idesc = abuf->idesc;
2642 unsigned long long insn_referenced = abuf->written;
2644 in_usereg = FLD (in_rn);
2645 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2649 unsigned long long insn_referenced = abuf->written;
2650 cycles += model_u_lds_pr_after (current_cpu, idesc, 1, referenced);
2654 unsigned long long insn_referenced = abuf->written;
2655 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
2659 unsigned long long insn_referenced = abuf->written;
2660 cycles += model_u_load_pr_after (current_cpu, idesc, 3, referenced);
2667 sh2_sh2_model::model_macl_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2669 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2670 const sh2_scache* abuf = sem;
2671 const sh2_idesc* idesc = abuf->idesc;
2675 in_usereg = FLD (in_rn);
2676 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2680 in_usereg = FLD (in_rm);
2681 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
2684 cycles += model_u_macl_before (current_cpu, idesc, 2);
2691 sh2_sh2_model::model_macl_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2693 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2694 const sh2_scache* abuf = sem;
2695 const sh2_idesc* idesc = abuf->idesc;
2699 unsigned long long insn_referenced = abuf->written;
2701 in_usereg = FLD (in_rn);
2702 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2706 unsigned long long insn_referenced = abuf->written;
2708 in_usereg = FLD (in_rm);
2709 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
2713 unsigned long long insn_referenced = abuf->written;
2714 cycles += model_u_macl_after (current_cpu, idesc, 2, referenced);
2721 sh2_sh2_model::model_macw_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2723 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2724 const sh2_scache* abuf = sem;
2725 const sh2_idesc* idesc = abuf->idesc;
2729 in_usereg = FLD (in_rn);
2730 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2734 in_usereg = FLD (in_rm);
2735 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
2738 cycles += model_u_macw_before (current_cpu, idesc, 2);
2745 sh2_sh2_model::model_macw_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2747 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2748 const sh2_scache* abuf = sem;
2749 const sh2_idesc* idesc = abuf->idesc;
2753 unsigned long long insn_referenced = abuf->written;
2755 in_usereg = FLD (in_rn);
2756 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2760 unsigned long long insn_referenced = abuf->written;
2762 in_usereg = FLD (in_rm);
2763 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
2767 unsigned long long insn_referenced = abuf->written;
2768 cycles += model_u_macw_after (current_cpu, idesc, 2, referenced);
2775 sh2_sh2_model::model_mov_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2777 #define FLD(f) abuf->fields.sfmt_and_compact.f
2778 const sh2_scache* abuf = sem;
2779 const sh2_idesc* idesc = abuf->idesc;
2783 in_usereg = FLD (in_rm64);
2784 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2787 cycles += model_u_exec_before (current_cpu, idesc, 1);
2794 sh2_sh2_model::model_mov_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2796 #define FLD(f) abuf->fields.sfmt_and_compact.f
2797 const sh2_scache* abuf = sem;
2798 const sh2_idesc* idesc = abuf->idesc;
2802 unsigned long long insn_referenced = abuf->written;
2804 in_usereg = FLD (in_rm64);
2805 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2809 unsigned long long insn_referenced = abuf->written;
2810 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2817 sh2_sh2_model::model_movi_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2819 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2820 const sh2_scache* abuf = sem;
2821 const sh2_idesc* idesc = abuf->idesc;
2824 cycles += model_u_exec_before (current_cpu, idesc, 0);
2831 sh2_sh2_model::model_movi_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2833 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2834 const sh2_scache* abuf = sem;
2835 const sh2_idesc* idesc = abuf->idesc;
2839 unsigned long long insn_referenced = abuf->written;
2840 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2847 sh2_sh2_model::model_movb1_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2849 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
2850 const sh2_scache* abuf = sem;
2851 const sh2_idesc* idesc = abuf->idesc;
2855 in_usereg = FLD (in_rn);
2856 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2860 in_usereg = FLD (in_rm);
2861 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
2864 cycles += model_u_exec_before (current_cpu, idesc, 2);
2867 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
2874 sh2_sh2_model::model_movb1_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2876 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
2877 const sh2_scache* abuf = sem;
2878 const sh2_idesc* idesc = abuf->idesc;
2882 unsigned long long insn_referenced = abuf->written;
2884 in_usereg = FLD (in_rn);
2885 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2889 unsigned long long insn_referenced = abuf->written;
2891 in_usereg = FLD (in_rm);
2892 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
2896 unsigned long long insn_referenced = abuf->written;
2897 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2901 unsigned long long insn_referenced = abuf->written;
2902 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
2909 sh2_sh2_model::model_movb2_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2911 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2912 const sh2_scache* abuf = sem;
2913 const sh2_idesc* idesc = abuf->idesc;
2917 in_usereg = FLD (in_rn);
2918 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2922 in_usereg = FLD (in_rm);
2923 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
2926 cycles += model_u_exec_before (current_cpu, idesc, 2);
2929 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
2936 sh2_sh2_model::model_movb2_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
2938 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2939 const sh2_scache* abuf = sem;
2940 const sh2_idesc* idesc = abuf->idesc;
2944 unsigned long long insn_referenced = abuf->written;
2946 in_usereg = FLD (in_rn);
2947 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2951 unsigned long long insn_referenced = abuf->written;
2953 in_usereg = FLD (in_rm);
2954 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
2958 unsigned long long insn_referenced = abuf->written;
2959 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2963 unsigned long long insn_referenced = abuf->written;
2964 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
2971 sh2_sh2_model::model_movb3_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
2973 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
2974 const sh2_scache* abuf = sem;
2975 const sh2_idesc* idesc = abuf->idesc;
2979 in_usereg = FLD (in_rn);
2980 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2984 in_usereg = FLD (in_rm);
2985 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
2989 in_usereg = FLD (in_r0);
2990 cycles += model_u_use_gr_before (current_cpu, idesc, 2, in_usereg);
2993 cycles += model_u_exec_before (current_cpu, idesc, 3);
2996 cycles += model_u_memory_access_before (current_cpu, idesc, 4);
3003 sh2_sh2_model::model_movb3_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3005 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
3006 const sh2_scache* abuf = sem;
3007 const sh2_idesc* idesc = abuf->idesc;
3011 unsigned long long insn_referenced = abuf->written;
3013 in_usereg = FLD (in_rn);
3014 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3018 unsigned long long insn_referenced = abuf->written;
3020 in_usereg = FLD (in_rm);
3021 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3025 unsigned long long insn_referenced = abuf->written;
3027 in_usereg = FLD (in_r0);
3028 cycles += model_u_use_gr_after (current_cpu, idesc, 2, referenced, in_usereg);
3032 unsigned long long insn_referenced = abuf->written;
3033 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
3037 unsigned long long insn_referenced = abuf->written;
3038 cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
3045 sh2_sh2_model::model_movb4_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3047 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3048 const sh2_scache* abuf = sem;
3049 const sh2_idesc* idesc = abuf->idesc;
3052 cycles += model_u_exec_before (current_cpu, idesc, 0);
3055 cycles += model_u_sx_before (current_cpu, idesc, 1);
3058 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3065 sh2_sh2_model::model_movb4_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3067 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3068 const sh2_scache* abuf = sem;
3069 const sh2_idesc* idesc = abuf->idesc;
3073 unsigned long long insn_referenced = abuf->written;
3074 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3078 unsigned long long insn_referenced = abuf->written;
3079 cycles += model_u_sx_after (current_cpu, idesc, 1, referenced);
3083 unsigned long long insn_referenced = abuf->written;
3084 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3091 sh2_sh2_model::model_movb5_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3093 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
3094 const sh2_scache* abuf = sem;
3095 const sh2_idesc* idesc = abuf->idesc;
3099 in_usereg = FLD (in_r0);
3100 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3104 in_usereg = FLD (in_rm);
3105 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3108 cycles += model_u_exec_before (current_cpu, idesc, 2);
3111 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3118 sh2_sh2_model::model_movb5_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3120 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
3121 const sh2_scache* abuf = sem;
3122 const sh2_idesc* idesc = abuf->idesc;
3126 unsigned long long insn_referenced = abuf->written;
3128 in_usereg = FLD (in_r0);
3129 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3133 unsigned long long insn_referenced = abuf->written;
3135 in_usereg = FLD (in_rm);
3136 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3140 unsigned long long insn_referenced = abuf->written;
3141 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3145 unsigned long long insn_referenced = abuf->written;
3146 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3153 sh2_sh2_model::model_movb6_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3155 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
3156 const sh2_scache* abuf = sem;
3157 const sh2_idesc* idesc = abuf->idesc;
3161 in_usereg = FLD (in_rm);
3162 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3165 cycles += model_u_exec_before (current_cpu, idesc, 1);
3168 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3171 INT out_loadreg = -1;
3172 out_loadreg = FLD (out_rn);
3173 cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
3180 sh2_sh2_model::model_movb6_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3182 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
3183 const sh2_scache* abuf = sem;
3184 const sh2_idesc* idesc = abuf->idesc;
3188 unsigned long long insn_referenced = abuf->written;
3190 in_usereg = FLD (in_rm);
3191 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3195 unsigned long long insn_referenced = abuf->written;
3196 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3200 unsigned long long insn_referenced = abuf->written;
3201 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3205 unsigned long long insn_referenced = abuf->written;
3206 INT out_loadreg = -1;
3207 out_loadreg = FLD (out_rn);
3208 cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
3215 sh2_sh2_model::model_movb7_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3217 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3218 const sh2_scache* abuf = sem;
3219 const sh2_idesc* idesc = abuf->idesc;
3223 in_usereg = FLD (in_rm);
3224 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3227 cycles += model_u_exec_before (current_cpu, idesc, 1);
3230 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3233 INT out_loadreg = -1;
3234 out_loadreg = FLD (out_rn);
3235 cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
3242 sh2_sh2_model::model_movb7_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3244 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3245 const sh2_scache* abuf = sem;
3246 const sh2_idesc* idesc = abuf->idesc;
3250 unsigned long long insn_referenced = abuf->written;
3252 in_usereg = FLD (in_rm);
3253 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3257 unsigned long long insn_referenced = abuf->written;
3258 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3262 unsigned long long insn_referenced = abuf->written;
3263 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3267 unsigned long long insn_referenced = abuf->written;
3268 INT out_loadreg = -1;
3269 out_loadreg = FLD (out_rn);
3270 cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
3277 sh2_sh2_model::model_movb8_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3279 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
3280 const sh2_scache* abuf = sem;
3281 const sh2_idesc* idesc = abuf->idesc;
3285 in_usereg = FLD (in_rm);
3286 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3290 in_usereg = FLD (in_r0);
3291 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3294 cycles += model_u_exec_before (current_cpu, idesc, 2);
3297 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3300 INT out_loadreg = -1;
3301 out_loadreg = FLD (out_rn);
3302 cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
3309 sh2_sh2_model::model_movb8_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3311 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
3312 const sh2_scache* abuf = sem;
3313 const sh2_idesc* idesc = abuf->idesc;
3317 unsigned long long insn_referenced = abuf->written;
3319 in_usereg = FLD (in_rm);
3320 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3324 unsigned long long insn_referenced = abuf->written;
3326 in_usereg = FLD (in_r0);
3327 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3331 unsigned long long insn_referenced = abuf->written;
3332 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3336 unsigned long long insn_referenced = abuf->written;
3337 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3341 unsigned long long insn_referenced = abuf->written;
3342 INT out_loadreg = -1;
3343 out_loadreg = FLD (out_rn);
3344 cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
3351 sh2_sh2_model::model_movb9_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3353 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3354 const sh2_scache* abuf = sem;
3355 const sh2_idesc* idesc = abuf->idesc;
3358 cycles += model_u_exec_before (current_cpu, idesc, 0);
3361 cycles += model_u_memory_access_before (current_cpu, idesc, 1);
3364 INT out_loadreg = -1;
3365 out_loadreg = FLD (out_r0);
3366 cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
3373 sh2_sh2_model::model_movb9_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3375 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3376 const sh2_scache* abuf = sem;
3377 const sh2_idesc* idesc = abuf->idesc;
3381 unsigned long long insn_referenced = abuf->written;
3382 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3386 unsigned long long insn_referenced = abuf->written;
3387 cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
3391 unsigned long long insn_referenced = abuf->written;
3392 INT out_loadreg = -1;
3393 out_loadreg = FLD (out_r0);
3394 cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
3401 sh2_sh2_model::model_movb10_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3403 #define FLD(f) abuf->fields.sfmt_movb10_compact.f
3404 const sh2_scache* abuf = sem;
3405 const sh2_idesc* idesc = abuf->idesc;
3409 in_usereg = FLD (in_rm);
3410 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3413 cycles += model_u_exec_before (current_cpu, idesc, 1);
3416 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3419 INT out_loadreg = -1;
3420 out_loadreg = FLD (out_r0);
3421 cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
3428 sh2_sh2_model::model_movb10_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3430 #define FLD(f) abuf->fields.sfmt_movb10_compact.f
3431 const sh2_scache* abuf = sem;
3432 const sh2_idesc* idesc = abuf->idesc;
3436 unsigned long long insn_referenced = abuf->written;
3438 in_usereg = FLD (in_rm);
3439 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3443 unsigned long long insn_referenced = abuf->written;
3444 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3448 unsigned long long insn_referenced = abuf->written;
3449 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3453 unsigned long long insn_referenced = abuf->written;
3454 INT out_loadreg = -1;
3455 out_loadreg = FLD (out_r0);
3456 cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
3463 sh2_sh2_model::model_movl1_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3465 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3466 const sh2_scache* abuf = sem;
3467 const sh2_idesc* idesc = abuf->idesc;
3471 in_usereg = FLD (in_rm);
3472 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3476 in_usereg = FLD (in_rn);
3477 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3480 cycles += model_u_exec_before (current_cpu, idesc, 2);
3483 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3490 sh2_sh2_model::model_movl1_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3492 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3493 const sh2_scache* abuf = sem;
3494 const sh2_idesc* idesc = abuf->idesc;
3498 unsigned long long insn_referenced = abuf->written;
3500 in_usereg = FLD (in_rm);
3501 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3505 unsigned long long insn_referenced = abuf->written;
3507 in_usereg = FLD (in_rn);
3508 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3512 unsigned long long insn_referenced = abuf->written;
3513 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3517 unsigned long long insn_referenced = abuf->written;
3518 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3525 sh2_sh2_model::model_movl2_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3527 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3528 const sh2_scache* abuf = sem;
3529 const sh2_idesc* idesc = abuf->idesc;
3533 in_usereg = FLD (in_rm);
3534 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3538 in_usereg = FLD (in_rn);
3539 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3542 cycles += model_u_exec_before (current_cpu, idesc, 2);
3545 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3552 sh2_sh2_model::model_movl2_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3554 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3555 const sh2_scache* abuf = sem;
3556 const sh2_idesc* idesc = abuf->idesc;
3560 unsigned long long insn_referenced = abuf->written;
3562 in_usereg = FLD (in_rm);
3563 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3567 unsigned long long insn_referenced = abuf->written;
3569 in_usereg = FLD (in_rn);
3570 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3574 unsigned long long insn_referenced = abuf->written;
3575 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3579 unsigned long long insn_referenced = abuf->written;
3580 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3587 sh2_sh2_model::model_movl3_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3589 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
3590 const sh2_scache* abuf = sem;
3591 const sh2_idesc* idesc = abuf->idesc;
3595 in_usereg = FLD (in_rm);
3596 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3600 in_usereg = FLD (in_rn);
3601 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3605 in_usereg = FLD (in_r0);
3606 cycles += model_u_use_gr_before (current_cpu, idesc, 2, in_usereg);
3609 cycles += model_u_exec_before (current_cpu, idesc, 3);
3612 cycles += model_u_memory_access_before (current_cpu, idesc, 4);
3619 sh2_sh2_model::model_movl3_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3621 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
3622 const sh2_scache* abuf = sem;
3623 const sh2_idesc* idesc = abuf->idesc;
3627 unsigned long long insn_referenced = abuf->written;
3629 in_usereg = FLD (in_rm);
3630 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3634 unsigned long long insn_referenced = abuf->written;
3636 in_usereg = FLD (in_rn);
3637 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3641 unsigned long long insn_referenced = abuf->written;
3643 in_usereg = FLD (in_r0);
3644 cycles += model_u_use_gr_after (current_cpu, idesc, 2, referenced, in_usereg);
3648 unsigned long long insn_referenced = abuf->written;
3649 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
3653 unsigned long long insn_referenced = abuf->written;
3654 cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
3661 sh2_sh2_model::model_movl4_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3663 #define FLD(f) abuf->fields.sfmt_movl4_compact.f
3664 const sh2_scache* abuf = sem;
3665 const sh2_idesc* idesc = abuf->idesc;
3669 in_usereg = FLD (in_r0);
3670 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3673 cycles += model_u_exec_before (current_cpu, idesc, 1);
3676 cycles += model_u_sx_before (current_cpu, idesc, 2);
3679 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3686 sh2_sh2_model::model_movl4_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3688 #define FLD(f) abuf->fields.sfmt_movl4_compact.f
3689 const sh2_scache* abuf = sem;
3690 const sh2_idesc* idesc = abuf->idesc;
3694 unsigned long long insn_referenced = abuf->written;
3696 in_usereg = FLD (in_r0);
3697 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3701 unsigned long long insn_referenced = abuf->written;
3702 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3706 unsigned long long insn_referenced = abuf->written;
3707 cycles += model_u_sx_after (current_cpu, idesc, 2, referenced);
3711 unsigned long long insn_referenced = abuf->written;
3712 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3719 sh2_sh2_model::model_movl5_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3721 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3722 const sh2_scache* abuf = sem;
3723 const sh2_idesc* idesc = abuf->idesc;
3727 in_usereg = FLD (in_rm);
3728 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3732 in_usereg = FLD (in_rn);
3733 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3736 cycles += model_u_exec_before (current_cpu, idesc, 2);
3739 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3746 sh2_sh2_model::model_movl5_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3748 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3749 const sh2_scache* abuf = sem;
3750 const sh2_idesc* idesc = abuf->idesc;
3754 unsigned long long insn_referenced = abuf->written;
3756 in_usereg = FLD (in_rm);
3757 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3761 unsigned long long insn_referenced = abuf->written;
3763 in_usereg = FLD (in_rn);
3764 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3768 unsigned long long insn_referenced = abuf->written;
3769 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3773 unsigned long long insn_referenced = abuf->written;
3774 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3781 sh2_sh2_model::model_movl6_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3783 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
3784 const sh2_scache* abuf = sem;
3785 const sh2_idesc* idesc = abuf->idesc;
3789 in_usereg = FLD (in_rm);
3790 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3793 cycles += model_u_exec_before (current_cpu, idesc, 1);
3796 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3799 INT out_loadreg = -1;
3800 out_loadreg = FLD (out_rn);
3801 cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
3808 sh2_sh2_model::model_movl6_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3810 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
3811 const sh2_scache* abuf = sem;
3812 const sh2_idesc* idesc = abuf->idesc;
3816 unsigned long long insn_referenced = abuf->written;
3818 in_usereg = FLD (in_rm);
3819 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3823 unsigned long long insn_referenced = abuf->written;
3824 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3828 unsigned long long insn_referenced = abuf->written;
3829 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3833 unsigned long long insn_referenced = abuf->written;
3834 INT out_loadreg = -1;
3835 out_loadreg = FLD (out_rn);
3836 cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
3843 sh2_sh2_model::model_movl7_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3845 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3846 const sh2_scache* abuf = sem;
3847 const sh2_idesc* idesc = abuf->idesc;
3851 in_usereg = FLD (in_rm);
3852 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3855 cycles += model_u_exec_before (current_cpu, idesc, 1);
3858 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3861 INT out_loadreg = -1;
3862 out_loadreg = FLD (out_rn);
3863 cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
3870 sh2_sh2_model::model_movl7_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3872 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3873 const sh2_scache* abuf = sem;
3874 const sh2_idesc* idesc = abuf->idesc;
3878 unsigned long long insn_referenced = abuf->written;
3880 in_usereg = FLD (in_rm);
3881 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3885 unsigned long long insn_referenced = abuf->written;
3886 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3890 unsigned long long insn_referenced = abuf->written;
3891 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3895 unsigned long long insn_referenced = abuf->written;
3896 INT out_loadreg = -1;
3897 out_loadreg = FLD (out_rn);
3898 cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
3905 sh2_sh2_model::model_movl8_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3907 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
3908 const sh2_scache* abuf = sem;
3909 const sh2_idesc* idesc = abuf->idesc;
3913 in_usereg = FLD (in_rm);
3914 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3918 in_usereg = FLD (in_r0);
3919 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3922 cycles += model_u_exec_before (current_cpu, idesc, 2);
3925 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3928 INT out_loadreg = -1;
3929 out_loadreg = FLD (out_rn);
3930 cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
3937 sh2_sh2_model::model_movl8_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
3939 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
3940 const sh2_scache* abuf = sem;
3941 const sh2_idesc* idesc = abuf->idesc;
3945 unsigned long long insn_referenced = abuf->written;
3947 in_usereg = FLD (in_rm);
3948 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3952 unsigned long long insn_referenced = abuf->written;
3954 in_usereg = FLD (in_r0);
3955 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3959 unsigned long long insn_referenced = abuf->written;
3960 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3964 unsigned long long insn_referenced = abuf->written;
3965 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3969 unsigned long long insn_referenced = abuf->written;
3970 INT out_loadreg = -1;
3971 out_loadreg = FLD (out_rn);
3972 cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
3979 sh2_sh2_model::model_movl9_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
3981 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
3982 const sh2_scache* abuf = sem;
3983 const sh2_idesc* idesc = abuf->idesc;
3986 cycles += model_u_exec_before (current_cpu, idesc, 0);
3989 cycles += model_u_memory_access_before (current_cpu, idesc, 1);
3992 INT out_loadreg = -1;
3993 out_loadreg = FLD (out_r0);
3994 cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
4001 sh2_sh2_model::model_movl9_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4003 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
4004 const sh2_scache* abuf = sem;
4005 const sh2_idesc* idesc = abuf->idesc;
4009 unsigned long long insn_referenced = abuf->written;
4010 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4014 unsigned long long insn_referenced = abuf->written;
4015 cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
4019 unsigned long long insn_referenced = abuf->written;
4020 INT out_loadreg = -1;
4021 out_loadreg = FLD (out_r0);
4022 cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
4029 sh2_sh2_model::model_movl10_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4031 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
4032 const sh2_scache* abuf = sem;
4033 const sh2_idesc* idesc = abuf->idesc;
4036 cycles += model_u_exec_before (current_cpu, idesc, 0);
4039 cycles += model_u_memory_access_before (current_cpu, idesc, 1);
4042 INT out_loadreg = -1;
4043 out_loadreg = FLD (out_rn);
4044 cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
4051 sh2_sh2_model::model_movl10_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4053 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
4054 const sh2_scache* abuf = sem;
4055 const sh2_idesc* idesc = abuf->idesc;
4059 unsigned long long insn_referenced = abuf->written;
4060 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4064 unsigned long long insn_referenced = abuf->written;
4065 cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
4069 unsigned long long insn_referenced = abuf->written;
4070 INT out_loadreg = -1;
4071 out_loadreg = FLD (out_rn);
4072 cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
4079 sh2_sh2_model::model_movl11_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4081 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4082 const sh2_scache* abuf = sem;
4083 const sh2_idesc* idesc = abuf->idesc;
4087 in_usereg = FLD (in_rm);
4088 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4091 cycles += model_u_exec_before (current_cpu, idesc, 1);
4094 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
4097 INT out_loadreg = -1;
4098 out_loadreg = FLD (out_rn);
4099 cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
4106 sh2_sh2_model::model_movl11_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4108 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4109 const sh2_scache* abuf = sem;
4110 const sh2_idesc* idesc = abuf->idesc;
4114 unsigned long long insn_referenced = abuf->written;
4116 in_usereg = FLD (in_rm);
4117 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4121 unsigned long long insn_referenced = abuf->written;
4122 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4126 unsigned long long insn_referenced = abuf->written;
4127 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
4131 unsigned long long insn_referenced = abuf->written;
4132 INT out_loadreg = -1;
4133 out_loadreg = FLD (out_rn);
4134 cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
4141 sh2_sh2_model::model_movw1_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4143 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4144 const sh2_scache* abuf = sem;
4145 const sh2_idesc* idesc = abuf->idesc;
4149 in_usereg = FLD (in_rm);
4150 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4154 in_usereg = FLD (in_rn);
4155 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4158 cycles += model_u_exec_before (current_cpu, idesc, 2);
4161 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4168 sh2_sh2_model::model_movw1_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4170 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4171 const sh2_scache* abuf = sem;
4172 const sh2_idesc* idesc = abuf->idesc;
4176 unsigned long long insn_referenced = abuf->written;
4178 in_usereg = FLD (in_rm);
4179 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4183 unsigned long long insn_referenced = abuf->written;
4185 in_usereg = FLD (in_rn);
4186 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4190 unsigned long long insn_referenced = abuf->written;
4191 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4195 unsigned long long insn_referenced = abuf->written;
4196 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4203 sh2_sh2_model::model_movw2_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4205 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4206 const sh2_scache* abuf = sem;
4207 const sh2_idesc* idesc = abuf->idesc;
4211 in_usereg = FLD (in_rm);
4212 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4216 in_usereg = FLD (in_rn);
4217 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4220 cycles += model_u_exec_before (current_cpu, idesc, 2);
4223 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4230 sh2_sh2_model::model_movw2_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4232 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4233 const sh2_scache* abuf = sem;
4234 const sh2_idesc* idesc = abuf->idesc;
4238 unsigned long long insn_referenced = abuf->written;
4240 in_usereg = FLD (in_rm);
4241 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4245 unsigned long long insn_referenced = abuf->written;
4247 in_usereg = FLD (in_rn);
4248 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4252 unsigned long long insn_referenced = abuf->written;
4253 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4257 unsigned long long insn_referenced = abuf->written;
4258 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4265 sh2_sh2_model::model_movw3_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4267 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4268 const sh2_scache* abuf = sem;
4269 const sh2_idesc* idesc = abuf->idesc;
4273 in_usereg = FLD (in_rm);
4274 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4278 in_usereg = FLD (in_rn);
4279 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4283 in_usereg = FLD (in_r0);
4284 cycles += model_u_use_gr_before (current_cpu, idesc, 2, in_usereg);
4287 cycles += model_u_exec_before (current_cpu, idesc, 3);
4290 cycles += model_u_memory_access_before (current_cpu, idesc, 4);
4297 sh2_sh2_model::model_movw3_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4299 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4300 const sh2_scache* abuf = sem;
4301 const sh2_idesc* idesc = abuf->idesc;
4305 unsigned long long insn_referenced = abuf->written;
4307 in_usereg = FLD (in_rm);
4308 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4312 unsigned long long insn_referenced = abuf->written;
4314 in_usereg = FLD (in_rn);
4315 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4319 unsigned long long insn_referenced = abuf->written;
4321 in_usereg = FLD (in_r0);
4322 cycles += model_u_use_gr_after (current_cpu, idesc, 2, referenced, in_usereg);
4326 unsigned long long insn_referenced = abuf->written;
4327 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
4331 unsigned long long insn_referenced = abuf->written;
4332 cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
4339 sh2_sh2_model::model_movw4_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4341 #define FLD(f) abuf->fields.sfmt_movw4_compact.f
4342 const sh2_scache* abuf = sem;
4343 const sh2_idesc* idesc = abuf->idesc;
4347 in_usereg = FLD (in_r0);
4348 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4351 cycles += model_u_exec_before (current_cpu, idesc, 1);
4354 cycles += model_u_sx_before (current_cpu, idesc, 2);
4357 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4364 sh2_sh2_model::model_movw4_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4366 #define FLD(f) abuf->fields.sfmt_movw4_compact.f
4367 const sh2_scache* abuf = sem;
4368 const sh2_idesc* idesc = abuf->idesc;
4372 unsigned long long insn_referenced = abuf->written;
4374 in_usereg = FLD (in_r0);
4375 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4379 unsigned long long insn_referenced = abuf->written;
4380 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4384 unsigned long long insn_referenced = abuf->written;
4385 cycles += model_u_sx_after (current_cpu, idesc, 2, referenced);
4389 unsigned long long insn_referenced = abuf->written;
4390 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4397 sh2_sh2_model::model_movw5_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4399 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
4400 const sh2_scache* abuf = sem;
4401 const sh2_idesc* idesc = abuf->idesc;
4405 in_usereg = FLD (in_rm);
4406 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4410 in_usereg = FLD (in_r0);
4411 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4414 cycles += model_u_exec_before (current_cpu, idesc, 2);
4417 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4424 sh2_sh2_model::model_movw5_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4426 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
4427 const sh2_scache* abuf = sem;
4428 const sh2_idesc* idesc = abuf->idesc;
4432 unsigned long long insn_referenced = abuf->written;
4434 in_usereg = FLD (in_rm);
4435 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4439 unsigned long long insn_referenced = abuf->written;
4441 in_usereg = FLD (in_r0);
4442 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4446 unsigned long long insn_referenced = abuf->written;
4447 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4451 unsigned long long insn_referenced = abuf->written;
4452 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4459 sh2_sh2_model::model_movw6_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4461 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4462 const sh2_scache* abuf = sem;
4463 const sh2_idesc* idesc = abuf->idesc;
4467 in_usereg = FLD (in_rm);
4468 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4471 cycles += model_u_exec_before (current_cpu, idesc, 1);
4474 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
4477 INT out_loadreg = -1;
4478 out_loadreg = FLD (out_rn);
4479 cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
4486 sh2_sh2_model::model_movw6_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4488 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4489 const sh2_scache* abuf = sem;
4490 const sh2_idesc* idesc = abuf->idesc;
4494 unsigned long long insn_referenced = abuf->written;
4496 in_usereg = FLD (in_rm);
4497 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4501 unsigned long long insn_referenced = abuf->written;
4502 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4506 unsigned long long insn_referenced = abuf->written;
4507 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
4511 unsigned long long insn_referenced = abuf->written;
4512 INT out_loadreg = -1;
4513 out_loadreg = FLD (out_rn);
4514 cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
4521 sh2_sh2_model::model_movw7_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4523 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4524 const sh2_scache* abuf = sem;
4525 const sh2_idesc* idesc = abuf->idesc;
4529 in_usereg = FLD (in_rm);
4530 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4533 cycles += model_u_exec_before (current_cpu, idesc, 1);
4536 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
4539 INT out_loadreg = -1;
4540 out_loadreg = FLD (out_rn);
4541 cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
4548 sh2_sh2_model::model_movw7_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4550 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4551 const sh2_scache* abuf = sem;
4552 const sh2_idesc* idesc = abuf->idesc;
4556 unsigned long long insn_referenced = abuf->written;
4558 in_usereg = FLD (in_rm);
4559 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4563 unsigned long long insn_referenced = abuf->written;
4564 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4568 unsigned long long insn_referenced = abuf->written;
4569 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
4573 unsigned long long insn_referenced = abuf->written;
4574 INT out_loadreg = -1;
4575 out_loadreg = FLD (out_rn);
4576 cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
4583 sh2_sh2_model::model_movw8_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4585 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
4586 const sh2_scache* abuf = sem;
4587 const sh2_idesc* idesc = abuf->idesc;
4591 in_usereg = FLD (in_rm);
4592 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4596 in_usereg = FLD (in_r0);
4597 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4600 cycles += model_u_exec_before (current_cpu, idesc, 2);
4603 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4606 INT out_loadreg = -1;
4607 out_loadreg = FLD (out_rn);
4608 cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
4615 sh2_sh2_model::model_movw8_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4617 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
4618 const sh2_scache* abuf = sem;
4619 const sh2_idesc* idesc = abuf->idesc;
4623 unsigned long long insn_referenced = abuf->written;
4625 in_usereg = FLD (in_rm);
4626 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4630 unsigned long long insn_referenced = abuf->written;
4632 in_usereg = FLD (in_r0);
4633 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4637 unsigned long long insn_referenced = abuf->written;
4638 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4642 unsigned long long insn_referenced = abuf->written;
4643 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4647 unsigned long long insn_referenced = abuf->written;
4648 INT out_loadreg = -1;
4649 out_loadreg = FLD (out_rn);
4650 cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
4657 sh2_sh2_model::model_movw9_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4659 #define FLD(f) abuf->fields.sfmt_movw9_compact.f
4660 const sh2_scache* abuf = sem;
4661 const sh2_idesc* idesc = abuf->idesc;
4664 cycles += model_u_exec_before (current_cpu, idesc, 0);
4667 cycles += model_u_memory_access_before (current_cpu, idesc, 1);
4670 INT out_loadreg = -1;
4671 out_loadreg = FLD (out_r0);
4672 cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
4679 sh2_sh2_model::model_movw9_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4681 #define FLD(f) abuf->fields.sfmt_movw9_compact.f
4682 const sh2_scache* abuf = sem;
4683 const sh2_idesc* idesc = abuf->idesc;
4687 unsigned long long insn_referenced = abuf->written;
4688 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4692 unsigned long long insn_referenced = abuf->written;
4693 cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
4697 unsigned long long insn_referenced = abuf->written;
4698 INT out_loadreg = -1;
4699 out_loadreg = FLD (out_r0);
4700 cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
4707 sh2_sh2_model::model_movw10_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4709 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4710 const sh2_scache* abuf = sem;
4711 const sh2_idesc* idesc = abuf->idesc;
4714 cycles += model_u_exec_before (current_cpu, idesc, 0);
4717 cycles += model_u_memory_access_before (current_cpu, idesc, 1);
4720 INT out_loadreg = -1;
4721 out_loadreg = FLD (out_rn);
4722 cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
4729 sh2_sh2_model::model_movw10_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4731 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4732 const sh2_scache* abuf = sem;
4733 const sh2_idesc* idesc = abuf->idesc;
4737 unsigned long long insn_referenced = abuf->written;
4738 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4742 unsigned long long insn_referenced = abuf->written;
4743 cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
4747 unsigned long long insn_referenced = abuf->written;
4748 INT out_loadreg = -1;
4749 out_loadreg = FLD (out_rn);
4750 cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
4757 sh2_sh2_model::model_movw11_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4759 #define FLD(f) abuf->fields.sfmt_movw11_compact.f
4760 const sh2_scache* abuf = sem;
4761 const sh2_idesc* idesc = abuf->idesc;
4765 in_usereg = FLD (in_rm);
4766 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4769 cycles += model_u_exec_before (current_cpu, idesc, 1);
4772 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
4775 INT out_loadreg = -1;
4776 out_loadreg = FLD (out_r0);
4777 cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
4784 sh2_sh2_model::model_movw11_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4786 #define FLD(f) abuf->fields.sfmt_movw11_compact.f
4787 const sh2_scache* abuf = sem;
4788 const sh2_idesc* idesc = abuf->idesc;
4792 unsigned long long insn_referenced = abuf->written;
4794 in_usereg = FLD (in_rm);
4795 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4799 unsigned long long insn_referenced = abuf->written;
4800 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4804 unsigned long long insn_referenced = abuf->written;
4805 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
4809 unsigned long long insn_referenced = abuf->written;
4810 INT out_loadreg = -1;
4811 out_loadreg = FLD (out_r0);
4812 cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
4819 sh2_sh2_model::model_mova_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4821 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
4822 const sh2_scache* abuf = sem;
4823 const sh2_idesc* idesc = abuf->idesc;
4826 cycles += model_u_exec_before (current_cpu, idesc, 0);
4833 sh2_sh2_model::model_mova_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4835 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
4836 const sh2_scache* abuf = sem;
4837 const sh2_idesc* idesc = abuf->idesc;
4841 unsigned long long insn_referenced = abuf->written;
4842 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4849 sh2_sh2_model::model_movt_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4851 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4852 const sh2_scache* abuf = sem;
4853 const sh2_idesc* idesc = abuf->idesc;
4856 cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
4859 cycles += model_u_exec_before (current_cpu, idesc, 1);
4866 sh2_sh2_model::model_movt_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4868 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4869 const sh2_scache* abuf = sem;
4870 const sh2_idesc* idesc = abuf->idesc;
4874 unsigned long long insn_referenced = abuf->written;
4875 cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
4879 unsigned long long insn_referenced = abuf->written;
4880 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4887 sh2_sh2_model::model_mull_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4889 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4890 const sh2_scache* abuf = sem;
4891 const sh2_idesc* idesc = abuf->idesc;
4895 in_usereg = FLD (in_rn);
4896 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4900 in_usereg = FLD (in_rm);
4901 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4904 cycles += model_u_mull_before (current_cpu, idesc, 2);
4911 sh2_sh2_model::model_mull_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4913 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4914 const sh2_scache* abuf = sem;
4915 const sh2_idesc* idesc = abuf->idesc;
4919 unsigned long long insn_referenced = abuf->written;
4921 in_usereg = FLD (in_rn);
4922 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4926 unsigned long long insn_referenced = abuf->written;
4928 in_usereg = FLD (in_rm);
4929 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4933 unsigned long long insn_referenced = abuf->written;
4934 cycles += model_u_mull_after (current_cpu, idesc, 2, referenced);
4941 sh2_sh2_model::model_mulsw_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
4943 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4944 const sh2_scache* abuf = sem;
4945 const sh2_idesc* idesc = abuf->idesc;
4949 in_usereg = FLD (in_rn);
4950 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4954 in_usereg = FLD (in_rm);
4955 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4958 cycles += model_u_mulsw_before (current_cpu, idesc, 2);
4961 cycles += model_u_multiply_before (current_cpu, idesc, 3);
4968 sh2_sh2_model::model_mulsw_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
4970 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4971 const sh2_scache* abuf = sem;
4972 const sh2_idesc* idesc = abuf->idesc;
4976 unsigned long long insn_referenced = abuf->written;
4978 in_usereg = FLD (in_rn);
4979 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4983 unsigned long long insn_referenced = abuf->written;
4985 in_usereg = FLD (in_rm);
4986 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4990 unsigned long long insn_referenced = abuf->written;
4991 cycles += model_u_mulsw_after (current_cpu, idesc, 2, referenced);
4995 unsigned long long insn_referenced = abuf->written;
4996 cycles += model_u_multiply_after (current_cpu, idesc, 3, referenced);
5003 sh2_sh2_model::model_muluw_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5005 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5006 const sh2_scache* abuf = sem;
5007 const sh2_idesc* idesc = abuf->idesc;
5011 in_usereg = FLD (in_rn);
5012 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5016 in_usereg = FLD (in_rm);
5017 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5020 cycles += model_u_mulsw_before (current_cpu, idesc, 2);
5023 cycles += model_u_multiply_before (current_cpu, idesc, 3);
5030 sh2_sh2_model::model_muluw_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5032 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5033 const sh2_scache* abuf = sem;
5034 const sh2_idesc* idesc = abuf->idesc;
5038 unsigned long long insn_referenced = abuf->written;
5040 in_usereg = FLD (in_rn);
5041 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5045 unsigned long long insn_referenced = abuf->written;
5047 in_usereg = FLD (in_rm);
5048 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5052 unsigned long long insn_referenced = abuf->written;
5053 cycles += model_u_mulsw_after (current_cpu, idesc, 2, referenced);
5057 unsigned long long insn_referenced = abuf->written;
5058 cycles += model_u_multiply_after (current_cpu, idesc, 3, referenced);
5065 sh2_sh2_model::model_neg_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5067 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5068 const sh2_scache* abuf = sem;
5069 const sh2_idesc* idesc = abuf->idesc;
5073 in_usereg = FLD (in_rm);
5074 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5077 cycles += model_u_exec_before (current_cpu, idesc, 1);
5084 sh2_sh2_model::model_neg_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5086 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5087 const sh2_scache* abuf = sem;
5088 const sh2_idesc* idesc = abuf->idesc;
5092 unsigned long long insn_referenced = abuf->written;
5094 in_usereg = FLD (in_rm);
5095 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5099 unsigned long long insn_referenced = abuf->written;
5100 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5107 sh2_sh2_model::model_negc_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5109 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5110 const sh2_scache* abuf = sem;
5111 const sh2_idesc* idesc = abuf->idesc;
5115 in_usereg = FLD (in_rm);
5116 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5119 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5122 cycles += model_u_exec_before (current_cpu, idesc, 2);
5125 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
5132 sh2_sh2_model::model_negc_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5134 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5135 const sh2_scache* abuf = sem;
5136 const sh2_idesc* idesc = abuf->idesc;
5140 unsigned long long insn_referenced = abuf->written;
5142 in_usereg = FLD (in_rm);
5143 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5147 unsigned long long insn_referenced = abuf->written;
5148 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5152 unsigned long long insn_referenced = abuf->written;
5153 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5157 unsigned long long insn_referenced = abuf->written;
5158 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
5165 sh2_sh2_model::model_nop_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5167 #define FLD(f) abuf->fields.fmt_empty.f
5168 const sh2_scache* abuf = sem;
5169 const sh2_idesc* idesc = abuf->idesc;
5172 cycles += model_u_exec_before (current_cpu, idesc, 0);
5179 sh2_sh2_model::model_nop_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5181 #define FLD(f) abuf->fields.fmt_empty.f
5182 const sh2_scache* abuf = sem;
5183 const sh2_idesc* idesc = abuf->idesc;
5187 unsigned long long insn_referenced = abuf->written;
5188 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5195 sh2_sh2_model::model_not_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5197 #define FLD(f) abuf->fields.sfmt_and_compact.f
5198 const sh2_scache* abuf = sem;
5199 const sh2_idesc* idesc = abuf->idesc;
5203 in_usereg = FLD (in_rm64);
5204 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5207 cycles += model_u_exec_before (current_cpu, idesc, 1);
5214 sh2_sh2_model::model_not_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5216 #define FLD(f) abuf->fields.sfmt_and_compact.f
5217 const sh2_scache* abuf = sem;
5218 const sh2_idesc* idesc = abuf->idesc;
5222 unsigned long long insn_referenced = abuf->written;
5224 in_usereg = FLD (in_rm64);
5225 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5229 unsigned long long insn_referenced = abuf->written;
5230 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5237 sh2_sh2_model::model_or_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5239 #define FLD(f) abuf->fields.sfmt_and_compact.f
5240 const sh2_scache* abuf = sem;
5241 const sh2_idesc* idesc = abuf->idesc;
5245 in_usereg = FLD (in_rm64);
5246 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5250 in_usereg = FLD (in_rn64);
5251 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5254 cycles += model_u_exec_before (current_cpu, idesc, 2);
5261 sh2_sh2_model::model_or_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5263 #define FLD(f) abuf->fields.sfmt_and_compact.f
5264 const sh2_scache* abuf = sem;
5265 const sh2_idesc* idesc = abuf->idesc;
5269 unsigned long long insn_referenced = abuf->written;
5271 in_usereg = FLD (in_rm64);
5272 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5276 unsigned long long insn_referenced = abuf->written;
5278 in_usereg = FLD (in_rn64);
5279 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5283 unsigned long long insn_referenced = abuf->written;
5284 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5291 sh2_sh2_model::model_ori_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5293 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5294 const sh2_scache* abuf = sem;
5295 const sh2_idesc* idesc = abuf->idesc;
5299 in_usereg = FLD (in_r0);
5300 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5303 cycles += model_u_exec_before (current_cpu, idesc, 1);
5310 sh2_sh2_model::model_ori_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5312 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5313 const sh2_scache* abuf = sem;
5314 const sh2_idesc* idesc = abuf->idesc;
5318 unsigned long long insn_referenced = abuf->written;
5320 in_usereg = FLD (in_r0);
5321 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5325 unsigned long long insn_referenced = abuf->written;
5326 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5333 sh2_sh2_model::model_orb_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5335 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5336 const sh2_scache* abuf = sem;
5337 const sh2_idesc* idesc = abuf->idesc;
5341 in_usereg = FLD (in_r0);
5342 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5345 cycles += model_u_logic_b_before (current_cpu, idesc, 1);
5348 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
5355 sh2_sh2_model::model_orb_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5357 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5358 const sh2_scache* abuf = sem;
5359 const sh2_idesc* idesc = abuf->idesc;
5363 unsigned long long insn_referenced = abuf->written;
5365 in_usereg = FLD (in_r0);
5366 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5370 unsigned long long insn_referenced = abuf->written;
5371 cycles += model_u_logic_b_after (current_cpu, idesc, 1, referenced);
5375 unsigned long long insn_referenced = abuf->written;
5376 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
5383 sh2_sh2_model::model_rotcl_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5385 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5386 const sh2_scache* abuf = sem;
5387 const sh2_idesc* idesc = abuf->idesc;
5391 in_usereg = FLD (in_rn);
5392 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5395 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5398 cycles += model_u_exec_before (current_cpu, idesc, 2);
5401 cycles += model_u_shift_before (current_cpu, idesc, 3);
5404 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
5411 sh2_sh2_model::model_rotcl_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5413 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5414 const sh2_scache* abuf = sem;
5415 const sh2_idesc* idesc = abuf->idesc;
5419 unsigned long long insn_referenced = abuf->written;
5421 in_usereg = FLD (in_rn);
5422 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5426 unsigned long long insn_referenced = abuf->written;
5427 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5431 unsigned long long insn_referenced = abuf->written;
5432 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5436 unsigned long long insn_referenced = abuf->written;
5437 cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
5441 unsigned long long insn_referenced = abuf->written;
5442 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
5449 sh2_sh2_model::model_rotcr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5451 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5452 const sh2_scache* abuf = sem;
5453 const sh2_idesc* idesc = abuf->idesc;
5457 in_usereg = FLD (in_rn);
5458 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5461 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5464 cycles += model_u_exec_before (current_cpu, idesc, 2);
5467 cycles += model_u_shift_before (current_cpu, idesc, 3);
5470 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
5477 sh2_sh2_model::model_rotcr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5479 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5480 const sh2_scache* abuf = sem;
5481 const sh2_idesc* idesc = abuf->idesc;
5485 unsigned long long insn_referenced = abuf->written;
5487 in_usereg = FLD (in_rn);
5488 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5492 unsigned long long insn_referenced = abuf->written;
5493 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5497 unsigned long long insn_referenced = abuf->written;
5498 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5502 unsigned long long insn_referenced = abuf->written;
5503 cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
5507 unsigned long long insn_referenced = abuf->written;
5508 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
5515 sh2_sh2_model::model_rotl_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5517 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5518 const sh2_scache* abuf = sem;
5519 const sh2_idesc* idesc = abuf->idesc;
5523 in_usereg = FLD (in_rn);
5524 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5527 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5530 cycles += model_u_exec_before (current_cpu, idesc, 2);
5533 cycles += model_u_shift_before (current_cpu, idesc, 3);
5536 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
5543 sh2_sh2_model::model_rotl_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5545 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5546 const sh2_scache* abuf = sem;
5547 const sh2_idesc* idesc = abuf->idesc;
5551 unsigned long long insn_referenced = abuf->written;
5553 in_usereg = FLD (in_rn);
5554 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5558 unsigned long long insn_referenced = abuf->written;
5559 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5563 unsigned long long insn_referenced = abuf->written;
5564 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5568 unsigned long long insn_referenced = abuf->written;
5569 cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
5573 unsigned long long insn_referenced = abuf->written;
5574 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
5581 sh2_sh2_model::model_rotr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5583 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5584 const sh2_scache* abuf = sem;
5585 const sh2_idesc* idesc = abuf->idesc;
5589 in_usereg = FLD (in_rn);
5590 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5593 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5596 cycles += model_u_exec_before (current_cpu, idesc, 2);
5599 cycles += model_u_shift_before (current_cpu, idesc, 3);
5602 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
5609 sh2_sh2_model::model_rotr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5611 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5612 const sh2_scache* abuf = sem;
5613 const sh2_idesc* idesc = abuf->idesc;
5617 unsigned long long insn_referenced = abuf->written;
5619 in_usereg = FLD (in_rn);
5620 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5624 unsigned long long insn_referenced = abuf->written;
5625 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5629 unsigned long long insn_referenced = abuf->written;
5630 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5634 unsigned long long insn_referenced = abuf->written;
5635 cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
5639 unsigned long long insn_referenced = abuf->written;
5640 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
5647 sh2_sh2_model::model_rts_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5649 #define FLD(f) abuf->fields.fmt_empty.f
5650 const sh2_scache* abuf = sem;
5651 const sh2_idesc* idesc = abuf->idesc;
5654 cycles += model_u_jmp_before (current_cpu, idesc, 0);
5661 sh2_sh2_model::model_rts_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5663 #define FLD(f) abuf->fields.fmt_empty.f
5664 const sh2_scache* abuf = sem;
5665 const sh2_idesc* idesc = abuf->idesc;
5669 unsigned long long insn_referenced = abuf->written;
5670 referenced |= 1 << 0;
5671 cycles += model_u_jmp_after (current_cpu, idesc, 0, referenced);
5678 sh2_sh2_model::model_sett_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5680 #define FLD(f) abuf->fields.fmt_empty.f
5681 const sh2_scache* abuf = sem;
5682 const sh2_idesc* idesc = abuf->idesc;
5685 cycles += model_u_exec_before (current_cpu, idesc, 0);
5688 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5691 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 2);
5698 sh2_sh2_model::model_sett_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5700 #define FLD(f) abuf->fields.fmt_empty.f
5701 const sh2_scache* abuf = sem;
5702 const sh2_idesc* idesc = abuf->idesc;
5706 unsigned long long insn_referenced = abuf->written;
5707 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5711 unsigned long long insn_referenced = abuf->written;
5712 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5716 unsigned long long insn_referenced = abuf->written;
5717 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 2, referenced);
5724 sh2_sh2_model::model_shal_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5726 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5727 const sh2_scache* abuf = sem;
5728 const sh2_idesc* idesc = abuf->idesc;
5732 in_usereg = FLD (in_rn);
5733 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5736 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5739 cycles += model_u_exec_before (current_cpu, idesc, 2);
5742 cycles += model_u_shift_before (current_cpu, idesc, 3);
5745 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
5752 sh2_sh2_model::model_shal_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5754 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5755 const sh2_scache* abuf = sem;
5756 const sh2_idesc* idesc = abuf->idesc;
5760 unsigned long long insn_referenced = abuf->written;
5762 in_usereg = FLD (in_rn);
5763 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5767 unsigned long long insn_referenced = abuf->written;
5768 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5772 unsigned long long insn_referenced = abuf->written;
5773 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5777 unsigned long long insn_referenced = abuf->written;
5778 cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
5782 unsigned long long insn_referenced = abuf->written;
5783 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
5790 sh2_sh2_model::model_shar_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5792 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5793 const sh2_scache* abuf = sem;
5794 const sh2_idesc* idesc = abuf->idesc;
5798 in_usereg = FLD (in_rn);
5799 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5802 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5805 cycles += model_u_exec_before (current_cpu, idesc, 2);
5808 cycles += model_u_shift_before (current_cpu, idesc, 3);
5811 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
5818 sh2_sh2_model::model_shar_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5820 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5821 const sh2_scache* abuf = sem;
5822 const sh2_idesc* idesc = abuf->idesc;
5826 unsigned long long insn_referenced = abuf->written;
5828 in_usereg = FLD (in_rn);
5829 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5833 unsigned long long insn_referenced = abuf->written;
5834 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5838 unsigned long long insn_referenced = abuf->written;
5839 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5843 unsigned long long insn_referenced = abuf->written;
5844 cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
5848 unsigned long long insn_referenced = abuf->written;
5849 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
5856 sh2_sh2_model::model_shll_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5858 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5859 const sh2_scache* abuf = sem;
5860 const sh2_idesc* idesc = abuf->idesc;
5864 in_usereg = FLD (in_rn);
5865 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5868 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5871 cycles += model_u_exec_before (current_cpu, idesc, 2);
5874 cycles += model_u_shift_before (current_cpu, idesc, 3);
5877 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
5884 sh2_sh2_model::model_shll_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5886 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5887 const sh2_scache* abuf = sem;
5888 const sh2_idesc* idesc = abuf->idesc;
5892 unsigned long long insn_referenced = abuf->written;
5894 in_usereg = FLD (in_rn);
5895 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5899 unsigned long long insn_referenced = abuf->written;
5900 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5904 unsigned long long insn_referenced = abuf->written;
5905 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5909 unsigned long long insn_referenced = abuf->written;
5910 cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
5914 unsigned long long insn_referenced = abuf->written;
5915 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
5922 sh2_sh2_model::model_shll2_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5924 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5925 const sh2_scache* abuf = sem;
5926 const sh2_idesc* idesc = abuf->idesc;
5930 in_usereg = FLD (in_rn);
5931 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5934 cycles += model_u_exec_before (current_cpu, idesc, 1);
5937 cycles += model_u_shift_before (current_cpu, idesc, 2);
5944 sh2_sh2_model::model_shll2_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5946 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5947 const sh2_scache* abuf = sem;
5948 const sh2_idesc* idesc = abuf->idesc;
5952 unsigned long long insn_referenced = abuf->written;
5954 in_usereg = FLD (in_rn);
5955 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5959 unsigned long long insn_referenced = abuf->written;
5960 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5964 unsigned long long insn_referenced = abuf->written;
5965 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
5972 sh2_sh2_model::model_shll8_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
5974 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5975 const sh2_scache* abuf = sem;
5976 const sh2_idesc* idesc = abuf->idesc;
5980 in_usereg = FLD (in_rn);
5981 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5984 cycles += model_u_exec_before (current_cpu, idesc, 1);
5987 cycles += model_u_shift_before (current_cpu, idesc, 2);
5994 sh2_sh2_model::model_shll8_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
5996 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5997 const sh2_scache* abuf = sem;
5998 const sh2_idesc* idesc = abuf->idesc;
6002 unsigned long long insn_referenced = abuf->written;
6004 in_usereg = FLD (in_rn);
6005 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6009 unsigned long long insn_referenced = abuf->written;
6010 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6014 unsigned long long insn_referenced = abuf->written;
6015 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6022 sh2_sh2_model::model_shll16_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6024 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6025 const sh2_scache* abuf = sem;
6026 const sh2_idesc* idesc = abuf->idesc;
6030 in_usereg = FLD (in_rn);
6031 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6034 cycles += model_u_exec_before (current_cpu, idesc, 1);
6037 cycles += model_u_shift_before (current_cpu, idesc, 2);
6044 sh2_sh2_model::model_shll16_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6046 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6047 const sh2_scache* abuf = sem;
6048 const sh2_idesc* idesc = abuf->idesc;
6052 unsigned long long insn_referenced = abuf->written;
6054 in_usereg = FLD (in_rn);
6055 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6059 unsigned long long insn_referenced = abuf->written;
6060 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6064 unsigned long long insn_referenced = abuf->written;
6065 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6072 sh2_sh2_model::model_shlr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6074 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6075 const sh2_scache* abuf = sem;
6076 const sh2_idesc* idesc = abuf->idesc;
6080 in_usereg = FLD (in_rn);
6081 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6084 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
6087 cycles += model_u_exec_before (current_cpu, idesc, 2);
6090 cycles += model_u_shift_before (current_cpu, idesc, 3);
6093 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
6100 sh2_sh2_model::model_shlr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6102 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6103 const sh2_scache* abuf = sem;
6104 const sh2_idesc* idesc = abuf->idesc;
6108 unsigned long long insn_referenced = abuf->written;
6110 in_usereg = FLD (in_rn);
6111 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6115 unsigned long long insn_referenced = abuf->written;
6116 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
6120 unsigned long long insn_referenced = abuf->written;
6121 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6125 unsigned long long insn_referenced = abuf->written;
6126 cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
6130 unsigned long long insn_referenced = abuf->written;
6131 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
6138 sh2_sh2_model::model_shlr2_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6140 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6141 const sh2_scache* abuf = sem;
6142 const sh2_idesc* idesc = abuf->idesc;
6146 in_usereg = FLD (in_rn);
6147 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6150 cycles += model_u_exec_before (current_cpu, idesc, 1);
6153 cycles += model_u_shift_before (current_cpu, idesc, 2);
6160 sh2_sh2_model::model_shlr2_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6162 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6163 const sh2_scache* abuf = sem;
6164 const sh2_idesc* idesc = abuf->idesc;
6168 unsigned long long insn_referenced = abuf->written;
6170 in_usereg = FLD (in_rn);
6171 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6175 unsigned long long insn_referenced = abuf->written;
6176 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6180 unsigned long long insn_referenced = abuf->written;
6181 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6188 sh2_sh2_model::model_shlr8_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6190 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6191 const sh2_scache* abuf = sem;
6192 const sh2_idesc* idesc = abuf->idesc;
6196 in_usereg = FLD (in_rn);
6197 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6200 cycles += model_u_exec_before (current_cpu, idesc, 1);
6203 cycles += model_u_shift_before (current_cpu, idesc, 2);
6210 sh2_sh2_model::model_shlr8_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6212 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6213 const sh2_scache* abuf = sem;
6214 const sh2_idesc* idesc = abuf->idesc;
6218 unsigned long long insn_referenced = abuf->written;
6220 in_usereg = FLD (in_rn);
6221 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6225 unsigned long long insn_referenced = abuf->written;
6226 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6230 unsigned long long insn_referenced = abuf->written;
6231 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6238 sh2_sh2_model::model_shlr16_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6240 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6241 const sh2_scache* abuf = sem;
6242 const sh2_idesc* idesc = abuf->idesc;
6246 in_usereg = FLD (in_rn);
6247 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6250 cycles += model_u_exec_before (current_cpu, idesc, 1);
6253 cycles += model_u_shift_before (current_cpu, idesc, 2);
6260 sh2_sh2_model::model_shlr16_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6262 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6263 const sh2_scache* abuf = sem;
6264 const sh2_idesc* idesc = abuf->idesc;
6268 unsigned long long insn_referenced = abuf->written;
6270 in_usereg = FLD (in_rn);
6271 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6275 unsigned long long insn_referenced = abuf->written;
6276 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6280 unsigned long long insn_referenced = abuf->written;
6281 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6288 sh2_sh2_model::model_stc_gbr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6290 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6291 const sh2_scache* abuf = sem;
6292 const sh2_idesc* idesc = abuf->idesc;
6295 cycles += model_u_exec_before (current_cpu, idesc, 0);
6302 sh2_sh2_model::model_stc_gbr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6304 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6305 const sh2_scache* abuf = sem;
6306 const sh2_idesc* idesc = abuf->idesc;
6310 unsigned long long insn_referenced = abuf->written;
6311 cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6318 sh2_sh2_model::model_stc_vbr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6320 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6321 const sh2_scache* abuf = sem;
6322 const sh2_idesc* idesc = abuf->idesc;
6325 cycles += model_u_stc_vbr_before (current_cpu, idesc, 0);
6332 sh2_sh2_model::model_stc_vbr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6334 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6335 const sh2_scache* abuf = sem;
6336 const sh2_idesc* idesc = abuf->idesc;
6340 unsigned long long insn_referenced = abuf->written;
6341 cycles += model_u_stc_vbr_after (current_cpu, idesc, 0, referenced);
6348 sh2_sh2_model::model_stcl_gbr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6350 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6351 const sh2_scache* abuf = sem;
6352 const sh2_idesc* idesc = abuf->idesc;
6356 in_usereg = FLD (in_rn);
6357 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6360 cycles += model_u_ldcl_before (current_cpu, idesc, 1);
6363 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
6370 sh2_sh2_model::model_stcl_gbr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6372 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6373 const sh2_scache* abuf = sem;
6374 const sh2_idesc* idesc = abuf->idesc;
6378 unsigned long long insn_referenced = abuf->written;
6380 in_usereg = FLD (in_rn);
6381 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6385 unsigned long long insn_referenced = abuf->written;
6386 cycles += model_u_ldcl_after (current_cpu, idesc, 1, referenced);
6390 unsigned long long insn_referenced = abuf->written;
6391 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
6398 sh2_sh2_model::model_stcl_vbr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6400 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6401 const sh2_scache* abuf = sem;
6402 const sh2_idesc* idesc = abuf->idesc;
6406 in_usereg = FLD (in_rn);
6407 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6410 cycles += model_u_ldcl_before (current_cpu, idesc, 1);
6413 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
6420 sh2_sh2_model::model_stcl_vbr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6422 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6423 const sh2_scache* abuf = sem;
6424 const sh2_idesc* idesc = abuf->idesc;
6428 unsigned long long insn_referenced = abuf->written;
6430 in_usereg = FLD (in_rn);
6431 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6435 unsigned long long insn_referenced = abuf->written;
6436 cycles += model_u_ldcl_after (current_cpu, idesc, 1, referenced);
6440 unsigned long long insn_referenced = abuf->written;
6441 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
6448 sh2_sh2_model::model_sts_mach_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6450 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6451 const sh2_scache* abuf = sem;
6452 const sh2_idesc* idesc = abuf->idesc;
6455 cycles += model_u_use_multiply_result_before (current_cpu, idesc, 0);
6458 cycles += model_u_write_back_before (current_cpu, idesc, 1);
6461 cycles += model_u_exec_before (current_cpu, idesc, 2);
6464 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
6471 sh2_sh2_model::model_sts_mach_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6473 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6474 const sh2_scache* abuf = sem;
6475 const sh2_idesc* idesc = abuf->idesc;
6479 unsigned long long insn_referenced = abuf->written;
6480 cycles += model_u_use_multiply_result_after (current_cpu, idesc, 0, referenced);
6484 unsigned long long insn_referenced = abuf->written;
6485 cycles += model_u_write_back_after (current_cpu, idesc, 1, referenced);
6489 unsigned long long insn_referenced = abuf->written;
6490 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6494 unsigned long long insn_referenced = abuf->written;
6495 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
6502 sh2_sh2_model::model_stsl_mach_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6504 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6505 const sh2_scache* abuf = sem;
6506 const sh2_idesc* idesc = abuf->idesc;
6510 in_usereg = FLD (in_rn);
6511 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6514 cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
6517 cycles += model_u_write_back_before (current_cpu, idesc, 2);
6520 cycles += model_u_exec_before (current_cpu, idesc, 3);
6523 cycles += model_u_memory_access_before (current_cpu, idesc, 4);
6530 sh2_sh2_model::model_stsl_mach_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6532 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6533 const sh2_scache* abuf = sem;
6534 const sh2_idesc* idesc = abuf->idesc;
6538 unsigned long long insn_referenced = abuf->written;
6540 in_usereg = FLD (in_rn);
6541 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6545 unsigned long long insn_referenced = abuf->written;
6546 cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
6550 unsigned long long insn_referenced = abuf->written;
6551 cycles += model_u_write_back_after (current_cpu, idesc, 2, referenced);
6555 unsigned long long insn_referenced = abuf->written;
6556 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
6560 unsigned long long insn_referenced = abuf->written;
6561 cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
6568 sh2_sh2_model::model_sts_macl_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6570 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6571 const sh2_scache* abuf = sem;
6572 const sh2_idesc* idesc = abuf->idesc;
6575 cycles += model_u_use_multiply_result_before (current_cpu, idesc, 0);
6578 cycles += model_u_write_back_before (current_cpu, idesc, 1);
6581 cycles += model_u_exec_before (current_cpu, idesc, 2);
6584 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
6591 sh2_sh2_model::model_sts_macl_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6593 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6594 const sh2_scache* abuf = sem;
6595 const sh2_idesc* idesc = abuf->idesc;
6599 unsigned long long insn_referenced = abuf->written;
6600 cycles += model_u_use_multiply_result_after (current_cpu, idesc, 0, referenced);
6604 unsigned long long insn_referenced = abuf->written;
6605 cycles += model_u_write_back_after (current_cpu, idesc, 1, referenced);
6609 unsigned long long insn_referenced = abuf->written;
6610 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6614 unsigned long long insn_referenced = abuf->written;
6615 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
6622 sh2_sh2_model::model_stsl_macl_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6624 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6625 const sh2_scache* abuf = sem;
6626 const sh2_idesc* idesc = abuf->idesc;
6630 in_usereg = FLD (in_rn);
6631 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6634 cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
6637 cycles += model_u_write_back_before (current_cpu, idesc, 2);
6640 cycles += model_u_exec_before (current_cpu, idesc, 3);
6643 cycles += model_u_memory_access_before (current_cpu, idesc, 4);
6650 sh2_sh2_model::model_stsl_macl_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6652 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6653 const sh2_scache* abuf = sem;
6654 const sh2_idesc* idesc = abuf->idesc;
6658 unsigned long long insn_referenced = abuf->written;
6660 in_usereg = FLD (in_rn);
6661 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6665 unsigned long long insn_referenced = abuf->written;
6666 cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
6670 unsigned long long insn_referenced = abuf->written;
6671 cycles += model_u_write_back_after (current_cpu, idesc, 2, referenced);
6675 unsigned long long insn_referenced = abuf->written;
6676 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
6680 unsigned long long insn_referenced = abuf->written;
6681 cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
6688 sh2_sh2_model::model_sts_pr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6690 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6691 const sh2_scache* abuf = sem;
6692 const sh2_idesc* idesc = abuf->idesc;
6695 cycles += model_u_use_pr_before (current_cpu, idesc, 0);
6698 cycles += model_u_sts_pr_before (current_cpu, idesc, 1);
6705 sh2_sh2_model::model_sts_pr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6707 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6708 const sh2_scache* abuf = sem;
6709 const sh2_idesc* idesc = abuf->idesc;
6713 unsigned long long insn_referenced = abuf->written;
6714 cycles += model_u_use_pr_after (current_cpu, idesc, 0, referenced);
6718 unsigned long long insn_referenced = abuf->written;
6719 cycles += model_u_sts_pr_after (current_cpu, idesc, 1, referenced);
6726 sh2_sh2_model::model_stsl_pr_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6728 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6729 const sh2_scache* abuf = sem;
6730 const sh2_idesc* idesc = abuf->idesc;
6734 in_usereg = FLD (in_rn);
6735 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6738 cycles += model_u_use_pr_before (current_cpu, idesc, 1);
6741 cycles += model_u_sts_pr_before (current_cpu, idesc, 2);
6744 cycles += model_u_memory_access_before (current_cpu, idesc, 3);
6751 sh2_sh2_model::model_stsl_pr_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6753 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6754 const sh2_scache* abuf = sem;
6755 const sh2_idesc* idesc = abuf->idesc;
6759 unsigned long long insn_referenced = abuf->written;
6761 in_usereg = FLD (in_rn);
6762 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6766 unsigned long long insn_referenced = abuf->written;
6767 cycles += model_u_use_pr_after (current_cpu, idesc, 1, referenced);
6771 unsigned long long insn_referenced = abuf->written;
6772 cycles += model_u_sts_pr_after (current_cpu, idesc, 2, referenced);
6776 unsigned long long insn_referenced = abuf->written;
6777 cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
6784 sh2_sh2_model::model_sub_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6786 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6787 const sh2_scache* abuf = sem;
6788 const sh2_idesc* idesc = abuf->idesc;
6792 in_usereg = FLD (in_rn);
6793 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6797 in_usereg = FLD (in_rm);
6798 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6801 cycles += model_u_exec_before (current_cpu, idesc, 2);
6808 sh2_sh2_model::model_sub_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6810 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6811 const sh2_scache* abuf = sem;
6812 const sh2_idesc* idesc = abuf->idesc;
6816 unsigned long long insn_referenced = abuf->written;
6818 in_usereg = FLD (in_rn);
6819 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6823 unsigned long long insn_referenced = abuf->written;
6825 in_usereg = FLD (in_rm);
6826 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6830 unsigned long long insn_referenced = abuf->written;
6831 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6838 sh2_sh2_model::model_subc_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6840 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6841 const sh2_scache* abuf = sem;
6842 const sh2_idesc* idesc = abuf->idesc;
6846 in_usereg = FLD (in_rn);
6847 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6851 in_usereg = FLD (in_rm);
6852 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6855 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
6858 cycles += model_u_exec_before (current_cpu, idesc, 3);
6865 sh2_sh2_model::model_subc_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6867 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6868 const sh2_scache* abuf = sem;
6869 const sh2_idesc* idesc = abuf->idesc;
6873 unsigned long long insn_referenced = abuf->written;
6875 in_usereg = FLD (in_rn);
6876 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6880 unsigned long long insn_referenced = abuf->written;
6882 in_usereg = FLD (in_rm);
6883 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6887 unsigned long long insn_referenced = abuf->written;
6888 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
6892 unsigned long long insn_referenced = abuf->written;
6893 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
6900 sh2_sh2_model::model_subv_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6902 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6903 const sh2_scache* abuf = sem;
6904 const sh2_idesc* idesc = abuf->idesc;
6908 in_usereg = FLD (in_rn);
6909 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6913 in_usereg = FLD (in_rm);
6914 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6917 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
6920 cycles += model_u_exec_before (current_cpu, idesc, 3);
6923 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
6930 sh2_sh2_model::model_subv_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6932 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6933 const sh2_scache* abuf = sem;
6934 const sh2_idesc* idesc = abuf->idesc;
6938 unsigned long long insn_referenced = abuf->written;
6940 in_usereg = FLD (in_rn);
6941 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6945 unsigned long long insn_referenced = abuf->written;
6947 in_usereg = FLD (in_rm);
6948 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6952 unsigned long long insn_referenced = abuf->written;
6953 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
6957 unsigned long long insn_referenced = abuf->written;
6958 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
6962 unsigned long long insn_referenced = abuf->written;
6963 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
6970 sh2_sh2_model::model_swapb_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
6972 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
6973 const sh2_scache* abuf = sem;
6974 const sh2_idesc* idesc = abuf->idesc;
6978 in_usereg = FLD (in_rm);
6979 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6982 cycles += model_u_exec_before (current_cpu, idesc, 1);
6985 cycles += model_u_shift_before (current_cpu, idesc, 2);
6992 sh2_sh2_model::model_swapb_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
6994 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
6995 const sh2_scache* abuf = sem;
6996 const sh2_idesc* idesc = abuf->idesc;
7000 unsigned long long insn_referenced = abuf->written;
7002 in_usereg = FLD (in_rm);
7003 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7007 unsigned long long insn_referenced = abuf->written;
7008 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7012 unsigned long long insn_referenced = abuf->written;
7013 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
7020 sh2_sh2_model::model_swapw_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
7022 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
7023 const sh2_scache* abuf = sem;
7024 const sh2_idesc* idesc = abuf->idesc;
7028 in_usereg = FLD (in_rm);
7029 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7032 cycles += model_u_exec_before (current_cpu, idesc, 1);
7035 cycles += model_u_shift_before (current_cpu, idesc, 2);
7042 sh2_sh2_model::model_swapw_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
7044 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
7045 const sh2_scache* abuf = sem;
7046 const sh2_idesc* idesc = abuf->idesc;
7050 unsigned long long insn_referenced = abuf->written;
7052 in_usereg = FLD (in_rm);
7053 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7057 unsigned long long insn_referenced = abuf->written;
7058 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7062 unsigned long long insn_referenced = abuf->written;
7063 cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
7070 sh2_sh2_model::model_tasb_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
7072 #define FLD(f) abuf->fields.sfmt_addi_compact.f
7073 const sh2_scache* abuf = sem;
7074 const sh2_idesc* idesc = abuf->idesc;
7078 in_usereg = FLD (in_rn);
7079 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7082 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7085 cycles += model_u_tas_before (current_cpu, idesc, 2);
7088 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
7091 cycles += model_u_memory_access_before (current_cpu, idesc, 4);
7098 sh2_sh2_model::model_tasb_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
7100 #define FLD(f) abuf->fields.sfmt_addi_compact.f
7101 const sh2_scache* abuf = sem;
7102 const sh2_idesc* idesc = abuf->idesc;
7106 unsigned long long insn_referenced = abuf->written;
7108 in_usereg = FLD (in_rn);
7109 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7113 unsigned long long insn_referenced = abuf->written;
7114 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7118 unsigned long long insn_referenced = abuf->written;
7119 cycles += model_u_tas_after (current_cpu, idesc, 2, referenced);
7123 unsigned long long insn_referenced = abuf->written;
7124 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
7128 unsigned long long insn_referenced = abuf->written;
7129 cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
7136 sh2_sh2_model::model_trapa_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
7138 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7139 const sh2_scache* abuf = sem;
7140 const sh2_idesc* idesc = abuf->idesc;
7143 cycles += model_u_trap_before (current_cpu, idesc, 0);
7150 sh2_sh2_model::model_trapa_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
7152 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7153 const sh2_scache* abuf = sem;
7154 const sh2_idesc* idesc = abuf->idesc;
7158 unsigned long long insn_referenced = abuf->written;
7159 cycles += model_u_trap_after (current_cpu, idesc, 0, referenced);
7166 sh2_sh2_model::model_tst_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
7168 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
7169 const sh2_scache* abuf = sem;
7170 const sh2_idesc* idesc = abuf->idesc;
7174 in_usereg = FLD (in_rn);
7175 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7179 in_usereg = FLD (in_rm);
7180 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7183 cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
7186 cycles += model_u_exec_before (current_cpu, idesc, 3);
7189 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
7196 sh2_sh2_model::model_tst_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
7198 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
7199 const sh2_scache* abuf = sem;
7200 const sh2_idesc* idesc = abuf->idesc;
7204 unsigned long long insn_referenced = abuf->written;
7206 in_usereg = FLD (in_rn);
7207 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7211 unsigned long long insn_referenced = abuf->written;
7213 in_usereg = FLD (in_rm);
7214 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7218 unsigned long long insn_referenced = abuf->written;
7219 cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
7223 unsigned long long insn_referenced = abuf->written;
7224 cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
7228 unsigned long long insn_referenced = abuf->written;
7229 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
7236 sh2_sh2_model::model_tsti_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
7238 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7239 const sh2_scache* abuf = sem;
7240 const sh2_idesc* idesc = abuf->idesc;
7244 in_usereg = FLD (in_r0);
7245 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7248 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7251 cycles += model_u_exec_before (current_cpu, idesc, 2);
7254 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
7261 sh2_sh2_model::model_tsti_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
7263 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7264 const sh2_scache* abuf = sem;
7265 const sh2_idesc* idesc = abuf->idesc;
7269 unsigned long long insn_referenced = abuf->written;
7271 in_usereg = FLD (in_r0);
7272 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7276 unsigned long long insn_referenced = abuf->written;
7277 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7281 unsigned long long insn_referenced = abuf->written;
7282 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7286 unsigned long long insn_referenced = abuf->written;
7287 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
7294 sh2_sh2_model::model_tstb_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
7296 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7297 const sh2_scache* abuf = sem;
7298 const sh2_idesc* idesc = abuf->idesc;
7302 in_usereg = FLD (in_r0);
7303 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7306 cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7309 cycles += model_u_exec_before (current_cpu, idesc, 2);
7312 cycles += model_u_sx_before (current_cpu, idesc, 3);
7315 cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
7318 cycles += model_u_memory_access_before (current_cpu, idesc, 5);
7325 sh2_sh2_model::model_tstb_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
7327 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7328 const sh2_scache* abuf = sem;
7329 const sh2_idesc* idesc = abuf->idesc;
7333 unsigned long long insn_referenced = abuf->written;
7335 in_usereg = FLD (in_r0);
7336 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7340 unsigned long long insn_referenced = abuf->written;
7341 cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7345 unsigned long long insn_referenced = abuf->written;
7346 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7350 unsigned long long insn_referenced = abuf->written;
7351 cycles += model_u_sx_after (current_cpu, idesc, 3, referenced);
7355 unsigned long long insn_referenced = abuf->written;
7356 cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
7360 unsigned long long insn_referenced = abuf->written;
7361 cycles += model_u_memory_access_after (current_cpu, idesc, 5, referenced);
7368 sh2_sh2_model::model_xor_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
7370 #define FLD(f) abuf->fields.sfmt_and_compact.f
7371 const sh2_scache* abuf = sem;
7372 const sh2_idesc* idesc = abuf->idesc;
7376 in_usereg = FLD (in_rn64);
7377 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7381 in_usereg = FLD (in_rm64);
7382 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7385 cycles += model_u_exec_before (current_cpu, idesc, 2);
7392 sh2_sh2_model::model_xor_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
7394 #define FLD(f) abuf->fields.sfmt_and_compact.f
7395 const sh2_scache* abuf = sem;
7396 const sh2_idesc* idesc = abuf->idesc;
7400 unsigned long long insn_referenced = abuf->written;
7402 in_usereg = FLD (in_rn64);
7403 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7407 unsigned long long insn_referenced = abuf->written;
7409 in_usereg = FLD (in_rm64);
7410 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7414 unsigned long long insn_referenced = abuf->written;
7415 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7422 sh2_sh2_model::model_xori_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
7424 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7425 const sh2_scache* abuf = sem;
7426 const sh2_idesc* idesc = abuf->idesc;
7430 in_usereg = FLD (in_r0);
7431 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7434 cycles += model_u_exec_before (current_cpu, idesc, 1);
7441 sh2_sh2_model::model_xori_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
7443 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7444 const sh2_scache* abuf = sem;
7445 const sh2_idesc* idesc = abuf->idesc;
7449 unsigned long long insn_referenced = abuf->written;
7451 in_usereg = FLD (in_r0);
7452 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7456 unsigned long long insn_referenced = abuf->written;
7457 cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7464 sh2_sh2_model::model_xorb_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
7466 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7467 const sh2_scache* abuf = sem;
7468 const sh2_idesc* idesc = abuf->idesc;
7472 in_usereg = FLD (in_r0);
7473 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7476 cycles += model_u_logic_b_before (current_cpu, idesc, 1);
7479 cycles += model_u_memory_access_before (current_cpu, idesc, 2);
7486 sh2_sh2_model::model_xorb_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
7488 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7489 const sh2_scache* abuf = sem;
7490 const sh2_idesc* idesc = abuf->idesc;
7494 unsigned long long insn_referenced = abuf->written;
7496 in_usereg = FLD (in_r0);
7497 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7501 unsigned long long insn_referenced = abuf->written;
7502 cycles += model_u_logic_b_after (current_cpu, idesc, 1, referenced);
7506 unsigned long long insn_referenced = abuf->written;
7507 cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
7514 sh2_sh2_model::model_xtrct_compact_before (sh2_cpu *current_cpu, sh2_scache *sem)
7516 #define FLD(f) abuf->fields.sfmt_macl_compact.f
7517 const sh2_scache* abuf = sem;
7518 const sh2_idesc* idesc = abuf->idesc;
7522 in_usereg = FLD (in_rn);
7523 cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7527 in_usereg = FLD (in_rm);
7528 cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7531 cycles += model_u_exec_before (current_cpu, idesc, 2);
7534 cycles += model_u_shift_before (current_cpu, idesc, 3);
7541 sh2_sh2_model::model_xtrct_compact_after (sh2_cpu *current_cpu, sh2_scache *sem)
7543 #define FLD(f) abuf->fields.sfmt_macl_compact.f
7544 const sh2_scache* abuf = sem;
7545 const sh2_idesc* idesc = abuf->idesc;
7549 unsigned long long insn_referenced = abuf->written;
7551 in_usereg = FLD (in_rn);
7552 cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7556 unsigned long long insn_referenced = abuf->written;
7558 in_usereg = FLD (in_rm);
7559 cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7563 unsigned long long insn_referenced = abuf->written;
7564 cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7568 unsigned long long insn_referenced = abuf->written;
7569 cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
7575 /* We assume UNIT_NONE == 0 because the tables don't always terminate
7578 /* Model timing data for `sh2'. */
7580 const sh2_sh2_model::insn_timing sh2_sh2_model::timing[] = {
7581 { SH2_INSN_X_INVALID, 0, 0, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7582 { SH2_INSN_ADD_COMPACT, & sh2_sh2_model::model_add_compact_before, & sh2_sh2_model::model_add_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7583 { SH2_INSN_ADDI_COMPACT, & sh2_sh2_model::model_addi_compact_before, & sh2_sh2_model::model_addi_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7584 { SH2_INSN_ADDC_COMPACT, & sh2_sh2_model::model_addc_compact_before, & sh2_sh2_model::model_addc_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7585 { SH2_INSN_ADDV_COMPACT, & sh2_sh2_model::model_addv_compact_before, & sh2_sh2_model::model_addv_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7586 { SH2_INSN_AND_COMPACT, & sh2_sh2_model::model_and_compact_before, & sh2_sh2_model::model_and_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7587 { SH2_INSN_ANDI_COMPACT, & sh2_sh2_model::model_andi_compact_before, & sh2_sh2_model::model_andi_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7588 { SH2_INSN_ANDB_COMPACT, & sh2_sh2_model::model_andb_compact_before, & sh2_sh2_model::model_andb_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_LOGIC_B, 0, 3 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7589 { SH2_INSN_BF_COMPACT, & sh2_sh2_model::model_bf_compact_before, & sh2_sh2_model::model_bf_compact_after, { { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_BRANCH, 0, 3 } } },
7590 { SH2_INSN_BFS_COMPACT, & sh2_sh2_model::model_bfs_compact_before, & sh2_sh2_model::model_bfs_compact_after, { { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_BRANCH, 0, 2 } } },
7591 { SH2_INSN_BRA_COMPACT, & sh2_sh2_model::model_bra_compact_before, & sh2_sh2_model::model_bra_compact_after, { { sh2_sh2_model::UNIT_U_BRANCH, 0, 2 } } },
7592 { SH2_INSN_BRAF_COMPACT, & sh2_sh2_model::model_braf_compact_before, & sh2_sh2_model::model_braf_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_JMP, 0, 2 } } },
7593 { SH2_INSN_BSR_COMPACT, & sh2_sh2_model::model_bsr_compact_before, & sh2_sh2_model::model_bsr_compact_after, { { sh2_sh2_model::UNIT_U_BRANCH, 0, 2 } } },
7594 { SH2_INSN_BSRF_COMPACT, & sh2_sh2_model::model_bsrf_compact_before, & sh2_sh2_model::model_bsrf_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_JSR, 0, 2 } } },
7595 { SH2_INSN_BT_COMPACT, & sh2_sh2_model::model_bt_compact_before, & sh2_sh2_model::model_bt_compact_after, { { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_BRANCH, 0, 3 } } },
7596 { SH2_INSN_BTS_COMPACT, & sh2_sh2_model::model_bts_compact_before, & sh2_sh2_model::model_bts_compact_after, { { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_BRANCH, 0, 2 } } },
7597 { SH2_INSN_CLRMAC_COMPACT, & sh2_sh2_model::model_clrmac_compact_before, & sh2_sh2_model::model_clrmac_compact_after, { { sh2_sh2_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_MAC, 0, 0 } } },
7598 { SH2_INSN_CLRT_COMPACT, & sh2_sh2_model::model_clrt_compact_before, & sh2_sh2_model::model_clrt_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7599 { SH2_INSN_CMPEQ_COMPACT, & sh2_sh2_model::model_cmpeq_compact_before, & sh2_sh2_model::model_cmpeq_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7600 { SH2_INSN_CMPEQI_COMPACT, & sh2_sh2_model::model_cmpeqi_compact_before, & sh2_sh2_model::model_cmpeqi_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7601 { SH2_INSN_CMPGE_COMPACT, & sh2_sh2_model::model_cmpge_compact_before, & sh2_sh2_model::model_cmpge_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7602 { SH2_INSN_CMPGT_COMPACT, & sh2_sh2_model::model_cmpgt_compact_before, & sh2_sh2_model::model_cmpgt_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7603 { SH2_INSN_CMPHI_COMPACT, & sh2_sh2_model::model_cmphi_compact_before, & sh2_sh2_model::model_cmphi_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7604 { SH2_INSN_CMPHS_COMPACT, & sh2_sh2_model::model_cmphs_compact_before, & sh2_sh2_model::model_cmphs_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7605 { SH2_INSN_CMPPL_COMPACT, & sh2_sh2_model::model_cmppl_compact_before, & sh2_sh2_model::model_cmppl_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7606 { SH2_INSN_CMPPZ_COMPACT, & sh2_sh2_model::model_cmppz_compact_before, & sh2_sh2_model::model_cmppz_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7607 { SH2_INSN_CMPSTR_COMPACT, & sh2_sh2_model::model_cmpstr_compact_before, & sh2_sh2_model::model_cmpstr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7608 { SH2_INSN_DIV0S_COMPACT, & sh2_sh2_model::model_div0s_compact_before, & sh2_sh2_model::model_div0s_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7609 { SH2_INSN_DIV0U_COMPACT, & sh2_sh2_model::model_div0u_compact_before, & sh2_sh2_model::model_div0u_compact_after, { { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7610 { SH2_INSN_DIV1_COMPACT, & sh2_sh2_model::model_div1_compact_before, & sh2_sh2_model::model_div1_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7611 { SH2_INSN_DMULSL_COMPACT, & sh2_sh2_model::model_dmulsl_compact_before, & sh2_sh2_model::model_dmulsl_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_DMUL, 1, 2 } } },
7612 { SH2_INSN_DMULUL_COMPACT, & sh2_sh2_model::model_dmulul_compact_before, & sh2_sh2_model::model_dmulul_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_DMUL, 1, 2 } } },
7613 { SH2_INSN_DT_COMPACT, & sh2_sh2_model::model_dt_compact_before, & sh2_sh2_model::model_dt_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7614 { SH2_INSN_EXTSB_COMPACT, & sh2_sh2_model::model_extsb_compact_before, & sh2_sh2_model::model_extsb_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7615 { SH2_INSN_EXTSW_COMPACT, & sh2_sh2_model::model_extsw_compact_before, & sh2_sh2_model::model_extsw_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7616 { SH2_INSN_EXTUB_COMPACT, & sh2_sh2_model::model_extub_compact_before, & sh2_sh2_model::model_extub_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7617 { SH2_INSN_EXTUW_COMPACT, & sh2_sh2_model::model_extuw_compact_before, & sh2_sh2_model::model_extuw_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7618 { SH2_INSN_FRCHG_COMPACT, & sh2_sh2_model::model_frchg_compact_before, & sh2_sh2_model::model_frchg_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7619 { SH2_INSN_FSCHG_COMPACT, & sh2_sh2_model::model_fschg_compact_before, & sh2_sh2_model::model_fschg_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7620 { SH2_INSN_JMP_COMPACT, & sh2_sh2_model::model_jmp_compact_before, & sh2_sh2_model::model_jmp_compact_after, { { sh2_sh2_model::UNIT_U_JMP, 0, 2 } } },
7621 { SH2_INSN_JSR_COMPACT, & sh2_sh2_model::model_jsr_compact_before, & sh2_sh2_model::model_jsr_compact_after, { { sh2_sh2_model::UNIT_U_JSR, 0, 2 } } },
7622 { SH2_INSN_LDC_GBR_COMPACT, & sh2_sh2_model::model_ldc_gbr_compact_before, & sh2_sh2_model::model_ldc_gbr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_LDC_GBR, 0, 1 } } },
7623 { SH2_INSN_LDC_VBR_COMPACT, & sh2_sh2_model::model_ldc_vbr_compact_before, & sh2_sh2_model::model_ldc_vbr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7624 { SH2_INSN_LDC_SR_COMPACT, & sh2_sh2_model::model_ldc_sr_compact_before, & sh2_sh2_model::model_ldc_sr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_LDC_SR, 0, 1 } } },
7625 { SH2_INSN_LDCL_GBR_COMPACT, & sh2_sh2_model::model_ldcl_gbr_compact_before, & sh2_sh2_model::model_ldcl_gbr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_LDCL, 0, 3 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GBR, 0, 0 } } },
7626 { SH2_INSN_LDCL_VBR_COMPACT, & sh2_sh2_model::model_ldcl_vbr_compact_before, & sh2_sh2_model::model_ldcl_vbr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_LDCL_VBR, 0, 3 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_VBR, 0, 0 } } },
7627 { SH2_INSN_LDS_MACH_COMPACT, & sh2_sh2_model::model_lds_mach_compact_before, & sh2_sh2_model::model_lds_mach_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_MAC, 0, 0 } } },
7628 { SH2_INSN_LDSL_MACH_COMPACT, & sh2_sh2_model::model_ldsl_mach_compact_before, & sh2_sh2_model::model_ldsl_mach_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_MAC, 0, 0 } } },
7629 { SH2_INSN_LDS_MACL_COMPACT, & sh2_sh2_model::model_lds_macl_compact_before, & sh2_sh2_model::model_lds_macl_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_MAC, 0, 0 } } },
7630 { SH2_INSN_LDSL_MACL_COMPACT, & sh2_sh2_model::model_ldsl_macl_compact_before, & sh2_sh2_model::model_ldsl_macl_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_MAC, 0, 0 } } },
7631 { SH2_INSN_LDS_PR_COMPACT, & sh2_sh2_model::model_lds_pr_compact_before, & sh2_sh2_model::model_lds_pr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_LDS_PR, 0, 1 } } },
7632 { SH2_INSN_LDSL_PR_COMPACT, & sh2_sh2_model::model_ldsl_pr_compact_before, & sh2_sh2_model::model_ldsl_pr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_LDS_PR, 0, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_PR, 0, 0 } } },
7633 { SH2_INSN_MACL_COMPACT, & sh2_sh2_model::model_macl_compact_before, & sh2_sh2_model::model_macl_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_MACL, 1, 2 } } },
7634 { SH2_INSN_MACW_COMPACT, & sh2_sh2_model::model_macw_compact_before, & sh2_sh2_model::model_macw_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_MACW, 1, 2 } } },
7635 { SH2_INSN_MOV_COMPACT, & sh2_sh2_model::model_mov_compact_before, & sh2_sh2_model::model_mov_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7636 { SH2_INSN_MOVI_COMPACT, & sh2_sh2_model::model_movi_compact_before, & sh2_sh2_model::model_movi_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7637 { SH2_INSN_MOVB1_COMPACT, & sh2_sh2_model::model_movb1_compact_before, & sh2_sh2_model::model_movb1_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7638 { SH2_INSN_MOVB2_COMPACT, & sh2_sh2_model::model_movb2_compact_before, & sh2_sh2_model::model_movb2_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7639 { SH2_INSN_MOVB3_COMPACT, & sh2_sh2_model::model_movb3_compact_before, & sh2_sh2_model::model_movb3_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7640 { SH2_INSN_MOVB4_COMPACT, & sh2_sh2_model::model_movb4_compact_before, & sh2_sh2_model::model_movb4_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SX, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7641 { SH2_INSN_MOVB5_COMPACT, & sh2_sh2_model::model_movb5_compact_before, & sh2_sh2_model::model_movb5_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7642 { SH2_INSN_MOVB6_COMPACT, & sh2_sh2_model::model_movb6_compact_before, & sh2_sh2_model::model_movb6_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7643 { SH2_INSN_MOVB7_COMPACT, & sh2_sh2_model::model_movb7_compact_before, & sh2_sh2_model::model_movb7_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7644 { SH2_INSN_MOVB8_COMPACT, & sh2_sh2_model::model_movb8_compact_before, & sh2_sh2_model::model_movb8_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7645 { SH2_INSN_MOVB9_COMPACT, & sh2_sh2_model::model_movb9_compact_before, & sh2_sh2_model::model_movb9_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7646 { SH2_INSN_MOVB10_COMPACT, & sh2_sh2_model::model_movb10_compact_before, & sh2_sh2_model::model_movb10_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7647 { SH2_INSN_MOVL1_COMPACT, & sh2_sh2_model::model_movl1_compact_before, & sh2_sh2_model::model_movl1_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7648 { SH2_INSN_MOVL2_COMPACT, & sh2_sh2_model::model_movl2_compact_before, & sh2_sh2_model::model_movl2_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7649 { SH2_INSN_MOVL3_COMPACT, & sh2_sh2_model::model_movl3_compact_before, & sh2_sh2_model::model_movl3_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7650 { SH2_INSN_MOVL4_COMPACT, & sh2_sh2_model::model_movl4_compact_before, & sh2_sh2_model::model_movl4_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SX, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7651 { SH2_INSN_MOVL5_COMPACT, & sh2_sh2_model::model_movl5_compact_before, & sh2_sh2_model::model_movl5_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7652 { SH2_INSN_MOVL6_COMPACT, & sh2_sh2_model::model_movl6_compact_before, & sh2_sh2_model::model_movl6_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7653 { SH2_INSN_MOVL7_COMPACT, & sh2_sh2_model::model_movl7_compact_before, & sh2_sh2_model::model_movl7_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7654 { SH2_INSN_MOVL8_COMPACT, & sh2_sh2_model::model_movl8_compact_before, & sh2_sh2_model::model_movl8_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7655 { SH2_INSN_MOVL9_COMPACT, & sh2_sh2_model::model_movl9_compact_before, & sh2_sh2_model::model_movl9_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7656 { SH2_INSN_MOVL10_COMPACT, & sh2_sh2_model::model_movl10_compact_before, & sh2_sh2_model::model_movl10_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7657 { SH2_INSN_MOVL11_COMPACT, & sh2_sh2_model::model_movl11_compact_before, & sh2_sh2_model::model_movl11_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7658 { SH2_INSN_MOVW1_COMPACT, & sh2_sh2_model::model_movw1_compact_before, & sh2_sh2_model::model_movw1_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7659 { SH2_INSN_MOVW2_COMPACT, & sh2_sh2_model::model_movw2_compact_before, & sh2_sh2_model::model_movw2_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7660 { SH2_INSN_MOVW3_COMPACT, & sh2_sh2_model::model_movw3_compact_before, & sh2_sh2_model::model_movw3_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7661 { SH2_INSN_MOVW4_COMPACT, & sh2_sh2_model::model_movw4_compact_before, & sh2_sh2_model::model_movw4_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SX, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7662 { SH2_INSN_MOVW5_COMPACT, & sh2_sh2_model::model_movw5_compact_before, & sh2_sh2_model::model_movw5_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7663 { SH2_INSN_MOVW6_COMPACT, & sh2_sh2_model::model_movw6_compact_before, & sh2_sh2_model::model_movw6_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7664 { SH2_INSN_MOVW7_COMPACT, & sh2_sh2_model::model_movw7_compact_before, & sh2_sh2_model::model_movw7_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7665 { SH2_INSN_MOVW8_COMPACT, & sh2_sh2_model::model_movw8_compact_before, & sh2_sh2_model::model_movw8_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7666 { SH2_INSN_MOVW9_COMPACT, & sh2_sh2_model::model_movw9_compact_before, & sh2_sh2_model::model_movw9_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7667 { SH2_INSN_MOVW10_COMPACT, & sh2_sh2_model::model_movw10_compact_before, & sh2_sh2_model::model_movw10_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7668 { SH2_INSN_MOVW11_COMPACT, & sh2_sh2_model::model_movw11_compact_before, & sh2_sh2_model::model_movw11_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2_sh2_model::UNIT_U_LOAD_GR, 0, 0 } } },
7669 { SH2_INSN_MOVA_COMPACT, & sh2_sh2_model::model_mova_compact_before, & sh2_sh2_model::model_mova_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7670 { SH2_INSN_MOVT_COMPACT, & sh2_sh2_model::model_movt_compact_before, & sh2_sh2_model::model_movt_compact_after, { { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7671 { SH2_INSN_MULL_COMPACT, & sh2_sh2_model::model_mull_compact_before, & sh2_sh2_model::model_mull_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_MULL, 1, 2 } } },
7672 { SH2_INSN_MULSW_COMPACT, & sh2_sh2_model::model_mulsw_compact_before, & sh2_sh2_model::model_mulsw_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_MULSW, 1, 1 }, { sh2_sh2_model::UNIT_U_MULTIPLY, 1, 2 } } },
7673 { SH2_INSN_MULUW_COMPACT, & sh2_sh2_model::model_muluw_compact_before, & sh2_sh2_model::model_muluw_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_MULSW, 1, 1 }, { sh2_sh2_model::UNIT_U_MULTIPLY, 1, 2 } } },
7674 { SH2_INSN_NEG_COMPACT, & sh2_sh2_model::model_neg_compact_before, & sh2_sh2_model::model_neg_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7675 { SH2_INSN_NEGC_COMPACT, & sh2_sh2_model::model_negc_compact_before, & sh2_sh2_model::model_negc_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7676 { SH2_INSN_NOP_COMPACT, & sh2_sh2_model::model_nop_compact_before, & sh2_sh2_model::model_nop_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7677 { SH2_INSN_NOT_COMPACT, & sh2_sh2_model::model_not_compact_before, & sh2_sh2_model::model_not_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7678 { SH2_INSN_OR_COMPACT, & sh2_sh2_model::model_or_compact_before, & sh2_sh2_model::model_or_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7679 { SH2_INSN_ORI_COMPACT, & sh2_sh2_model::model_ori_compact_before, & sh2_sh2_model::model_ori_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7680 { SH2_INSN_ORB_COMPACT, & sh2_sh2_model::model_orb_compact_before, & sh2_sh2_model::model_orb_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_LOGIC_B, 0, 3 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7681 { SH2_INSN_ROTCL_COMPACT, & sh2_sh2_model::model_rotcl_compact_before, & sh2_sh2_model::model_rotcl_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7682 { SH2_INSN_ROTCR_COMPACT, & sh2_sh2_model::model_rotcr_compact_before, & sh2_sh2_model::model_rotcr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7683 { SH2_INSN_ROTL_COMPACT, & sh2_sh2_model::model_rotl_compact_before, & sh2_sh2_model::model_rotl_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7684 { SH2_INSN_ROTR_COMPACT, & sh2_sh2_model::model_rotr_compact_before, & sh2_sh2_model::model_rotr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7685 { SH2_INSN_RTS_COMPACT, & sh2_sh2_model::model_rts_compact_before, & sh2_sh2_model::model_rts_compact_after, { { sh2_sh2_model::UNIT_U_JMP, 0, 2 } } },
7686 { SH2_INSN_SETT_COMPACT, & sh2_sh2_model::model_sett_compact_before, & sh2_sh2_model::model_sett_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7687 { SH2_INSN_SHAL_COMPACT, & sh2_sh2_model::model_shal_compact_before, & sh2_sh2_model::model_shal_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7688 { SH2_INSN_SHAR_COMPACT, & sh2_sh2_model::model_shar_compact_before, & sh2_sh2_model::model_shar_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7689 { SH2_INSN_SHLL_COMPACT, & sh2_sh2_model::model_shll_compact_before, & sh2_sh2_model::model_shll_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7690 { SH2_INSN_SHLL2_COMPACT, & sh2_sh2_model::model_shll2_compact_before, & sh2_sh2_model::model_shll2_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7691 { SH2_INSN_SHLL8_COMPACT, & sh2_sh2_model::model_shll8_compact_before, & sh2_sh2_model::model_shll8_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7692 { SH2_INSN_SHLL16_COMPACT, & sh2_sh2_model::model_shll16_compact_before, & sh2_sh2_model::model_shll16_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7693 { SH2_INSN_SHLR_COMPACT, & sh2_sh2_model::model_shlr_compact_before, & sh2_sh2_model::model_shlr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7694 { SH2_INSN_SHLR2_COMPACT, & sh2_sh2_model::model_shlr2_compact_before, & sh2_sh2_model::model_shlr2_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7695 { SH2_INSN_SHLR8_COMPACT, & sh2_sh2_model::model_shlr8_compact_before, & sh2_sh2_model::model_shlr8_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7696 { SH2_INSN_SHLR16_COMPACT, & sh2_sh2_model::model_shlr16_compact_before, & sh2_sh2_model::model_shlr16_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7697 { SH2_INSN_STC_GBR_COMPACT, & sh2_sh2_model::model_stc_gbr_compact_before, & sh2_sh2_model::model_stc_gbr_compact_after, { { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7698 { SH2_INSN_STC_VBR_COMPACT, & sh2_sh2_model::model_stc_vbr_compact_before, & sh2_sh2_model::model_stc_vbr_compact_after, { { sh2_sh2_model::UNIT_U_STC_VBR, 0, 1 } } },
7699 { SH2_INSN_STCL_GBR_COMPACT, & sh2_sh2_model::model_stcl_gbr_compact_before, & sh2_sh2_model::model_stcl_gbr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_LDCL, 0, 2 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7700 { SH2_INSN_STCL_VBR_COMPACT, & sh2_sh2_model::model_stcl_vbr_compact_before, & sh2_sh2_model::model_stcl_vbr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_LDCL, 0, 2 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7701 { SH2_INSN_STS_MACH_COMPACT, & sh2_sh2_model::model_sts_mach_compact_before, & sh2_sh2_model::model_sts_mach_compact_after, { { sh2_sh2_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2_sh2_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7702 { SH2_INSN_STSL_MACH_COMPACT, & sh2_sh2_model::model_stsl_mach_compact_before, & sh2_sh2_model::model_stsl_mach_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2_sh2_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7703 { SH2_INSN_STS_MACL_COMPACT, & sh2_sh2_model::model_sts_macl_compact_before, & sh2_sh2_model::model_sts_macl_compact_after, { { sh2_sh2_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2_sh2_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7704 { SH2_INSN_STSL_MACL_COMPACT, & sh2_sh2_model::model_stsl_macl_compact_before, & sh2_sh2_model::model_stsl_macl_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2_sh2_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7705 { SH2_INSN_STS_PR_COMPACT, & sh2_sh2_model::model_sts_pr_compact_before, & sh2_sh2_model::model_sts_pr_compact_after, { { sh2_sh2_model::UNIT_U_USE_PR, 0, 0 }, { sh2_sh2_model::UNIT_U_STS_PR, 0, 1 } } },
7706 { SH2_INSN_STSL_PR_COMPACT, & sh2_sh2_model::model_stsl_pr_compact_before, & sh2_sh2_model::model_stsl_pr_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_PR, 0, 0 }, { sh2_sh2_model::UNIT_U_STS_PR, 0, 1 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7707 { SH2_INSN_SUB_COMPACT, & sh2_sh2_model::model_sub_compact_before, & sh2_sh2_model::model_sub_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7708 { SH2_INSN_SUBC_COMPACT, & sh2_sh2_model::model_subc_compact_before, & sh2_sh2_model::model_subc_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7709 { SH2_INSN_SUBV_COMPACT, & sh2_sh2_model::model_subv_compact_before, & sh2_sh2_model::model_subv_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7710 { SH2_INSN_SWAPB_COMPACT, & sh2_sh2_model::model_swapb_compact_before, & sh2_sh2_model::model_swapb_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7711 { SH2_INSN_SWAPW_COMPACT, & sh2_sh2_model::model_swapw_compact_before, & sh2_sh2_model::model_swapw_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },
7712 { SH2_INSN_TASB_COMPACT, & sh2_sh2_model::model_tasb_compact_before, & sh2_sh2_model::model_tasb_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_TAS, 1, 4 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7713 { SH2_INSN_TRAPA_COMPACT, & sh2_sh2_model::model_trapa_compact_before, & sh2_sh2_model::model_trapa_compact_after, { { sh2_sh2_model::UNIT_U_TRAP, 0, 8 } } },
7714 { SH2_INSN_TST_COMPACT, & sh2_sh2_model::model_tst_compact_before, & sh2_sh2_model::model_tst_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7715 { SH2_INSN_TSTI_COMPACT, & sh2_sh2_model::model_tsti_compact_before, & sh2_sh2_model::model_tsti_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
7716 { SH2_INSN_TSTB_COMPACT, & sh2_sh2_model::model_tstb_compact_before, & sh2_sh2_model::model_tstb_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 3 }, { sh2_sh2_model::UNIT_U_SX, 1, 3 }, { sh2_sh2_model::UNIT_U_SET_SR_BIT, 0, 0 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7717 { SH2_INSN_XOR_COMPACT, & sh2_sh2_model::model_xor_compact_before, & sh2_sh2_model::model_xor_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7718 { SH2_INSN_XORI_COMPACT, & sh2_sh2_model::model_xori_compact_before, & sh2_sh2_model::model_xori_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 } } },
7719 { SH2_INSN_XORB_COMPACT, & sh2_sh2_model::model_xorb_compact_before, & sh2_sh2_model::model_xorb_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_LOGIC_B, 0, 3 }, { sh2_sh2_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
7720 { SH2_INSN_XTRCT_COMPACT, & sh2_sh2_model::model_xtrct_compact_before, & sh2_sh2_model::model_xtrct_compact_after, { { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_USE_GR, 0, 0 }, { sh2_sh2_model::UNIT_U_EXEC, 1, 1 }, { sh2_sh2_model::UNIT_U_SHIFT, 0, 0 } } },