OSDN Git Service

ab0de1d94a907dba0e81473c33b99fc11a519415
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / cgen-cpu / sh / sh5-media-model.cxx
1 /* Simulator model support for sh5_media.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright (C) 2000-2009 Red Hat, Inc.
6
7 This file is part of the Red Hat simulators.
8
9
10 */
11
12
13 #if HAVE_CONFIG_H
14 #include "config.h"
15 #endif
16 #include "sh5.h"
17
18 using namespace sh5; // FIXME: namespace organization still wip
19
20 /* The profiling data is recorded here, but is accessed via the profiling
21    mechanism.  After all, this is information for profiling.  */
22
23 /* Model handlers for each insn.  */
24
25 sh5_media_sh5_model::sh5_media_sh5_model (sh5_cpu *cpu)
26   : cgen_model (cpu)
27 {
28 }
29
30 UINT
31 sh5_media_sh5_model::model_add_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
32 {
33 #define FLD(f) abuf->fields.sfmt_mcmv.f
34   const sh5_media_scache* abuf = sem;
35   const sh5_media_idesc* idesc = abuf->idesc;
36   int cycles = 0;
37   {
38     cycles += model_u_exec_before (current_cpu, idesc, 0);
39   }
40   return cycles;
41 #undef FLD
42 }
43
44 UINT
45 sh5_media_sh5_model::model_add_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
46 {
47 #define FLD(f) abuf->fields.sfmt_mcmv.f
48   const sh5_media_scache* abuf = sem;
49   const sh5_media_idesc* idesc = abuf->idesc;
50   int cycles = 0;
51   {
52     int referenced = 0;
53     unsigned long long insn_referenced = abuf->written;
54     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
55   }
56   return cycles;
57 #undef FLD
58 }
59
60 UINT
61 sh5_media_sh5_model::model_addl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
62 {
63 #define FLD(f) abuf->fields.sfmt_mcmv.f
64   const sh5_media_scache* abuf = sem;
65   const sh5_media_idesc* idesc = abuf->idesc;
66   int cycles = 0;
67   {
68     cycles += model_u_exec_before (current_cpu, idesc, 0);
69   }
70   return cycles;
71 #undef FLD
72 }
73
74 UINT
75 sh5_media_sh5_model::model_addl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
76 {
77 #define FLD(f) abuf->fields.sfmt_mcmv.f
78   const sh5_media_scache* abuf = sem;
79   const sh5_media_idesc* idesc = abuf->idesc;
80   int cycles = 0;
81   {
82     int referenced = 0;
83     unsigned long long insn_referenced = abuf->written;
84     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
85   }
86   return cycles;
87 #undef FLD
88 }
89
90 UINT
91 sh5_media_sh5_model::model_addi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
92 {
93 #define FLD(f) abuf->fields.sfmt_addi.f
94   const sh5_media_scache* abuf = sem;
95   const sh5_media_idesc* idesc = abuf->idesc;
96   int cycles = 0;
97   {
98     cycles += model_u_exec_before (current_cpu, idesc, 0);
99   }
100   return cycles;
101 #undef FLD
102 }
103
104 UINT
105 sh5_media_sh5_model::model_addi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
106 {
107 #define FLD(f) abuf->fields.sfmt_addi.f
108   const sh5_media_scache* abuf = sem;
109   const sh5_media_idesc* idesc = abuf->idesc;
110   int cycles = 0;
111   {
112     int referenced = 0;
113     unsigned long long insn_referenced = abuf->written;
114     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
115   }
116   return cycles;
117 #undef FLD
118 }
119
120 UINT
121 sh5_media_sh5_model::model_addil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
122 {
123 #define FLD(f) abuf->fields.sfmt_addi.f
124   const sh5_media_scache* abuf = sem;
125   const sh5_media_idesc* idesc = abuf->idesc;
126   int cycles = 0;
127   {
128     cycles += model_u_exec_before (current_cpu, idesc, 0);
129   }
130   return cycles;
131 #undef FLD
132 }
133
134 UINT
135 sh5_media_sh5_model::model_addil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
136 {
137 #define FLD(f) abuf->fields.sfmt_addi.f
138   const sh5_media_scache* abuf = sem;
139   const sh5_media_idesc* idesc = abuf->idesc;
140   int cycles = 0;
141   {
142     int referenced = 0;
143     unsigned long long insn_referenced = abuf->written;
144     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
145   }
146   return cycles;
147 #undef FLD
148 }
149
150 UINT
151 sh5_media_sh5_model::model_addzl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
152 {
153 #define FLD(f) abuf->fields.sfmt_mcmv.f
154   const sh5_media_scache* abuf = sem;
155   const sh5_media_idesc* idesc = abuf->idesc;
156   int cycles = 0;
157   {
158     cycles += model_u_exec_before (current_cpu, idesc, 0);
159   }
160   return cycles;
161 #undef FLD
162 }
163
164 UINT
165 sh5_media_sh5_model::model_addzl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
166 {
167 #define FLD(f) abuf->fields.sfmt_mcmv.f
168   const sh5_media_scache* abuf = sem;
169   const sh5_media_idesc* idesc = abuf->idesc;
170   int cycles = 0;
171   {
172     int referenced = 0;
173     unsigned long long insn_referenced = abuf->written;
174     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
175   }
176   return cycles;
177 #undef FLD
178 }
179
180 UINT
181 sh5_media_sh5_model::model_alloco_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
182 {
183 #define FLD(f) abuf->fields.sfmt_alloco.f
184   const sh5_media_scache* abuf = sem;
185   const sh5_media_idesc* idesc = abuf->idesc;
186   int cycles = 0;
187   {
188     cycles += model_u_exec_before (current_cpu, idesc, 0);
189   }
190   return cycles;
191 #undef FLD
192 }
193
194 UINT
195 sh5_media_sh5_model::model_alloco_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
196 {
197 #define FLD(f) abuf->fields.sfmt_alloco.f
198   const sh5_media_scache* abuf = sem;
199   const sh5_media_idesc* idesc = abuf->idesc;
200   int cycles = 0;
201   {
202     int referenced = 0;
203     unsigned long long insn_referenced = abuf->written;
204     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
205   }
206   return cycles;
207 #undef FLD
208 }
209
210 UINT
211 sh5_media_sh5_model::model_and_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
212 {
213 #define FLD(f) abuf->fields.sfmt_mcmv.f
214   const sh5_media_scache* abuf = sem;
215   const sh5_media_idesc* idesc = abuf->idesc;
216   int cycles = 0;
217   {
218     cycles += model_u_exec_before (current_cpu, idesc, 0);
219   }
220   return cycles;
221 #undef FLD
222 }
223
224 UINT
225 sh5_media_sh5_model::model_and_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
226 {
227 #define FLD(f) abuf->fields.sfmt_mcmv.f
228   const sh5_media_scache* abuf = sem;
229   const sh5_media_idesc* idesc = abuf->idesc;
230   int cycles = 0;
231   {
232     int referenced = 0;
233     unsigned long long insn_referenced = abuf->written;
234     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
235   }
236   return cycles;
237 #undef FLD
238 }
239
240 UINT
241 sh5_media_sh5_model::model_andc_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
242 {
243 #define FLD(f) abuf->fields.sfmt_mcmv.f
244   const sh5_media_scache* abuf = sem;
245   const sh5_media_idesc* idesc = abuf->idesc;
246   int cycles = 0;
247   {
248     cycles += model_u_exec_before (current_cpu, idesc, 0);
249   }
250   return cycles;
251 #undef FLD
252 }
253
254 UINT
255 sh5_media_sh5_model::model_andc_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
256 {
257 #define FLD(f) abuf->fields.sfmt_mcmv.f
258   const sh5_media_scache* abuf = sem;
259   const sh5_media_idesc* idesc = abuf->idesc;
260   int cycles = 0;
261   {
262     int referenced = 0;
263     unsigned long long insn_referenced = abuf->written;
264     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
265   }
266   return cycles;
267 #undef FLD
268 }
269
270 UINT
271 sh5_media_sh5_model::model_andi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
272 {
273 #define FLD(f) abuf->fields.sfmt_addi.f
274   const sh5_media_scache* abuf = sem;
275   const sh5_media_idesc* idesc = abuf->idesc;
276   int cycles = 0;
277   {
278     cycles += model_u_exec_before (current_cpu, idesc, 0);
279   }
280   return cycles;
281 #undef FLD
282 }
283
284 UINT
285 sh5_media_sh5_model::model_andi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
286 {
287 #define FLD(f) abuf->fields.sfmt_addi.f
288   const sh5_media_scache* abuf = sem;
289   const sh5_media_idesc* idesc = abuf->idesc;
290   int cycles = 0;
291   {
292     int referenced = 0;
293     unsigned long long insn_referenced = abuf->written;
294     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
295   }
296   return cycles;
297 #undef FLD
298 }
299
300 UINT
301 sh5_media_sh5_model::model_beq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
302 {
303 #define FLD(f) abuf->fields.sfmt_beq.f
304   const sh5_media_scache* abuf = sem;
305   const sh5_media_idesc* idesc = abuf->idesc;
306   int cycles = 0;
307   {
308     cycles += model_u_exec_before (current_cpu, idesc, 0);
309   }
310   return cycles;
311 #undef FLD
312 }
313
314 UINT
315 sh5_media_sh5_model::model_beq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
316 {
317 #define FLD(f) abuf->fields.sfmt_beq.f
318   const sh5_media_scache* abuf = sem;
319   const sh5_media_idesc* idesc = abuf->idesc;
320   int cycles = 0;
321   {
322     int referenced = 0;
323     unsigned long long insn_referenced = abuf->written;
324     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
325   }
326   return cycles;
327 #undef FLD
328 }
329
330 UINT
331 sh5_media_sh5_model::model_beqi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
332 {
333 #define FLD(f) abuf->fields.sfmt_beqi.f
334   const sh5_media_scache* abuf = sem;
335   const sh5_media_idesc* idesc = abuf->idesc;
336   int cycles = 0;
337   {
338     cycles += model_u_exec_before (current_cpu, idesc, 0);
339   }
340   return cycles;
341 #undef FLD
342 }
343
344 UINT
345 sh5_media_sh5_model::model_beqi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
346 {
347 #define FLD(f) abuf->fields.sfmt_beqi.f
348   const sh5_media_scache* abuf = sem;
349   const sh5_media_idesc* idesc = abuf->idesc;
350   int cycles = 0;
351   {
352     int referenced = 0;
353     unsigned long long insn_referenced = abuf->written;
354     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
355   }
356   return cycles;
357 #undef FLD
358 }
359
360 UINT
361 sh5_media_sh5_model::model_bge_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
362 {
363 #define FLD(f) abuf->fields.sfmt_beq.f
364   const sh5_media_scache* abuf = sem;
365   const sh5_media_idesc* idesc = abuf->idesc;
366   int cycles = 0;
367   {
368     cycles += model_u_exec_before (current_cpu, idesc, 0);
369   }
370   return cycles;
371 #undef FLD
372 }
373
374 UINT
375 sh5_media_sh5_model::model_bge_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
376 {
377 #define FLD(f) abuf->fields.sfmt_beq.f
378   const sh5_media_scache* abuf = sem;
379   const sh5_media_idesc* idesc = abuf->idesc;
380   int cycles = 0;
381   {
382     int referenced = 0;
383     unsigned long long insn_referenced = abuf->written;
384     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
385   }
386   return cycles;
387 #undef FLD
388 }
389
390 UINT
391 sh5_media_sh5_model::model_bgeu_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
392 {
393 #define FLD(f) abuf->fields.sfmt_beq.f
394   const sh5_media_scache* abuf = sem;
395   const sh5_media_idesc* idesc = abuf->idesc;
396   int cycles = 0;
397   {
398     cycles += model_u_exec_before (current_cpu, idesc, 0);
399   }
400   return cycles;
401 #undef FLD
402 }
403
404 UINT
405 sh5_media_sh5_model::model_bgeu_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
406 {
407 #define FLD(f) abuf->fields.sfmt_beq.f
408   const sh5_media_scache* abuf = sem;
409   const sh5_media_idesc* idesc = abuf->idesc;
410   int cycles = 0;
411   {
412     int referenced = 0;
413     unsigned long long insn_referenced = abuf->written;
414     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
415   }
416   return cycles;
417 #undef FLD
418 }
419
420 UINT
421 sh5_media_sh5_model::model_bgt_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
422 {
423 #define FLD(f) abuf->fields.sfmt_beq.f
424   const sh5_media_scache* abuf = sem;
425   const sh5_media_idesc* idesc = abuf->idesc;
426   int cycles = 0;
427   {
428     cycles += model_u_exec_before (current_cpu, idesc, 0);
429   }
430   return cycles;
431 #undef FLD
432 }
433
434 UINT
435 sh5_media_sh5_model::model_bgt_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
436 {
437 #define FLD(f) abuf->fields.sfmt_beq.f
438   const sh5_media_scache* abuf = sem;
439   const sh5_media_idesc* idesc = abuf->idesc;
440   int cycles = 0;
441   {
442     int referenced = 0;
443     unsigned long long insn_referenced = abuf->written;
444     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
445   }
446   return cycles;
447 #undef FLD
448 }
449
450 UINT
451 sh5_media_sh5_model::model_bgtu_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
452 {
453 #define FLD(f) abuf->fields.sfmt_beq.f
454   const sh5_media_scache* abuf = sem;
455   const sh5_media_idesc* idesc = abuf->idesc;
456   int cycles = 0;
457   {
458     cycles += model_u_exec_before (current_cpu, idesc, 0);
459   }
460   return cycles;
461 #undef FLD
462 }
463
464 UINT
465 sh5_media_sh5_model::model_bgtu_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
466 {
467 #define FLD(f) abuf->fields.sfmt_beq.f
468   const sh5_media_scache* abuf = sem;
469   const sh5_media_idesc* idesc = abuf->idesc;
470   int cycles = 0;
471   {
472     int referenced = 0;
473     unsigned long long insn_referenced = abuf->written;
474     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
475   }
476   return cycles;
477 #undef FLD
478 }
479
480 UINT
481 sh5_media_sh5_model::model_blink_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
482 {
483 #define FLD(f) abuf->fields.sfmt_blink.f
484   const sh5_media_scache* abuf = sem;
485   const sh5_media_idesc* idesc = abuf->idesc;
486   int cycles = 0;
487   {
488     cycles += model_u_exec_before (current_cpu, idesc, 0);
489   }
490   return cycles;
491 #undef FLD
492 }
493
494 UINT
495 sh5_media_sh5_model::model_blink_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
496 {
497 #define FLD(f) abuf->fields.sfmt_blink.f
498   const sh5_media_scache* abuf = sem;
499   const sh5_media_idesc* idesc = abuf->idesc;
500   int cycles = 0;
501   {
502     int referenced = 0;
503     unsigned long long insn_referenced = abuf->written;
504     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
505   }
506   return cycles;
507 #undef FLD
508 }
509
510 UINT
511 sh5_media_sh5_model::model_bne_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
512 {
513 #define FLD(f) abuf->fields.sfmt_beq.f
514   const sh5_media_scache* abuf = sem;
515   const sh5_media_idesc* idesc = abuf->idesc;
516   int cycles = 0;
517   {
518     cycles += model_u_exec_before (current_cpu, idesc, 0);
519   }
520   return cycles;
521 #undef FLD
522 }
523
524 UINT
525 sh5_media_sh5_model::model_bne_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
526 {
527 #define FLD(f) abuf->fields.sfmt_beq.f
528   const sh5_media_scache* abuf = sem;
529   const sh5_media_idesc* idesc = abuf->idesc;
530   int cycles = 0;
531   {
532     int referenced = 0;
533     unsigned long long insn_referenced = abuf->written;
534     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
535   }
536   return cycles;
537 #undef FLD
538 }
539
540 UINT
541 sh5_media_sh5_model::model_bnei_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
542 {
543 #define FLD(f) abuf->fields.sfmt_beqi.f
544   const sh5_media_scache* abuf = sem;
545   const sh5_media_idesc* idesc = abuf->idesc;
546   int cycles = 0;
547   {
548     cycles += model_u_exec_before (current_cpu, idesc, 0);
549   }
550   return cycles;
551 #undef FLD
552 }
553
554 UINT
555 sh5_media_sh5_model::model_bnei_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
556 {
557 #define FLD(f) abuf->fields.sfmt_beqi.f
558   const sh5_media_scache* abuf = sem;
559   const sh5_media_idesc* idesc = abuf->idesc;
560   int cycles = 0;
561   {
562     int referenced = 0;
563     unsigned long long insn_referenced = abuf->written;
564     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
565   }
566   return cycles;
567 #undef FLD
568 }
569
570 UINT
571 sh5_media_sh5_model::model_brk_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
572 {
573 #define FLD(f) abuf->fields.fmt_empty.f
574   const sh5_media_scache* abuf = sem;
575   const sh5_media_idesc* idesc = abuf->idesc;
576   int cycles = 0;
577   {
578     cycles += model_u_exec_before (current_cpu, idesc, 0);
579   }
580   return cycles;
581 #undef FLD
582 }
583
584 UINT
585 sh5_media_sh5_model::model_brk_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
586 {
587 #define FLD(f) abuf->fields.fmt_empty.f
588   const sh5_media_scache* abuf = sem;
589   const sh5_media_idesc* idesc = abuf->idesc;
590   int cycles = 0;
591   {
592     int referenced = 0;
593     unsigned long long insn_referenced = abuf->written;
594     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
595   }
596   return cycles;
597 #undef FLD
598 }
599
600 UINT
601 sh5_media_sh5_model::model_byterev_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
602 {
603 #define FLD(f) abuf->fields.sfmt_xori.f
604   const sh5_media_scache* abuf = sem;
605   const sh5_media_idesc* idesc = abuf->idesc;
606   int cycles = 0;
607   {
608     cycles += model_u_exec_before (current_cpu, idesc, 0);
609   }
610   return cycles;
611 #undef FLD
612 }
613
614 UINT
615 sh5_media_sh5_model::model_byterev_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
616 {
617 #define FLD(f) abuf->fields.sfmt_xori.f
618   const sh5_media_scache* abuf = sem;
619   const sh5_media_idesc* idesc = abuf->idesc;
620   int cycles = 0;
621   {
622     int referenced = 0;
623     unsigned long long insn_referenced = abuf->written;
624     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
625   }
626   return cycles;
627 #undef FLD
628 }
629
630 UINT
631 sh5_media_sh5_model::model_cmpeq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
632 {
633 #define FLD(f) abuf->fields.sfmt_mcmv.f
634   const sh5_media_scache* abuf = sem;
635   const sh5_media_idesc* idesc = abuf->idesc;
636   int cycles = 0;
637   {
638     cycles += model_u_exec_before (current_cpu, idesc, 0);
639   }
640   return cycles;
641 #undef FLD
642 }
643
644 UINT
645 sh5_media_sh5_model::model_cmpeq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
646 {
647 #define FLD(f) abuf->fields.sfmt_mcmv.f
648   const sh5_media_scache* abuf = sem;
649   const sh5_media_idesc* idesc = abuf->idesc;
650   int cycles = 0;
651   {
652     int referenced = 0;
653     unsigned long long insn_referenced = abuf->written;
654     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
655   }
656   return cycles;
657 #undef FLD
658 }
659
660 UINT
661 sh5_media_sh5_model::model_cmpgt_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
662 {
663 #define FLD(f) abuf->fields.sfmt_mcmv.f
664   const sh5_media_scache* abuf = sem;
665   const sh5_media_idesc* idesc = abuf->idesc;
666   int cycles = 0;
667   {
668     cycles += model_u_exec_before (current_cpu, idesc, 0);
669   }
670   return cycles;
671 #undef FLD
672 }
673
674 UINT
675 sh5_media_sh5_model::model_cmpgt_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
676 {
677 #define FLD(f) abuf->fields.sfmt_mcmv.f
678   const sh5_media_scache* abuf = sem;
679   const sh5_media_idesc* idesc = abuf->idesc;
680   int cycles = 0;
681   {
682     int referenced = 0;
683     unsigned long long insn_referenced = abuf->written;
684     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
685   }
686   return cycles;
687 #undef FLD
688 }
689
690 UINT
691 sh5_media_sh5_model::model_cmpgtu_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
692 {
693 #define FLD(f) abuf->fields.sfmt_mcmv.f
694   const sh5_media_scache* abuf = sem;
695   const sh5_media_idesc* idesc = abuf->idesc;
696   int cycles = 0;
697   {
698     cycles += model_u_exec_before (current_cpu, idesc, 0);
699   }
700   return cycles;
701 #undef FLD
702 }
703
704 UINT
705 sh5_media_sh5_model::model_cmpgtu_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
706 {
707 #define FLD(f) abuf->fields.sfmt_mcmv.f
708   const sh5_media_scache* abuf = sem;
709   const sh5_media_idesc* idesc = abuf->idesc;
710   int cycles = 0;
711   {
712     int referenced = 0;
713     unsigned long long insn_referenced = abuf->written;
714     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
715   }
716   return cycles;
717 #undef FLD
718 }
719
720 UINT
721 sh5_media_sh5_model::model_cmveq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
722 {
723 #define FLD(f) abuf->fields.sfmt_mcmv.f
724   const sh5_media_scache* abuf = sem;
725   const sh5_media_idesc* idesc = abuf->idesc;
726   int cycles = 0;
727   {
728     cycles += model_u_exec_before (current_cpu, idesc, 0);
729   }
730   return cycles;
731 #undef FLD
732 }
733
734 UINT
735 sh5_media_sh5_model::model_cmveq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
736 {
737 #define FLD(f) abuf->fields.sfmt_mcmv.f
738   const sh5_media_scache* abuf = sem;
739   const sh5_media_idesc* idesc = abuf->idesc;
740   int cycles = 0;
741   {
742     int referenced = 0;
743     unsigned long long insn_referenced = abuf->written;
744     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
745   }
746   return cycles;
747 #undef FLD
748 }
749
750 UINT
751 sh5_media_sh5_model::model_cmvne_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
752 {
753 #define FLD(f) abuf->fields.sfmt_mcmv.f
754   const sh5_media_scache* abuf = sem;
755   const sh5_media_idesc* idesc = abuf->idesc;
756   int cycles = 0;
757   {
758     cycles += model_u_exec_before (current_cpu, idesc, 0);
759   }
760   return cycles;
761 #undef FLD
762 }
763
764 UINT
765 sh5_media_sh5_model::model_cmvne_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
766 {
767 #define FLD(f) abuf->fields.sfmt_mcmv.f
768   const sh5_media_scache* abuf = sem;
769   const sh5_media_idesc* idesc = abuf->idesc;
770   int cycles = 0;
771   {
772     int referenced = 0;
773     unsigned long long insn_referenced = abuf->written;
774     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
775   }
776   return cycles;
777 #undef FLD
778 }
779
780 UINT
781 sh5_media_sh5_model::model_fabsd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
782 {
783 #define FLD(f) abuf->fields.sfmt_fabsd.f
784   const sh5_media_scache* abuf = sem;
785   const sh5_media_idesc* idesc = abuf->idesc;
786   int cycles = 0;
787   {
788     cycles += model_u_exec_before (current_cpu, idesc, 0);
789   }
790   return cycles;
791 #undef FLD
792 }
793
794 UINT
795 sh5_media_sh5_model::model_fabsd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
796 {
797 #define FLD(f) abuf->fields.sfmt_fabsd.f
798   const sh5_media_scache* abuf = sem;
799   const sh5_media_idesc* idesc = abuf->idesc;
800   int cycles = 0;
801   {
802     int referenced = 0;
803     unsigned long long insn_referenced = abuf->written;
804     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
805   }
806   return cycles;
807 #undef FLD
808 }
809
810 UINT
811 sh5_media_sh5_model::model_fabss_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
812 {
813 #define FLD(f) abuf->fields.sfmt_fabss.f
814   const sh5_media_scache* abuf = sem;
815   const sh5_media_idesc* idesc = abuf->idesc;
816   int cycles = 0;
817   {
818     cycles += model_u_exec_before (current_cpu, idesc, 0);
819   }
820   return cycles;
821 #undef FLD
822 }
823
824 UINT
825 sh5_media_sh5_model::model_fabss_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
826 {
827 #define FLD(f) abuf->fields.sfmt_fabss.f
828   const sh5_media_scache* abuf = sem;
829   const sh5_media_idesc* idesc = abuf->idesc;
830   int cycles = 0;
831   {
832     int referenced = 0;
833     unsigned long long insn_referenced = abuf->written;
834     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
835   }
836   return cycles;
837 #undef FLD
838 }
839
840 UINT
841 sh5_media_sh5_model::model_faddd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
842 {
843 #define FLD(f) abuf->fields.sfmt_faddd.f
844   const sh5_media_scache* abuf = sem;
845   const sh5_media_idesc* idesc = abuf->idesc;
846   int cycles = 0;
847   {
848     cycles += model_u_exec_before (current_cpu, idesc, 0);
849   }
850   return cycles;
851 #undef FLD
852 }
853
854 UINT
855 sh5_media_sh5_model::model_faddd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
856 {
857 #define FLD(f) abuf->fields.sfmt_faddd.f
858   const sh5_media_scache* abuf = sem;
859   const sh5_media_idesc* idesc = abuf->idesc;
860   int cycles = 0;
861   {
862     int referenced = 0;
863     unsigned long long insn_referenced = abuf->written;
864     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
865   }
866   return cycles;
867 #undef FLD
868 }
869
870 UINT
871 sh5_media_sh5_model::model_fadds_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
872 {
873 #define FLD(f) abuf->fields.sfmt_fmacs.f
874   const sh5_media_scache* abuf = sem;
875   const sh5_media_idesc* idesc = abuf->idesc;
876   int cycles = 0;
877   {
878     cycles += model_u_exec_before (current_cpu, idesc, 0);
879   }
880   return cycles;
881 #undef FLD
882 }
883
884 UINT
885 sh5_media_sh5_model::model_fadds_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
886 {
887 #define FLD(f) abuf->fields.sfmt_fmacs.f
888   const sh5_media_scache* abuf = sem;
889   const sh5_media_idesc* idesc = abuf->idesc;
890   int cycles = 0;
891   {
892     int referenced = 0;
893     unsigned long long insn_referenced = abuf->written;
894     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
895   }
896   return cycles;
897 #undef FLD
898 }
899
900 UINT
901 sh5_media_sh5_model::model_fcmpeqd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
902 {
903 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
904   const sh5_media_scache* abuf = sem;
905   const sh5_media_idesc* idesc = abuf->idesc;
906   int cycles = 0;
907   {
908     cycles += model_u_exec_before (current_cpu, idesc, 0);
909   }
910   return cycles;
911 #undef FLD
912 }
913
914 UINT
915 sh5_media_sh5_model::model_fcmpeqd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
916 {
917 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
918   const sh5_media_scache* abuf = sem;
919   const sh5_media_idesc* idesc = abuf->idesc;
920   int cycles = 0;
921   {
922     int referenced = 0;
923     unsigned long long insn_referenced = abuf->written;
924     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
925   }
926   return cycles;
927 #undef FLD
928 }
929
930 UINT
931 sh5_media_sh5_model::model_fcmpeqs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
932 {
933 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
934   const sh5_media_scache* abuf = sem;
935   const sh5_media_idesc* idesc = abuf->idesc;
936   int cycles = 0;
937   {
938     cycles += model_u_exec_before (current_cpu, idesc, 0);
939   }
940   return cycles;
941 #undef FLD
942 }
943
944 UINT
945 sh5_media_sh5_model::model_fcmpeqs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
946 {
947 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
948   const sh5_media_scache* abuf = sem;
949   const sh5_media_idesc* idesc = abuf->idesc;
950   int cycles = 0;
951   {
952     int referenced = 0;
953     unsigned long long insn_referenced = abuf->written;
954     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
955   }
956   return cycles;
957 #undef FLD
958 }
959
960 UINT
961 sh5_media_sh5_model::model_fcmpged_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
962 {
963 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
964   const sh5_media_scache* abuf = sem;
965   const sh5_media_idesc* idesc = abuf->idesc;
966   int cycles = 0;
967   {
968     cycles += model_u_exec_before (current_cpu, idesc, 0);
969   }
970   return cycles;
971 #undef FLD
972 }
973
974 UINT
975 sh5_media_sh5_model::model_fcmpged_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
976 {
977 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
978   const sh5_media_scache* abuf = sem;
979   const sh5_media_idesc* idesc = abuf->idesc;
980   int cycles = 0;
981   {
982     int referenced = 0;
983     unsigned long long insn_referenced = abuf->written;
984     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
985   }
986   return cycles;
987 #undef FLD
988 }
989
990 UINT
991 sh5_media_sh5_model::model_fcmpges_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
992 {
993 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
994   const sh5_media_scache* abuf = sem;
995   const sh5_media_idesc* idesc = abuf->idesc;
996   int cycles = 0;
997   {
998     cycles += model_u_exec_before (current_cpu, idesc, 0);
999   }
1000   return cycles;
1001 #undef FLD
1002 }
1003
1004 UINT
1005 sh5_media_sh5_model::model_fcmpges_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1006 {
1007 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
1008   const sh5_media_scache* abuf = sem;
1009   const sh5_media_idesc* idesc = abuf->idesc;
1010   int cycles = 0;
1011   {
1012     int referenced = 0;
1013     unsigned long long insn_referenced = abuf->written;
1014     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1015   }
1016   return cycles;
1017 #undef FLD
1018 }
1019
1020 UINT
1021 sh5_media_sh5_model::model_fcmpgtd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1022 {
1023 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
1024   const sh5_media_scache* abuf = sem;
1025   const sh5_media_idesc* idesc = abuf->idesc;
1026   int cycles = 0;
1027   {
1028     cycles += model_u_exec_before (current_cpu, idesc, 0);
1029   }
1030   return cycles;
1031 #undef FLD
1032 }
1033
1034 UINT
1035 sh5_media_sh5_model::model_fcmpgtd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1036 {
1037 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
1038   const sh5_media_scache* abuf = sem;
1039   const sh5_media_idesc* idesc = abuf->idesc;
1040   int cycles = 0;
1041   {
1042     int referenced = 0;
1043     unsigned long long insn_referenced = abuf->written;
1044     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1045   }
1046   return cycles;
1047 #undef FLD
1048 }
1049
1050 UINT
1051 sh5_media_sh5_model::model_fcmpgts_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1052 {
1053 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
1054   const sh5_media_scache* abuf = sem;
1055   const sh5_media_idesc* idesc = abuf->idesc;
1056   int cycles = 0;
1057   {
1058     cycles += model_u_exec_before (current_cpu, idesc, 0);
1059   }
1060   return cycles;
1061 #undef FLD
1062 }
1063
1064 UINT
1065 sh5_media_sh5_model::model_fcmpgts_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1066 {
1067 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
1068   const sh5_media_scache* abuf = sem;
1069   const sh5_media_idesc* idesc = abuf->idesc;
1070   int cycles = 0;
1071   {
1072     int referenced = 0;
1073     unsigned long long insn_referenced = abuf->written;
1074     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1075   }
1076   return cycles;
1077 #undef FLD
1078 }
1079
1080 UINT
1081 sh5_media_sh5_model::model_fcmpund_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1082 {
1083 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
1084   const sh5_media_scache* abuf = sem;
1085   const sh5_media_idesc* idesc = abuf->idesc;
1086   int cycles = 0;
1087   {
1088     cycles += model_u_exec_before (current_cpu, idesc, 0);
1089   }
1090   return cycles;
1091 #undef FLD
1092 }
1093
1094 UINT
1095 sh5_media_sh5_model::model_fcmpund_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1096 {
1097 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
1098   const sh5_media_scache* abuf = sem;
1099   const sh5_media_idesc* idesc = abuf->idesc;
1100   int cycles = 0;
1101   {
1102     int referenced = 0;
1103     unsigned long long insn_referenced = abuf->written;
1104     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1105   }
1106   return cycles;
1107 #undef FLD
1108 }
1109
1110 UINT
1111 sh5_media_sh5_model::model_fcmpuns_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1112 {
1113 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
1114   const sh5_media_scache* abuf = sem;
1115   const sh5_media_idesc* idesc = abuf->idesc;
1116   int cycles = 0;
1117   {
1118     cycles += model_u_exec_before (current_cpu, idesc, 0);
1119   }
1120   return cycles;
1121 #undef FLD
1122 }
1123
1124 UINT
1125 sh5_media_sh5_model::model_fcmpuns_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1126 {
1127 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
1128   const sh5_media_scache* abuf = sem;
1129   const sh5_media_idesc* idesc = abuf->idesc;
1130   int cycles = 0;
1131   {
1132     int referenced = 0;
1133     unsigned long long insn_referenced = abuf->written;
1134     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1135   }
1136   return cycles;
1137 #undef FLD
1138 }
1139
1140 UINT
1141 sh5_media_sh5_model::model_fcnvds_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1142 {
1143 #define FLD(f) abuf->fields.sfmt_fcnvds.f
1144   const sh5_media_scache* abuf = sem;
1145   const sh5_media_idesc* idesc = abuf->idesc;
1146   int cycles = 0;
1147   {
1148     cycles += model_u_exec_before (current_cpu, idesc, 0);
1149   }
1150   return cycles;
1151 #undef FLD
1152 }
1153
1154 UINT
1155 sh5_media_sh5_model::model_fcnvds_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1156 {
1157 #define FLD(f) abuf->fields.sfmt_fcnvds.f
1158   const sh5_media_scache* abuf = sem;
1159   const sh5_media_idesc* idesc = abuf->idesc;
1160   int cycles = 0;
1161   {
1162     int referenced = 0;
1163     unsigned long long insn_referenced = abuf->written;
1164     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1165   }
1166   return cycles;
1167 #undef FLD
1168 }
1169
1170 UINT
1171 sh5_media_sh5_model::model_fcnvsd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1172 {
1173 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
1174   const sh5_media_scache* abuf = sem;
1175   const sh5_media_idesc* idesc = abuf->idesc;
1176   int cycles = 0;
1177   {
1178     cycles += model_u_exec_before (current_cpu, idesc, 0);
1179   }
1180   return cycles;
1181 #undef FLD
1182 }
1183
1184 UINT
1185 sh5_media_sh5_model::model_fcnvsd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1186 {
1187 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
1188   const sh5_media_scache* abuf = sem;
1189   const sh5_media_idesc* idesc = abuf->idesc;
1190   int cycles = 0;
1191   {
1192     int referenced = 0;
1193     unsigned long long insn_referenced = abuf->written;
1194     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1195   }
1196   return cycles;
1197 #undef FLD
1198 }
1199
1200 UINT
1201 sh5_media_sh5_model::model_fdivd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1202 {
1203 #define FLD(f) abuf->fields.sfmt_faddd.f
1204   const sh5_media_scache* abuf = sem;
1205   const sh5_media_idesc* idesc = abuf->idesc;
1206   int cycles = 0;
1207   {
1208     cycles += model_u_exec_before (current_cpu, idesc, 0);
1209   }
1210   return cycles;
1211 #undef FLD
1212 }
1213
1214 UINT
1215 sh5_media_sh5_model::model_fdivd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1216 {
1217 #define FLD(f) abuf->fields.sfmt_faddd.f
1218   const sh5_media_scache* abuf = sem;
1219   const sh5_media_idesc* idesc = abuf->idesc;
1220   int cycles = 0;
1221   {
1222     int referenced = 0;
1223     unsigned long long insn_referenced = abuf->written;
1224     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1225   }
1226   return cycles;
1227 #undef FLD
1228 }
1229
1230 UINT
1231 sh5_media_sh5_model::model_fdivs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1232 {
1233 #define FLD(f) abuf->fields.sfmt_fmacs.f
1234   const sh5_media_scache* abuf = sem;
1235   const sh5_media_idesc* idesc = abuf->idesc;
1236   int cycles = 0;
1237   {
1238     cycles += model_u_exec_before (current_cpu, idesc, 0);
1239   }
1240   return cycles;
1241 #undef FLD
1242 }
1243
1244 UINT
1245 sh5_media_sh5_model::model_fdivs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1246 {
1247 #define FLD(f) abuf->fields.sfmt_fmacs.f
1248   const sh5_media_scache* abuf = sem;
1249   const sh5_media_idesc* idesc = abuf->idesc;
1250   int cycles = 0;
1251   {
1252     int referenced = 0;
1253     unsigned long long insn_referenced = abuf->written;
1254     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1255   }
1256   return cycles;
1257 #undef FLD
1258 }
1259
1260 UINT
1261 sh5_media_sh5_model::model_fgetscr_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1262 {
1263 #define FLD(f) abuf->fields.sfmt_fcnvds.f
1264   const sh5_media_scache* abuf = sem;
1265   const sh5_media_idesc* idesc = abuf->idesc;
1266   int cycles = 0;
1267   {
1268     cycles += model_u_exec_before (current_cpu, idesc, 0);
1269   }
1270   return cycles;
1271 #undef FLD
1272 }
1273
1274 UINT
1275 sh5_media_sh5_model::model_fgetscr_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1276 {
1277 #define FLD(f) abuf->fields.sfmt_fcnvds.f
1278   const sh5_media_scache* abuf = sem;
1279   const sh5_media_idesc* idesc = abuf->idesc;
1280   int cycles = 0;
1281   {
1282     int referenced = 0;
1283     unsigned long long insn_referenced = abuf->written;
1284     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1285   }
1286   return cycles;
1287 #undef FLD
1288 }
1289
1290 UINT
1291 sh5_media_sh5_model::model_fiprs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1292 {
1293 #define FLD(f) abuf->fields.sfmt_fiprs.f
1294   const sh5_media_scache* abuf = sem;
1295   const sh5_media_idesc* idesc = abuf->idesc;
1296   int cycles = 0;
1297   {
1298     cycles += model_u_exec_before (current_cpu, idesc, 0);
1299   }
1300   return cycles;
1301 #undef FLD
1302 }
1303
1304 UINT
1305 sh5_media_sh5_model::model_fiprs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1306 {
1307 #define FLD(f) abuf->fields.sfmt_fiprs.f
1308   const sh5_media_scache* abuf = sem;
1309   const sh5_media_idesc* idesc = abuf->idesc;
1310   int cycles = 0;
1311   {
1312     int referenced = 0;
1313     unsigned long long insn_referenced = abuf->written;
1314     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1315   }
1316   return cycles;
1317 #undef FLD
1318 }
1319
1320 UINT
1321 sh5_media_sh5_model::model_fldd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1322 {
1323 #define FLD(f) abuf->fields.sfmt_fldd.f
1324   const sh5_media_scache* abuf = sem;
1325   const sh5_media_idesc* idesc = abuf->idesc;
1326   int cycles = 0;
1327   {
1328     cycles += model_u_exec_before (current_cpu, idesc, 0);
1329   }
1330   return cycles;
1331 #undef FLD
1332 }
1333
1334 UINT
1335 sh5_media_sh5_model::model_fldd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1336 {
1337 #define FLD(f) abuf->fields.sfmt_fldd.f
1338   const sh5_media_scache* abuf = sem;
1339   const sh5_media_idesc* idesc = abuf->idesc;
1340   int cycles = 0;
1341   {
1342     int referenced = 0;
1343     unsigned long long insn_referenced = abuf->written;
1344     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1345   }
1346   return cycles;
1347 #undef FLD
1348 }
1349
1350 UINT
1351 sh5_media_sh5_model::model_fldp_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1352 {
1353 #define FLD(f) abuf->fields.sfmt_fldp.f
1354   const sh5_media_scache* abuf = sem;
1355   const sh5_media_idesc* idesc = abuf->idesc;
1356   int cycles = 0;
1357   {
1358     cycles += model_u_exec_before (current_cpu, idesc, 0);
1359   }
1360   return cycles;
1361 #undef FLD
1362 }
1363
1364 UINT
1365 sh5_media_sh5_model::model_fldp_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1366 {
1367 #define FLD(f) abuf->fields.sfmt_fldp.f
1368   const sh5_media_scache* abuf = sem;
1369   const sh5_media_idesc* idesc = abuf->idesc;
1370   int cycles = 0;
1371   {
1372     int referenced = 0;
1373     unsigned long long insn_referenced = abuf->written;
1374     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1375   }
1376   return cycles;
1377 #undef FLD
1378 }
1379
1380 UINT
1381 sh5_media_sh5_model::model_flds_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1382 {
1383 #define FLD(f) abuf->fields.sfmt_flds.f
1384   const sh5_media_scache* abuf = sem;
1385   const sh5_media_idesc* idesc = abuf->idesc;
1386   int cycles = 0;
1387   {
1388     cycles += model_u_exec_before (current_cpu, idesc, 0);
1389   }
1390   return cycles;
1391 #undef FLD
1392 }
1393
1394 UINT
1395 sh5_media_sh5_model::model_flds_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1396 {
1397 #define FLD(f) abuf->fields.sfmt_flds.f
1398   const sh5_media_scache* abuf = sem;
1399   const sh5_media_idesc* idesc = abuf->idesc;
1400   int cycles = 0;
1401   {
1402     int referenced = 0;
1403     unsigned long long insn_referenced = abuf->written;
1404     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1405   }
1406   return cycles;
1407 #undef FLD
1408 }
1409
1410 UINT
1411 sh5_media_sh5_model::model_fldxd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1412 {
1413 #define FLD(f) abuf->fields.sfmt_fldxd.f
1414   const sh5_media_scache* abuf = sem;
1415   const sh5_media_idesc* idesc = abuf->idesc;
1416   int cycles = 0;
1417   {
1418     cycles += model_u_exec_before (current_cpu, idesc, 0);
1419   }
1420   return cycles;
1421 #undef FLD
1422 }
1423
1424 UINT
1425 sh5_media_sh5_model::model_fldxd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1426 {
1427 #define FLD(f) abuf->fields.sfmt_fldxd.f
1428   const sh5_media_scache* abuf = sem;
1429   const sh5_media_idesc* idesc = abuf->idesc;
1430   int cycles = 0;
1431   {
1432     int referenced = 0;
1433     unsigned long long insn_referenced = abuf->written;
1434     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1435   }
1436   return cycles;
1437 #undef FLD
1438 }
1439
1440 UINT
1441 sh5_media_sh5_model::model_fldxp_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1442 {
1443 #define FLD(f) abuf->fields.sfmt_fldxp.f
1444   const sh5_media_scache* abuf = sem;
1445   const sh5_media_idesc* idesc = abuf->idesc;
1446   int cycles = 0;
1447   {
1448     cycles += model_u_exec_before (current_cpu, idesc, 0);
1449   }
1450   return cycles;
1451 #undef FLD
1452 }
1453
1454 UINT
1455 sh5_media_sh5_model::model_fldxp_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1456 {
1457 #define FLD(f) abuf->fields.sfmt_fldxp.f
1458   const sh5_media_scache* abuf = sem;
1459   const sh5_media_idesc* idesc = abuf->idesc;
1460   int cycles = 0;
1461   {
1462     int referenced = 0;
1463     unsigned long long insn_referenced = abuf->written;
1464     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1465   }
1466   return cycles;
1467 #undef FLD
1468 }
1469
1470 UINT
1471 sh5_media_sh5_model::model_fldxs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1472 {
1473 #define FLD(f) abuf->fields.sfmt_fldxs.f
1474   const sh5_media_scache* abuf = sem;
1475   const sh5_media_idesc* idesc = abuf->idesc;
1476   int cycles = 0;
1477   {
1478     cycles += model_u_exec_before (current_cpu, idesc, 0);
1479   }
1480   return cycles;
1481 #undef FLD
1482 }
1483
1484 UINT
1485 sh5_media_sh5_model::model_fldxs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1486 {
1487 #define FLD(f) abuf->fields.sfmt_fldxs.f
1488   const sh5_media_scache* abuf = sem;
1489   const sh5_media_idesc* idesc = abuf->idesc;
1490   int cycles = 0;
1491   {
1492     int referenced = 0;
1493     unsigned long long insn_referenced = abuf->written;
1494     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1495   }
1496   return cycles;
1497 #undef FLD
1498 }
1499
1500 UINT
1501 sh5_media_sh5_model::model_floatld_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1502 {
1503 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
1504   const sh5_media_scache* abuf = sem;
1505   const sh5_media_idesc* idesc = abuf->idesc;
1506   int cycles = 0;
1507   {
1508     cycles += model_u_exec_before (current_cpu, idesc, 0);
1509   }
1510   return cycles;
1511 #undef FLD
1512 }
1513
1514 UINT
1515 sh5_media_sh5_model::model_floatld_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1516 {
1517 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
1518   const sh5_media_scache* abuf = sem;
1519   const sh5_media_idesc* idesc = abuf->idesc;
1520   int cycles = 0;
1521   {
1522     int referenced = 0;
1523     unsigned long long insn_referenced = abuf->written;
1524     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1525   }
1526   return cycles;
1527 #undef FLD
1528 }
1529
1530 UINT
1531 sh5_media_sh5_model::model_floatls_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1532 {
1533 #define FLD(f) abuf->fields.sfmt_fabss.f
1534   const sh5_media_scache* abuf = sem;
1535   const sh5_media_idesc* idesc = abuf->idesc;
1536   int cycles = 0;
1537   {
1538     cycles += model_u_exec_before (current_cpu, idesc, 0);
1539   }
1540   return cycles;
1541 #undef FLD
1542 }
1543
1544 UINT
1545 sh5_media_sh5_model::model_floatls_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1546 {
1547 #define FLD(f) abuf->fields.sfmt_fabss.f
1548   const sh5_media_scache* abuf = sem;
1549   const sh5_media_idesc* idesc = abuf->idesc;
1550   int cycles = 0;
1551   {
1552     int referenced = 0;
1553     unsigned long long insn_referenced = abuf->written;
1554     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1555   }
1556   return cycles;
1557 #undef FLD
1558 }
1559
1560 UINT
1561 sh5_media_sh5_model::model_floatqd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1562 {
1563 #define FLD(f) abuf->fields.sfmt_fabsd.f
1564   const sh5_media_scache* abuf = sem;
1565   const sh5_media_idesc* idesc = abuf->idesc;
1566   int cycles = 0;
1567   {
1568     cycles += model_u_exec_before (current_cpu, idesc, 0);
1569   }
1570   return cycles;
1571 #undef FLD
1572 }
1573
1574 UINT
1575 sh5_media_sh5_model::model_floatqd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1576 {
1577 #define FLD(f) abuf->fields.sfmt_fabsd.f
1578   const sh5_media_scache* abuf = sem;
1579   const sh5_media_idesc* idesc = abuf->idesc;
1580   int cycles = 0;
1581   {
1582     int referenced = 0;
1583     unsigned long long insn_referenced = abuf->written;
1584     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1585   }
1586   return cycles;
1587 #undef FLD
1588 }
1589
1590 UINT
1591 sh5_media_sh5_model::model_floatqs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1592 {
1593 #define FLD(f) abuf->fields.sfmt_fcnvds.f
1594   const sh5_media_scache* abuf = sem;
1595   const sh5_media_idesc* idesc = abuf->idesc;
1596   int cycles = 0;
1597   {
1598     cycles += model_u_exec_before (current_cpu, idesc, 0);
1599   }
1600   return cycles;
1601 #undef FLD
1602 }
1603
1604 UINT
1605 sh5_media_sh5_model::model_floatqs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1606 {
1607 #define FLD(f) abuf->fields.sfmt_fcnvds.f
1608   const sh5_media_scache* abuf = sem;
1609   const sh5_media_idesc* idesc = abuf->idesc;
1610   int cycles = 0;
1611   {
1612     int referenced = 0;
1613     unsigned long long insn_referenced = abuf->written;
1614     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1615   }
1616   return cycles;
1617 #undef FLD
1618 }
1619
1620 UINT
1621 sh5_media_sh5_model::model_fmacs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1622 {
1623 #define FLD(f) abuf->fields.sfmt_fmacs.f
1624   const sh5_media_scache* abuf = sem;
1625   const sh5_media_idesc* idesc = abuf->idesc;
1626   int cycles = 0;
1627   {
1628     cycles += model_u_exec_before (current_cpu, idesc, 0);
1629   }
1630   return cycles;
1631 #undef FLD
1632 }
1633
1634 UINT
1635 sh5_media_sh5_model::model_fmacs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1636 {
1637 #define FLD(f) abuf->fields.sfmt_fmacs.f
1638   const sh5_media_scache* abuf = sem;
1639   const sh5_media_idesc* idesc = abuf->idesc;
1640   int cycles = 0;
1641   {
1642     int referenced = 0;
1643     unsigned long long insn_referenced = abuf->written;
1644     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1645   }
1646   return cycles;
1647 #undef FLD
1648 }
1649
1650 UINT
1651 sh5_media_sh5_model::model_fmovd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1652 {
1653 #define FLD(f) abuf->fields.sfmt_fabsd.f
1654   const sh5_media_scache* abuf = sem;
1655   const sh5_media_idesc* idesc = abuf->idesc;
1656   int cycles = 0;
1657   {
1658     cycles += model_u_exec_before (current_cpu, idesc, 0);
1659   }
1660   return cycles;
1661 #undef FLD
1662 }
1663
1664 UINT
1665 sh5_media_sh5_model::model_fmovd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1666 {
1667 #define FLD(f) abuf->fields.sfmt_fabsd.f
1668   const sh5_media_scache* abuf = sem;
1669   const sh5_media_idesc* idesc = abuf->idesc;
1670   int cycles = 0;
1671   {
1672     int referenced = 0;
1673     unsigned long long insn_referenced = abuf->written;
1674     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1675   }
1676   return cycles;
1677 #undef FLD
1678 }
1679
1680 UINT
1681 sh5_media_sh5_model::model_fmovdq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1682 {
1683 #define FLD(f) abuf->fields.sfmt_fmovdq.f
1684   const sh5_media_scache* abuf = sem;
1685   const sh5_media_idesc* idesc = abuf->idesc;
1686   int cycles = 0;
1687   {
1688     cycles += model_u_exec_before (current_cpu, idesc, 0);
1689   }
1690   return cycles;
1691 #undef FLD
1692 }
1693
1694 UINT
1695 sh5_media_sh5_model::model_fmovdq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1696 {
1697 #define FLD(f) abuf->fields.sfmt_fmovdq.f
1698   const sh5_media_scache* abuf = sem;
1699   const sh5_media_idesc* idesc = abuf->idesc;
1700   int cycles = 0;
1701   {
1702     int referenced = 0;
1703     unsigned long long insn_referenced = abuf->written;
1704     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1705   }
1706   return cycles;
1707 #undef FLD
1708 }
1709
1710 UINT
1711 sh5_media_sh5_model::model_fmovls_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1712 {
1713 #define FLD(f) abuf->fields.sfmt_flds.f
1714   const sh5_media_scache* abuf = sem;
1715   const sh5_media_idesc* idesc = abuf->idesc;
1716   int cycles = 0;
1717   {
1718     cycles += model_u_exec_before (current_cpu, idesc, 0);
1719   }
1720   return cycles;
1721 #undef FLD
1722 }
1723
1724 UINT
1725 sh5_media_sh5_model::model_fmovls_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1726 {
1727 #define FLD(f) abuf->fields.sfmt_flds.f
1728   const sh5_media_scache* abuf = sem;
1729   const sh5_media_idesc* idesc = abuf->idesc;
1730   int cycles = 0;
1731   {
1732     int referenced = 0;
1733     unsigned long long insn_referenced = abuf->written;
1734     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1735   }
1736   return cycles;
1737 #undef FLD
1738 }
1739
1740 UINT
1741 sh5_media_sh5_model::model_fmovqd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1742 {
1743 #define FLD(f) abuf->fields.sfmt_fldd.f
1744   const sh5_media_scache* abuf = sem;
1745   const sh5_media_idesc* idesc = abuf->idesc;
1746   int cycles = 0;
1747   {
1748     cycles += model_u_exec_before (current_cpu, idesc, 0);
1749   }
1750   return cycles;
1751 #undef FLD
1752 }
1753
1754 UINT
1755 sh5_media_sh5_model::model_fmovqd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1756 {
1757 #define FLD(f) abuf->fields.sfmt_fldd.f
1758   const sh5_media_scache* abuf = sem;
1759   const sh5_media_idesc* idesc = abuf->idesc;
1760   int cycles = 0;
1761   {
1762     int referenced = 0;
1763     unsigned long long insn_referenced = abuf->written;
1764     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1765   }
1766   return cycles;
1767 #undef FLD
1768 }
1769
1770 UINT
1771 sh5_media_sh5_model::model_fmovs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1772 {
1773 #define FLD(f) abuf->fields.sfmt_fabss.f
1774   const sh5_media_scache* abuf = sem;
1775   const sh5_media_idesc* idesc = abuf->idesc;
1776   int cycles = 0;
1777   {
1778     cycles += model_u_exec_before (current_cpu, idesc, 0);
1779   }
1780   return cycles;
1781 #undef FLD
1782 }
1783
1784 UINT
1785 sh5_media_sh5_model::model_fmovs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1786 {
1787 #define FLD(f) abuf->fields.sfmt_fabss.f
1788   const sh5_media_scache* abuf = sem;
1789   const sh5_media_idesc* idesc = abuf->idesc;
1790   int cycles = 0;
1791   {
1792     int referenced = 0;
1793     unsigned long long insn_referenced = abuf->written;
1794     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1795   }
1796   return cycles;
1797 #undef FLD
1798 }
1799
1800 UINT
1801 sh5_media_sh5_model::model_fmovsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1802 {
1803 #define FLD(f) abuf->fields.sfmt_fmovsl.f
1804   const sh5_media_scache* abuf = sem;
1805   const sh5_media_idesc* idesc = abuf->idesc;
1806   int cycles = 0;
1807   {
1808     cycles += model_u_exec_before (current_cpu, idesc, 0);
1809   }
1810   return cycles;
1811 #undef FLD
1812 }
1813
1814 UINT
1815 sh5_media_sh5_model::model_fmovsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1816 {
1817 #define FLD(f) abuf->fields.sfmt_fmovsl.f
1818   const sh5_media_scache* abuf = sem;
1819   const sh5_media_idesc* idesc = abuf->idesc;
1820   int cycles = 0;
1821   {
1822     int referenced = 0;
1823     unsigned long long insn_referenced = abuf->written;
1824     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1825   }
1826   return cycles;
1827 #undef FLD
1828 }
1829
1830 UINT
1831 sh5_media_sh5_model::model_fmuld_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1832 {
1833 #define FLD(f) abuf->fields.sfmt_faddd.f
1834   const sh5_media_scache* abuf = sem;
1835   const sh5_media_idesc* idesc = abuf->idesc;
1836   int cycles = 0;
1837   {
1838     cycles += model_u_exec_before (current_cpu, idesc, 0);
1839   }
1840   return cycles;
1841 #undef FLD
1842 }
1843
1844 UINT
1845 sh5_media_sh5_model::model_fmuld_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1846 {
1847 #define FLD(f) abuf->fields.sfmt_faddd.f
1848   const sh5_media_scache* abuf = sem;
1849   const sh5_media_idesc* idesc = abuf->idesc;
1850   int cycles = 0;
1851   {
1852     int referenced = 0;
1853     unsigned long long insn_referenced = abuf->written;
1854     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1855   }
1856   return cycles;
1857 #undef FLD
1858 }
1859
1860 UINT
1861 sh5_media_sh5_model::model_fmuls_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1862 {
1863 #define FLD(f) abuf->fields.sfmt_fmacs.f
1864   const sh5_media_scache* abuf = sem;
1865   const sh5_media_idesc* idesc = abuf->idesc;
1866   int cycles = 0;
1867   {
1868     cycles += model_u_exec_before (current_cpu, idesc, 0);
1869   }
1870   return cycles;
1871 #undef FLD
1872 }
1873
1874 UINT
1875 sh5_media_sh5_model::model_fmuls_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1876 {
1877 #define FLD(f) abuf->fields.sfmt_fmacs.f
1878   const sh5_media_scache* abuf = sem;
1879   const sh5_media_idesc* idesc = abuf->idesc;
1880   int cycles = 0;
1881   {
1882     int referenced = 0;
1883     unsigned long long insn_referenced = abuf->written;
1884     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1885   }
1886   return cycles;
1887 #undef FLD
1888 }
1889
1890 UINT
1891 sh5_media_sh5_model::model_fnegd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1892 {
1893 #define FLD(f) abuf->fields.sfmt_fabsd.f
1894   const sh5_media_scache* abuf = sem;
1895   const sh5_media_idesc* idesc = abuf->idesc;
1896   int cycles = 0;
1897   {
1898     cycles += model_u_exec_before (current_cpu, idesc, 0);
1899   }
1900   return cycles;
1901 #undef FLD
1902 }
1903
1904 UINT
1905 sh5_media_sh5_model::model_fnegd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1906 {
1907 #define FLD(f) abuf->fields.sfmt_fabsd.f
1908   const sh5_media_scache* abuf = sem;
1909   const sh5_media_idesc* idesc = abuf->idesc;
1910   int cycles = 0;
1911   {
1912     int referenced = 0;
1913     unsigned long long insn_referenced = abuf->written;
1914     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1915   }
1916   return cycles;
1917 #undef FLD
1918 }
1919
1920 UINT
1921 sh5_media_sh5_model::model_fnegs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1922 {
1923 #define FLD(f) abuf->fields.sfmt_fabss.f
1924   const sh5_media_scache* abuf = sem;
1925   const sh5_media_idesc* idesc = abuf->idesc;
1926   int cycles = 0;
1927   {
1928     cycles += model_u_exec_before (current_cpu, idesc, 0);
1929   }
1930   return cycles;
1931 #undef FLD
1932 }
1933
1934 UINT
1935 sh5_media_sh5_model::model_fnegs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1936 {
1937 #define FLD(f) abuf->fields.sfmt_fabss.f
1938   const sh5_media_scache* abuf = sem;
1939   const sh5_media_idesc* idesc = abuf->idesc;
1940   int cycles = 0;
1941   {
1942     int referenced = 0;
1943     unsigned long long insn_referenced = abuf->written;
1944     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1945   }
1946   return cycles;
1947 #undef FLD
1948 }
1949
1950 UINT
1951 sh5_media_sh5_model::model_fputscr_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1952 {
1953 #define FLD(f) abuf->fields.sfmt_fmovsl.f
1954   const sh5_media_scache* abuf = sem;
1955   const sh5_media_idesc* idesc = abuf->idesc;
1956   int cycles = 0;
1957   {
1958     cycles += model_u_exec_before (current_cpu, idesc, 0);
1959   }
1960   return cycles;
1961 #undef FLD
1962 }
1963
1964 UINT
1965 sh5_media_sh5_model::model_fputscr_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1966 {
1967 #define FLD(f) abuf->fields.sfmt_fmovsl.f
1968   const sh5_media_scache* abuf = sem;
1969   const sh5_media_idesc* idesc = abuf->idesc;
1970   int cycles = 0;
1971   {
1972     int referenced = 0;
1973     unsigned long long insn_referenced = abuf->written;
1974     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
1975   }
1976   return cycles;
1977 #undef FLD
1978 }
1979
1980 UINT
1981 sh5_media_sh5_model::model_fsqrtd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
1982 {
1983 #define FLD(f) abuf->fields.sfmt_fabsd.f
1984   const sh5_media_scache* abuf = sem;
1985   const sh5_media_idesc* idesc = abuf->idesc;
1986   int cycles = 0;
1987   {
1988     cycles += model_u_exec_before (current_cpu, idesc, 0);
1989   }
1990   return cycles;
1991 #undef FLD
1992 }
1993
1994 UINT
1995 sh5_media_sh5_model::model_fsqrtd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
1996 {
1997 #define FLD(f) abuf->fields.sfmt_fabsd.f
1998   const sh5_media_scache* abuf = sem;
1999   const sh5_media_idesc* idesc = abuf->idesc;
2000   int cycles = 0;
2001   {
2002     int referenced = 0;
2003     unsigned long long insn_referenced = abuf->written;
2004     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2005   }
2006   return cycles;
2007 #undef FLD
2008 }
2009
2010 UINT
2011 sh5_media_sh5_model::model_fsqrts_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2012 {
2013 #define FLD(f) abuf->fields.sfmt_fabss.f
2014   const sh5_media_scache* abuf = sem;
2015   const sh5_media_idesc* idesc = abuf->idesc;
2016   int cycles = 0;
2017   {
2018     cycles += model_u_exec_before (current_cpu, idesc, 0);
2019   }
2020   return cycles;
2021 #undef FLD
2022 }
2023
2024 UINT
2025 sh5_media_sh5_model::model_fsqrts_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2026 {
2027 #define FLD(f) abuf->fields.sfmt_fabss.f
2028   const sh5_media_scache* abuf = sem;
2029   const sh5_media_idesc* idesc = abuf->idesc;
2030   int cycles = 0;
2031   {
2032     int referenced = 0;
2033     unsigned long long insn_referenced = abuf->written;
2034     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2035   }
2036   return cycles;
2037 #undef FLD
2038 }
2039
2040 UINT
2041 sh5_media_sh5_model::model_fstd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2042 {
2043 #define FLD(f) abuf->fields.sfmt_fstd.f
2044   const sh5_media_scache* abuf = sem;
2045   const sh5_media_idesc* idesc = abuf->idesc;
2046   int cycles = 0;
2047   {
2048     cycles += model_u_exec_before (current_cpu, idesc, 0);
2049   }
2050   return cycles;
2051 #undef FLD
2052 }
2053
2054 UINT
2055 sh5_media_sh5_model::model_fstd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2056 {
2057 #define FLD(f) abuf->fields.sfmt_fstd.f
2058   const sh5_media_scache* abuf = sem;
2059   const sh5_media_idesc* idesc = abuf->idesc;
2060   int cycles = 0;
2061   {
2062     int referenced = 0;
2063     unsigned long long insn_referenced = abuf->written;
2064     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2065   }
2066   return cycles;
2067 #undef FLD
2068 }
2069
2070 UINT
2071 sh5_media_sh5_model::model_fstp_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2072 {
2073 #define FLD(f) abuf->fields.sfmt_fldp.f
2074   const sh5_media_scache* abuf = sem;
2075   const sh5_media_idesc* idesc = abuf->idesc;
2076   int cycles = 0;
2077   {
2078     cycles += model_u_exec_before (current_cpu, idesc, 0);
2079   }
2080   return cycles;
2081 #undef FLD
2082 }
2083
2084 UINT
2085 sh5_media_sh5_model::model_fstp_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2086 {
2087 #define FLD(f) abuf->fields.sfmt_fldp.f
2088   const sh5_media_scache* abuf = sem;
2089   const sh5_media_idesc* idesc = abuf->idesc;
2090   int cycles = 0;
2091   {
2092     int referenced = 0;
2093     unsigned long long insn_referenced = abuf->written;
2094     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2095   }
2096   return cycles;
2097 #undef FLD
2098 }
2099
2100 UINT
2101 sh5_media_sh5_model::model_fsts_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2102 {
2103 #define FLD(f) abuf->fields.sfmt_fsts.f
2104   const sh5_media_scache* abuf = sem;
2105   const sh5_media_idesc* idesc = abuf->idesc;
2106   int cycles = 0;
2107   {
2108     cycles += model_u_exec_before (current_cpu, idesc, 0);
2109   }
2110   return cycles;
2111 #undef FLD
2112 }
2113
2114 UINT
2115 sh5_media_sh5_model::model_fsts_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2116 {
2117 #define FLD(f) abuf->fields.sfmt_fsts.f
2118   const sh5_media_scache* abuf = sem;
2119   const sh5_media_idesc* idesc = abuf->idesc;
2120   int cycles = 0;
2121   {
2122     int referenced = 0;
2123     unsigned long long insn_referenced = abuf->written;
2124     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2125   }
2126   return cycles;
2127 #undef FLD
2128 }
2129
2130 UINT
2131 sh5_media_sh5_model::model_fstxd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2132 {
2133 #define FLD(f) abuf->fields.sfmt_fstxd.f
2134   const sh5_media_scache* abuf = sem;
2135   const sh5_media_idesc* idesc = abuf->idesc;
2136   int cycles = 0;
2137   {
2138     cycles += model_u_exec_before (current_cpu, idesc, 0);
2139   }
2140   return cycles;
2141 #undef FLD
2142 }
2143
2144 UINT
2145 sh5_media_sh5_model::model_fstxd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2146 {
2147 #define FLD(f) abuf->fields.sfmt_fstxd.f
2148   const sh5_media_scache* abuf = sem;
2149   const sh5_media_idesc* idesc = abuf->idesc;
2150   int cycles = 0;
2151   {
2152     int referenced = 0;
2153     unsigned long long insn_referenced = abuf->written;
2154     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2155   }
2156   return cycles;
2157 #undef FLD
2158 }
2159
2160 UINT
2161 sh5_media_sh5_model::model_fstxp_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2162 {
2163 #define FLD(f) abuf->fields.sfmt_fldxp.f
2164   const sh5_media_scache* abuf = sem;
2165   const sh5_media_idesc* idesc = abuf->idesc;
2166   int cycles = 0;
2167   {
2168     cycles += model_u_exec_before (current_cpu, idesc, 0);
2169   }
2170   return cycles;
2171 #undef FLD
2172 }
2173
2174 UINT
2175 sh5_media_sh5_model::model_fstxp_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2176 {
2177 #define FLD(f) abuf->fields.sfmt_fldxp.f
2178   const sh5_media_scache* abuf = sem;
2179   const sh5_media_idesc* idesc = abuf->idesc;
2180   int cycles = 0;
2181   {
2182     int referenced = 0;
2183     unsigned long long insn_referenced = abuf->written;
2184     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2185   }
2186   return cycles;
2187 #undef FLD
2188 }
2189
2190 UINT
2191 sh5_media_sh5_model::model_fstxs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2192 {
2193 #define FLD(f) abuf->fields.sfmt_fstxs.f
2194   const sh5_media_scache* abuf = sem;
2195   const sh5_media_idesc* idesc = abuf->idesc;
2196   int cycles = 0;
2197   {
2198     cycles += model_u_exec_before (current_cpu, idesc, 0);
2199   }
2200   return cycles;
2201 #undef FLD
2202 }
2203
2204 UINT
2205 sh5_media_sh5_model::model_fstxs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2206 {
2207 #define FLD(f) abuf->fields.sfmt_fstxs.f
2208   const sh5_media_scache* abuf = sem;
2209   const sh5_media_idesc* idesc = abuf->idesc;
2210   int cycles = 0;
2211   {
2212     int referenced = 0;
2213     unsigned long long insn_referenced = abuf->written;
2214     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2215   }
2216   return cycles;
2217 #undef FLD
2218 }
2219
2220 UINT
2221 sh5_media_sh5_model::model_fsubd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2222 {
2223 #define FLD(f) abuf->fields.sfmt_faddd.f
2224   const sh5_media_scache* abuf = sem;
2225   const sh5_media_idesc* idesc = abuf->idesc;
2226   int cycles = 0;
2227   {
2228     cycles += model_u_exec_before (current_cpu, idesc, 0);
2229   }
2230   return cycles;
2231 #undef FLD
2232 }
2233
2234 UINT
2235 sh5_media_sh5_model::model_fsubd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2236 {
2237 #define FLD(f) abuf->fields.sfmt_faddd.f
2238   const sh5_media_scache* abuf = sem;
2239   const sh5_media_idesc* idesc = abuf->idesc;
2240   int cycles = 0;
2241   {
2242     int referenced = 0;
2243     unsigned long long insn_referenced = abuf->written;
2244     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2245   }
2246   return cycles;
2247 #undef FLD
2248 }
2249
2250 UINT
2251 sh5_media_sh5_model::model_fsubs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2252 {
2253 #define FLD(f) abuf->fields.sfmt_fmacs.f
2254   const sh5_media_scache* abuf = sem;
2255   const sh5_media_idesc* idesc = abuf->idesc;
2256   int cycles = 0;
2257   {
2258     cycles += model_u_exec_before (current_cpu, idesc, 0);
2259   }
2260   return cycles;
2261 #undef FLD
2262 }
2263
2264 UINT
2265 sh5_media_sh5_model::model_fsubs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2266 {
2267 #define FLD(f) abuf->fields.sfmt_fmacs.f
2268   const sh5_media_scache* abuf = sem;
2269   const sh5_media_idesc* idesc = abuf->idesc;
2270   int cycles = 0;
2271   {
2272     int referenced = 0;
2273     unsigned long long insn_referenced = abuf->written;
2274     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2275   }
2276   return cycles;
2277 #undef FLD
2278 }
2279
2280 UINT
2281 sh5_media_sh5_model::model_ftrcdl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2282 {
2283 #define FLD(f) abuf->fields.sfmt_fcnvds.f
2284   const sh5_media_scache* abuf = sem;
2285   const sh5_media_idesc* idesc = abuf->idesc;
2286   int cycles = 0;
2287   {
2288     cycles += model_u_exec_before (current_cpu, idesc, 0);
2289   }
2290   return cycles;
2291 #undef FLD
2292 }
2293
2294 UINT
2295 sh5_media_sh5_model::model_ftrcdl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2296 {
2297 #define FLD(f) abuf->fields.sfmt_fcnvds.f
2298   const sh5_media_scache* abuf = sem;
2299   const sh5_media_idesc* idesc = abuf->idesc;
2300   int cycles = 0;
2301   {
2302     int referenced = 0;
2303     unsigned long long insn_referenced = abuf->written;
2304     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2305   }
2306   return cycles;
2307 #undef FLD
2308 }
2309
2310 UINT
2311 sh5_media_sh5_model::model_ftrcsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2312 {
2313 #define FLD(f) abuf->fields.sfmt_fabss.f
2314   const sh5_media_scache* abuf = sem;
2315   const sh5_media_idesc* idesc = abuf->idesc;
2316   int cycles = 0;
2317   {
2318     cycles += model_u_exec_before (current_cpu, idesc, 0);
2319   }
2320   return cycles;
2321 #undef FLD
2322 }
2323
2324 UINT
2325 sh5_media_sh5_model::model_ftrcsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2326 {
2327 #define FLD(f) abuf->fields.sfmt_fabss.f
2328   const sh5_media_scache* abuf = sem;
2329   const sh5_media_idesc* idesc = abuf->idesc;
2330   int cycles = 0;
2331   {
2332     int referenced = 0;
2333     unsigned long long insn_referenced = abuf->written;
2334     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2335   }
2336   return cycles;
2337 #undef FLD
2338 }
2339
2340 UINT
2341 sh5_media_sh5_model::model_ftrcdq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2342 {
2343 #define FLD(f) abuf->fields.sfmt_fabsd.f
2344   const sh5_media_scache* abuf = sem;
2345   const sh5_media_idesc* idesc = abuf->idesc;
2346   int cycles = 0;
2347   {
2348     cycles += model_u_exec_before (current_cpu, idesc, 0);
2349   }
2350   return cycles;
2351 #undef FLD
2352 }
2353
2354 UINT
2355 sh5_media_sh5_model::model_ftrcdq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2356 {
2357 #define FLD(f) abuf->fields.sfmt_fabsd.f
2358   const sh5_media_scache* abuf = sem;
2359   const sh5_media_idesc* idesc = abuf->idesc;
2360   int cycles = 0;
2361   {
2362     int referenced = 0;
2363     unsigned long long insn_referenced = abuf->written;
2364     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2365   }
2366   return cycles;
2367 #undef FLD
2368 }
2369
2370 UINT
2371 sh5_media_sh5_model::model_ftrcsq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2372 {
2373 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
2374   const sh5_media_scache* abuf = sem;
2375   const sh5_media_idesc* idesc = abuf->idesc;
2376   int cycles = 0;
2377   {
2378     cycles += model_u_exec_before (current_cpu, idesc, 0);
2379   }
2380   return cycles;
2381 #undef FLD
2382 }
2383
2384 UINT
2385 sh5_media_sh5_model::model_ftrcsq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2386 {
2387 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
2388   const sh5_media_scache* abuf = sem;
2389   const sh5_media_idesc* idesc = abuf->idesc;
2390   int cycles = 0;
2391   {
2392     int referenced = 0;
2393     unsigned long long insn_referenced = abuf->written;
2394     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2395   }
2396   return cycles;
2397 #undef FLD
2398 }
2399
2400 UINT
2401 sh5_media_sh5_model::model_ftrvs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2402 {
2403 #define FLD(f) abuf->fields.sfmt_ftrvs.f
2404   const sh5_media_scache* abuf = sem;
2405   const sh5_media_idesc* idesc = abuf->idesc;
2406   int cycles = 0;
2407   {
2408     cycles += model_u_exec_before (current_cpu, idesc, 0);
2409   }
2410   return cycles;
2411 #undef FLD
2412 }
2413
2414 UINT
2415 sh5_media_sh5_model::model_ftrvs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2416 {
2417 #define FLD(f) abuf->fields.sfmt_ftrvs.f
2418   const sh5_media_scache* abuf = sem;
2419   const sh5_media_idesc* idesc = abuf->idesc;
2420   int cycles = 0;
2421   {
2422     int referenced = 0;
2423     unsigned long long insn_referenced = abuf->written;
2424     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2425   }
2426   return cycles;
2427 #undef FLD
2428 }
2429
2430 UINT
2431 sh5_media_sh5_model::model_getcfg_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2432 {
2433 #define FLD(f) abuf->fields.sfmt_getcfg.f
2434   const sh5_media_scache* abuf = sem;
2435   const sh5_media_idesc* idesc = abuf->idesc;
2436   int cycles = 0;
2437   {
2438     cycles += model_u_exec_before (current_cpu, idesc, 0);
2439   }
2440   return cycles;
2441 #undef FLD
2442 }
2443
2444 UINT
2445 sh5_media_sh5_model::model_getcfg_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2446 {
2447 #define FLD(f) abuf->fields.sfmt_getcfg.f
2448   const sh5_media_scache* abuf = sem;
2449   const sh5_media_idesc* idesc = abuf->idesc;
2450   int cycles = 0;
2451   {
2452     int referenced = 0;
2453     unsigned long long insn_referenced = abuf->written;
2454     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2455   }
2456   return cycles;
2457 #undef FLD
2458 }
2459
2460 UINT
2461 sh5_media_sh5_model::model_getcon_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2462 {
2463 #define FLD(f) abuf->fields.sfmt_xori.f
2464   const sh5_media_scache* abuf = sem;
2465   const sh5_media_idesc* idesc = abuf->idesc;
2466   int cycles = 0;
2467   {
2468     cycles += model_u_exec_before (current_cpu, idesc, 0);
2469   }
2470   return cycles;
2471 #undef FLD
2472 }
2473
2474 UINT
2475 sh5_media_sh5_model::model_getcon_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2476 {
2477 #define FLD(f) abuf->fields.sfmt_xori.f
2478   const sh5_media_scache* abuf = sem;
2479   const sh5_media_idesc* idesc = abuf->idesc;
2480   int cycles = 0;
2481   {
2482     int referenced = 0;
2483     unsigned long long insn_referenced = abuf->written;
2484     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2485   }
2486   return cycles;
2487 #undef FLD
2488 }
2489
2490 UINT
2491 sh5_media_sh5_model::model_gettr_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2492 {
2493 #define FLD(f) abuf->fields.sfmt_blink.f
2494   const sh5_media_scache* abuf = sem;
2495   const sh5_media_idesc* idesc = abuf->idesc;
2496   int cycles = 0;
2497   {
2498     cycles += model_u_exec_before (current_cpu, idesc, 0);
2499   }
2500   return cycles;
2501 #undef FLD
2502 }
2503
2504 UINT
2505 sh5_media_sh5_model::model_gettr_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2506 {
2507 #define FLD(f) abuf->fields.sfmt_blink.f
2508   const sh5_media_scache* abuf = sem;
2509   const sh5_media_idesc* idesc = abuf->idesc;
2510   int cycles = 0;
2511   {
2512     int referenced = 0;
2513     unsigned long long insn_referenced = abuf->written;
2514     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2515   }
2516   return cycles;
2517 #undef FLD
2518 }
2519
2520 UINT
2521 sh5_media_sh5_model::model_icbi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2522 {
2523 #define FLD(f) abuf->fields.sfmt_alloco.f
2524   const sh5_media_scache* abuf = sem;
2525   const sh5_media_idesc* idesc = abuf->idesc;
2526   int cycles = 0;
2527   {
2528     cycles += model_u_exec_before (current_cpu, idesc, 0);
2529   }
2530   return cycles;
2531 #undef FLD
2532 }
2533
2534 UINT
2535 sh5_media_sh5_model::model_icbi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2536 {
2537 #define FLD(f) abuf->fields.sfmt_alloco.f
2538   const sh5_media_scache* abuf = sem;
2539   const sh5_media_idesc* idesc = abuf->idesc;
2540   int cycles = 0;
2541   {
2542     int referenced = 0;
2543     unsigned long long insn_referenced = abuf->written;
2544     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2545   }
2546   return cycles;
2547 #undef FLD
2548 }
2549
2550 UINT
2551 sh5_media_sh5_model::model_ldb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2552 {
2553 #define FLD(f) abuf->fields.sfmt_addi.f
2554   const sh5_media_scache* abuf = sem;
2555   const sh5_media_idesc* idesc = abuf->idesc;
2556   int cycles = 0;
2557   {
2558     cycles += model_u_exec_before (current_cpu, idesc, 0);
2559   }
2560   return cycles;
2561 #undef FLD
2562 }
2563
2564 UINT
2565 sh5_media_sh5_model::model_ldb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2566 {
2567 #define FLD(f) abuf->fields.sfmt_addi.f
2568   const sh5_media_scache* abuf = sem;
2569   const sh5_media_idesc* idesc = abuf->idesc;
2570   int cycles = 0;
2571   {
2572     int referenced = 0;
2573     unsigned long long insn_referenced = abuf->written;
2574     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2575   }
2576   return cycles;
2577 #undef FLD
2578 }
2579
2580 UINT
2581 sh5_media_sh5_model::model_ldl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2582 {
2583 #define FLD(f) abuf->fields.sfmt_ldl.f
2584   const sh5_media_scache* abuf = sem;
2585   const sh5_media_idesc* idesc = abuf->idesc;
2586   int cycles = 0;
2587   {
2588     cycles += model_u_exec_before (current_cpu, idesc, 0);
2589   }
2590   return cycles;
2591 #undef FLD
2592 }
2593
2594 UINT
2595 sh5_media_sh5_model::model_ldl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2596 {
2597 #define FLD(f) abuf->fields.sfmt_ldl.f
2598   const sh5_media_scache* abuf = sem;
2599   const sh5_media_idesc* idesc = abuf->idesc;
2600   int cycles = 0;
2601   {
2602     int referenced = 0;
2603     unsigned long long insn_referenced = abuf->written;
2604     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2605   }
2606   return cycles;
2607 #undef FLD
2608 }
2609
2610 UINT
2611 sh5_media_sh5_model::model_ldq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2612 {
2613 #define FLD(f) abuf->fields.sfmt_ldq.f
2614   const sh5_media_scache* abuf = sem;
2615   const sh5_media_idesc* idesc = abuf->idesc;
2616   int cycles = 0;
2617   {
2618     cycles += model_u_exec_before (current_cpu, idesc, 0);
2619   }
2620   return cycles;
2621 #undef FLD
2622 }
2623
2624 UINT
2625 sh5_media_sh5_model::model_ldq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2626 {
2627 #define FLD(f) abuf->fields.sfmt_ldq.f
2628   const sh5_media_scache* abuf = sem;
2629   const sh5_media_idesc* idesc = abuf->idesc;
2630   int cycles = 0;
2631   {
2632     int referenced = 0;
2633     unsigned long long insn_referenced = abuf->written;
2634     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2635   }
2636   return cycles;
2637 #undef FLD
2638 }
2639
2640 UINT
2641 sh5_media_sh5_model::model_ldub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2642 {
2643 #define FLD(f) abuf->fields.sfmt_addi.f
2644   const sh5_media_scache* abuf = sem;
2645   const sh5_media_idesc* idesc = abuf->idesc;
2646   int cycles = 0;
2647   {
2648     cycles += model_u_exec_before (current_cpu, idesc, 0);
2649   }
2650   return cycles;
2651 #undef FLD
2652 }
2653
2654 UINT
2655 sh5_media_sh5_model::model_ldub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2656 {
2657 #define FLD(f) abuf->fields.sfmt_addi.f
2658   const sh5_media_scache* abuf = sem;
2659   const sh5_media_idesc* idesc = abuf->idesc;
2660   int cycles = 0;
2661   {
2662     int referenced = 0;
2663     unsigned long long insn_referenced = abuf->written;
2664     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2665   }
2666   return cycles;
2667 #undef FLD
2668 }
2669
2670 UINT
2671 sh5_media_sh5_model::model_lduw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2672 {
2673 #define FLD(f) abuf->fields.sfmt_lduw.f
2674   const sh5_media_scache* abuf = sem;
2675   const sh5_media_idesc* idesc = abuf->idesc;
2676   int cycles = 0;
2677   {
2678     cycles += model_u_exec_before (current_cpu, idesc, 0);
2679   }
2680   return cycles;
2681 #undef FLD
2682 }
2683
2684 UINT
2685 sh5_media_sh5_model::model_lduw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2686 {
2687 #define FLD(f) abuf->fields.sfmt_lduw.f
2688   const sh5_media_scache* abuf = sem;
2689   const sh5_media_idesc* idesc = abuf->idesc;
2690   int cycles = 0;
2691   {
2692     int referenced = 0;
2693     unsigned long long insn_referenced = abuf->written;
2694     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2695   }
2696   return cycles;
2697 #undef FLD
2698 }
2699
2700 UINT
2701 sh5_media_sh5_model::model_ldw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2702 {
2703 #define FLD(f) abuf->fields.sfmt_lduw.f
2704   const sh5_media_scache* abuf = sem;
2705   const sh5_media_idesc* idesc = abuf->idesc;
2706   int cycles = 0;
2707   {
2708     cycles += model_u_exec_before (current_cpu, idesc, 0);
2709   }
2710   return cycles;
2711 #undef FLD
2712 }
2713
2714 UINT
2715 sh5_media_sh5_model::model_ldw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2716 {
2717 #define FLD(f) abuf->fields.sfmt_lduw.f
2718   const sh5_media_scache* abuf = sem;
2719   const sh5_media_idesc* idesc = abuf->idesc;
2720   int cycles = 0;
2721   {
2722     int referenced = 0;
2723     unsigned long long insn_referenced = abuf->written;
2724     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2725   }
2726   return cycles;
2727 #undef FLD
2728 }
2729
2730 UINT
2731 sh5_media_sh5_model::model_ldhil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2732 {
2733 #define FLD(f) abuf->fields.sfmt_getcfg.f
2734   const sh5_media_scache* abuf = sem;
2735   const sh5_media_idesc* idesc = abuf->idesc;
2736   int cycles = 0;
2737   {
2738     cycles += model_u_exec_before (current_cpu, idesc, 0);
2739   }
2740   return cycles;
2741 #undef FLD
2742 }
2743
2744 UINT
2745 sh5_media_sh5_model::model_ldhil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2746 {
2747 #define FLD(f) abuf->fields.sfmt_getcfg.f
2748   const sh5_media_scache* abuf = sem;
2749   const sh5_media_idesc* idesc = abuf->idesc;
2750   int cycles = 0;
2751   {
2752     int referenced = 0;
2753     unsigned long long insn_referenced = abuf->written;
2754     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2755   }
2756   return cycles;
2757 #undef FLD
2758 }
2759
2760 UINT
2761 sh5_media_sh5_model::model_ldhiq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2762 {
2763 #define FLD(f) abuf->fields.sfmt_getcfg.f
2764   const sh5_media_scache* abuf = sem;
2765   const sh5_media_idesc* idesc = abuf->idesc;
2766   int cycles = 0;
2767   {
2768     cycles += model_u_exec_before (current_cpu, idesc, 0);
2769   }
2770   return cycles;
2771 #undef FLD
2772 }
2773
2774 UINT
2775 sh5_media_sh5_model::model_ldhiq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2776 {
2777 #define FLD(f) abuf->fields.sfmt_getcfg.f
2778   const sh5_media_scache* abuf = sem;
2779   const sh5_media_idesc* idesc = abuf->idesc;
2780   int cycles = 0;
2781   {
2782     int referenced = 0;
2783     unsigned long long insn_referenced = abuf->written;
2784     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2785   }
2786   return cycles;
2787 #undef FLD
2788 }
2789
2790 UINT
2791 sh5_media_sh5_model::model_ldlol_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2792 {
2793 #define FLD(f) abuf->fields.sfmt_getcfg.f
2794   const sh5_media_scache* abuf = sem;
2795   const sh5_media_idesc* idesc = abuf->idesc;
2796   int cycles = 0;
2797   {
2798     cycles += model_u_exec_before (current_cpu, idesc, 0);
2799   }
2800   return cycles;
2801 #undef FLD
2802 }
2803
2804 UINT
2805 sh5_media_sh5_model::model_ldlol_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2806 {
2807 #define FLD(f) abuf->fields.sfmt_getcfg.f
2808   const sh5_media_scache* abuf = sem;
2809   const sh5_media_idesc* idesc = abuf->idesc;
2810   int cycles = 0;
2811   {
2812     int referenced = 0;
2813     unsigned long long insn_referenced = abuf->written;
2814     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2815   }
2816   return cycles;
2817 #undef FLD
2818 }
2819
2820 UINT
2821 sh5_media_sh5_model::model_ldloq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2822 {
2823 #define FLD(f) abuf->fields.sfmt_getcfg.f
2824   const sh5_media_scache* abuf = sem;
2825   const sh5_media_idesc* idesc = abuf->idesc;
2826   int cycles = 0;
2827   {
2828     cycles += model_u_exec_before (current_cpu, idesc, 0);
2829   }
2830   return cycles;
2831 #undef FLD
2832 }
2833
2834 UINT
2835 sh5_media_sh5_model::model_ldloq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2836 {
2837 #define FLD(f) abuf->fields.sfmt_getcfg.f
2838   const sh5_media_scache* abuf = sem;
2839   const sh5_media_idesc* idesc = abuf->idesc;
2840   int cycles = 0;
2841   {
2842     int referenced = 0;
2843     unsigned long long insn_referenced = abuf->written;
2844     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2845   }
2846   return cycles;
2847 #undef FLD
2848 }
2849
2850 UINT
2851 sh5_media_sh5_model::model_ldxb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2852 {
2853 #define FLD(f) abuf->fields.sfmt_mcmv.f
2854   const sh5_media_scache* abuf = sem;
2855   const sh5_media_idesc* idesc = abuf->idesc;
2856   int cycles = 0;
2857   {
2858     cycles += model_u_exec_before (current_cpu, idesc, 0);
2859   }
2860   return cycles;
2861 #undef FLD
2862 }
2863
2864 UINT
2865 sh5_media_sh5_model::model_ldxb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2866 {
2867 #define FLD(f) abuf->fields.sfmt_mcmv.f
2868   const sh5_media_scache* abuf = sem;
2869   const sh5_media_idesc* idesc = abuf->idesc;
2870   int cycles = 0;
2871   {
2872     int referenced = 0;
2873     unsigned long long insn_referenced = abuf->written;
2874     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2875   }
2876   return cycles;
2877 #undef FLD
2878 }
2879
2880 UINT
2881 sh5_media_sh5_model::model_ldxl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2882 {
2883 #define FLD(f) abuf->fields.sfmt_mcmv.f
2884   const sh5_media_scache* abuf = sem;
2885   const sh5_media_idesc* idesc = abuf->idesc;
2886   int cycles = 0;
2887   {
2888     cycles += model_u_exec_before (current_cpu, idesc, 0);
2889   }
2890   return cycles;
2891 #undef FLD
2892 }
2893
2894 UINT
2895 sh5_media_sh5_model::model_ldxl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2896 {
2897 #define FLD(f) abuf->fields.sfmt_mcmv.f
2898   const sh5_media_scache* abuf = sem;
2899   const sh5_media_idesc* idesc = abuf->idesc;
2900   int cycles = 0;
2901   {
2902     int referenced = 0;
2903     unsigned long long insn_referenced = abuf->written;
2904     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2905   }
2906   return cycles;
2907 #undef FLD
2908 }
2909
2910 UINT
2911 sh5_media_sh5_model::model_ldxq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2912 {
2913 #define FLD(f) abuf->fields.sfmt_mcmv.f
2914   const sh5_media_scache* abuf = sem;
2915   const sh5_media_idesc* idesc = abuf->idesc;
2916   int cycles = 0;
2917   {
2918     cycles += model_u_exec_before (current_cpu, idesc, 0);
2919   }
2920   return cycles;
2921 #undef FLD
2922 }
2923
2924 UINT
2925 sh5_media_sh5_model::model_ldxq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2926 {
2927 #define FLD(f) abuf->fields.sfmt_mcmv.f
2928   const sh5_media_scache* abuf = sem;
2929   const sh5_media_idesc* idesc = abuf->idesc;
2930   int cycles = 0;
2931   {
2932     int referenced = 0;
2933     unsigned long long insn_referenced = abuf->written;
2934     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2935   }
2936   return cycles;
2937 #undef FLD
2938 }
2939
2940 UINT
2941 sh5_media_sh5_model::model_ldxub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2942 {
2943 #define FLD(f) abuf->fields.sfmt_mcmv.f
2944   const sh5_media_scache* abuf = sem;
2945   const sh5_media_idesc* idesc = abuf->idesc;
2946   int cycles = 0;
2947   {
2948     cycles += model_u_exec_before (current_cpu, idesc, 0);
2949   }
2950   return cycles;
2951 #undef FLD
2952 }
2953
2954 UINT
2955 sh5_media_sh5_model::model_ldxub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2956 {
2957 #define FLD(f) abuf->fields.sfmt_mcmv.f
2958   const sh5_media_scache* abuf = sem;
2959   const sh5_media_idesc* idesc = abuf->idesc;
2960   int cycles = 0;
2961   {
2962     int referenced = 0;
2963     unsigned long long insn_referenced = abuf->written;
2964     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2965   }
2966   return cycles;
2967 #undef FLD
2968 }
2969
2970 UINT
2971 sh5_media_sh5_model::model_ldxuw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
2972 {
2973 #define FLD(f) abuf->fields.sfmt_mcmv.f
2974   const sh5_media_scache* abuf = sem;
2975   const sh5_media_idesc* idesc = abuf->idesc;
2976   int cycles = 0;
2977   {
2978     cycles += model_u_exec_before (current_cpu, idesc, 0);
2979   }
2980   return cycles;
2981 #undef FLD
2982 }
2983
2984 UINT
2985 sh5_media_sh5_model::model_ldxuw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
2986 {
2987 #define FLD(f) abuf->fields.sfmt_mcmv.f
2988   const sh5_media_scache* abuf = sem;
2989   const sh5_media_idesc* idesc = abuf->idesc;
2990   int cycles = 0;
2991   {
2992     int referenced = 0;
2993     unsigned long long insn_referenced = abuf->written;
2994     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2995   }
2996   return cycles;
2997 #undef FLD
2998 }
2999
3000 UINT
3001 sh5_media_sh5_model::model_ldxw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3002 {
3003 #define FLD(f) abuf->fields.sfmt_mcmv.f
3004   const sh5_media_scache* abuf = sem;
3005   const sh5_media_idesc* idesc = abuf->idesc;
3006   int cycles = 0;
3007   {
3008     cycles += model_u_exec_before (current_cpu, idesc, 0);
3009   }
3010   return cycles;
3011 #undef FLD
3012 }
3013
3014 UINT
3015 sh5_media_sh5_model::model_ldxw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3016 {
3017 #define FLD(f) abuf->fields.sfmt_mcmv.f
3018   const sh5_media_scache* abuf = sem;
3019   const sh5_media_idesc* idesc = abuf->idesc;
3020   int cycles = 0;
3021   {
3022     int referenced = 0;
3023     unsigned long long insn_referenced = abuf->written;
3024     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3025   }
3026   return cycles;
3027 #undef FLD
3028 }
3029
3030 UINT
3031 sh5_media_sh5_model::model_mabsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3032 {
3033 #define FLD(f) abuf->fields.sfmt_xori.f
3034   const sh5_media_scache* abuf = sem;
3035   const sh5_media_idesc* idesc = abuf->idesc;
3036   int cycles = 0;
3037   {
3038     cycles += model_u_exec_before (current_cpu, idesc, 0);
3039   }
3040   return cycles;
3041 #undef FLD
3042 }
3043
3044 UINT
3045 sh5_media_sh5_model::model_mabsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3046 {
3047 #define FLD(f) abuf->fields.sfmt_xori.f
3048   const sh5_media_scache* abuf = sem;
3049   const sh5_media_idesc* idesc = abuf->idesc;
3050   int cycles = 0;
3051   {
3052     int referenced = 0;
3053     unsigned long long insn_referenced = abuf->written;
3054     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3055   }
3056   return cycles;
3057 #undef FLD
3058 }
3059
3060 UINT
3061 sh5_media_sh5_model::model_mabsw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3062 {
3063 #define FLD(f) abuf->fields.sfmt_xori.f
3064   const sh5_media_scache* abuf = sem;
3065   const sh5_media_idesc* idesc = abuf->idesc;
3066   int cycles = 0;
3067   {
3068     cycles += model_u_exec_before (current_cpu, idesc, 0);
3069   }
3070   return cycles;
3071 #undef FLD
3072 }
3073
3074 UINT
3075 sh5_media_sh5_model::model_mabsw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3076 {
3077 #define FLD(f) abuf->fields.sfmt_xori.f
3078   const sh5_media_scache* abuf = sem;
3079   const sh5_media_idesc* idesc = abuf->idesc;
3080   int cycles = 0;
3081   {
3082     int referenced = 0;
3083     unsigned long long insn_referenced = abuf->written;
3084     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3085   }
3086   return cycles;
3087 #undef FLD
3088 }
3089
3090 UINT
3091 sh5_media_sh5_model::model_maddl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3092 {
3093 #define FLD(f) abuf->fields.sfmt_mcmv.f
3094   const sh5_media_scache* abuf = sem;
3095   const sh5_media_idesc* idesc = abuf->idesc;
3096   int cycles = 0;
3097   {
3098     cycles += model_u_exec_before (current_cpu, idesc, 0);
3099   }
3100   return cycles;
3101 #undef FLD
3102 }
3103
3104 UINT
3105 sh5_media_sh5_model::model_maddl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3106 {
3107 #define FLD(f) abuf->fields.sfmt_mcmv.f
3108   const sh5_media_scache* abuf = sem;
3109   const sh5_media_idesc* idesc = abuf->idesc;
3110   int cycles = 0;
3111   {
3112     int referenced = 0;
3113     unsigned long long insn_referenced = abuf->written;
3114     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3115   }
3116   return cycles;
3117 #undef FLD
3118 }
3119
3120 UINT
3121 sh5_media_sh5_model::model_maddw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3122 {
3123 #define FLD(f) abuf->fields.sfmt_mcmv.f
3124   const sh5_media_scache* abuf = sem;
3125   const sh5_media_idesc* idesc = abuf->idesc;
3126   int cycles = 0;
3127   {
3128     cycles += model_u_exec_before (current_cpu, idesc, 0);
3129   }
3130   return cycles;
3131 #undef FLD
3132 }
3133
3134 UINT
3135 sh5_media_sh5_model::model_maddw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3136 {
3137 #define FLD(f) abuf->fields.sfmt_mcmv.f
3138   const sh5_media_scache* abuf = sem;
3139   const sh5_media_idesc* idesc = abuf->idesc;
3140   int cycles = 0;
3141   {
3142     int referenced = 0;
3143     unsigned long long insn_referenced = abuf->written;
3144     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3145   }
3146   return cycles;
3147 #undef FLD
3148 }
3149
3150 UINT
3151 sh5_media_sh5_model::model_maddsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3152 {
3153 #define FLD(f) abuf->fields.sfmt_mcmv.f
3154   const sh5_media_scache* abuf = sem;
3155   const sh5_media_idesc* idesc = abuf->idesc;
3156   int cycles = 0;
3157   {
3158     cycles += model_u_exec_before (current_cpu, idesc, 0);
3159   }
3160   return cycles;
3161 #undef FLD
3162 }
3163
3164 UINT
3165 sh5_media_sh5_model::model_maddsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3166 {
3167 #define FLD(f) abuf->fields.sfmt_mcmv.f
3168   const sh5_media_scache* abuf = sem;
3169   const sh5_media_idesc* idesc = abuf->idesc;
3170   int cycles = 0;
3171   {
3172     int referenced = 0;
3173     unsigned long long insn_referenced = abuf->written;
3174     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3175   }
3176   return cycles;
3177 #undef FLD
3178 }
3179
3180 UINT
3181 sh5_media_sh5_model::model_maddsub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3182 {
3183 #define FLD(f) abuf->fields.sfmt_mcmv.f
3184   const sh5_media_scache* abuf = sem;
3185   const sh5_media_idesc* idesc = abuf->idesc;
3186   int cycles = 0;
3187   {
3188     cycles += model_u_exec_before (current_cpu, idesc, 0);
3189   }
3190   return cycles;
3191 #undef FLD
3192 }
3193
3194 UINT
3195 sh5_media_sh5_model::model_maddsub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3196 {
3197 #define FLD(f) abuf->fields.sfmt_mcmv.f
3198   const sh5_media_scache* abuf = sem;
3199   const sh5_media_idesc* idesc = abuf->idesc;
3200   int cycles = 0;
3201   {
3202     int referenced = 0;
3203     unsigned long long insn_referenced = abuf->written;
3204     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3205   }
3206   return cycles;
3207 #undef FLD
3208 }
3209
3210 UINT
3211 sh5_media_sh5_model::model_maddsw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3212 {
3213 #define FLD(f) abuf->fields.sfmt_mcmv.f
3214   const sh5_media_scache* abuf = sem;
3215   const sh5_media_idesc* idesc = abuf->idesc;
3216   int cycles = 0;
3217   {
3218     cycles += model_u_exec_before (current_cpu, idesc, 0);
3219   }
3220   return cycles;
3221 #undef FLD
3222 }
3223
3224 UINT
3225 sh5_media_sh5_model::model_maddsw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3226 {
3227 #define FLD(f) abuf->fields.sfmt_mcmv.f
3228   const sh5_media_scache* abuf = sem;
3229   const sh5_media_idesc* idesc = abuf->idesc;
3230   int cycles = 0;
3231   {
3232     int referenced = 0;
3233     unsigned long long insn_referenced = abuf->written;
3234     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3235   }
3236   return cycles;
3237 #undef FLD
3238 }
3239
3240 UINT
3241 sh5_media_sh5_model::model_mcmpeqb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3242 {
3243 #define FLD(f) abuf->fields.sfmt_mcmv.f
3244   const sh5_media_scache* abuf = sem;
3245   const sh5_media_idesc* idesc = abuf->idesc;
3246   int cycles = 0;
3247   {
3248     cycles += model_u_exec_before (current_cpu, idesc, 0);
3249   }
3250   return cycles;
3251 #undef FLD
3252 }
3253
3254 UINT
3255 sh5_media_sh5_model::model_mcmpeqb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3256 {
3257 #define FLD(f) abuf->fields.sfmt_mcmv.f
3258   const sh5_media_scache* abuf = sem;
3259   const sh5_media_idesc* idesc = abuf->idesc;
3260   int cycles = 0;
3261   {
3262     int referenced = 0;
3263     unsigned long long insn_referenced = abuf->written;
3264     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3265   }
3266   return cycles;
3267 #undef FLD
3268 }
3269
3270 UINT
3271 sh5_media_sh5_model::model_mcmpeql_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3272 {
3273 #define FLD(f) abuf->fields.sfmt_mcmv.f
3274   const sh5_media_scache* abuf = sem;
3275   const sh5_media_idesc* idesc = abuf->idesc;
3276   int cycles = 0;
3277   {
3278     cycles += model_u_exec_before (current_cpu, idesc, 0);
3279   }
3280   return cycles;
3281 #undef FLD
3282 }
3283
3284 UINT
3285 sh5_media_sh5_model::model_mcmpeql_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3286 {
3287 #define FLD(f) abuf->fields.sfmt_mcmv.f
3288   const sh5_media_scache* abuf = sem;
3289   const sh5_media_idesc* idesc = abuf->idesc;
3290   int cycles = 0;
3291   {
3292     int referenced = 0;
3293     unsigned long long insn_referenced = abuf->written;
3294     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3295   }
3296   return cycles;
3297 #undef FLD
3298 }
3299
3300 UINT
3301 sh5_media_sh5_model::model_mcmpeqw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3302 {
3303 #define FLD(f) abuf->fields.sfmt_mcmv.f
3304   const sh5_media_scache* abuf = sem;
3305   const sh5_media_idesc* idesc = abuf->idesc;
3306   int cycles = 0;
3307   {
3308     cycles += model_u_exec_before (current_cpu, idesc, 0);
3309   }
3310   return cycles;
3311 #undef FLD
3312 }
3313
3314 UINT
3315 sh5_media_sh5_model::model_mcmpeqw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3316 {
3317 #define FLD(f) abuf->fields.sfmt_mcmv.f
3318   const sh5_media_scache* abuf = sem;
3319   const sh5_media_idesc* idesc = abuf->idesc;
3320   int cycles = 0;
3321   {
3322     int referenced = 0;
3323     unsigned long long insn_referenced = abuf->written;
3324     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3325   }
3326   return cycles;
3327 #undef FLD
3328 }
3329
3330 UINT
3331 sh5_media_sh5_model::model_mcmpgtl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3332 {
3333 #define FLD(f) abuf->fields.sfmt_mcmv.f
3334   const sh5_media_scache* abuf = sem;
3335   const sh5_media_idesc* idesc = abuf->idesc;
3336   int cycles = 0;
3337   {
3338     cycles += model_u_exec_before (current_cpu, idesc, 0);
3339   }
3340   return cycles;
3341 #undef FLD
3342 }
3343
3344 UINT
3345 sh5_media_sh5_model::model_mcmpgtl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3346 {
3347 #define FLD(f) abuf->fields.sfmt_mcmv.f
3348   const sh5_media_scache* abuf = sem;
3349   const sh5_media_idesc* idesc = abuf->idesc;
3350   int cycles = 0;
3351   {
3352     int referenced = 0;
3353     unsigned long long insn_referenced = abuf->written;
3354     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3355   }
3356   return cycles;
3357 #undef FLD
3358 }
3359
3360 UINT
3361 sh5_media_sh5_model::model_mcmpgtub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3362 {
3363 #define FLD(f) abuf->fields.sfmt_mcmv.f
3364   const sh5_media_scache* abuf = sem;
3365   const sh5_media_idesc* idesc = abuf->idesc;
3366   int cycles = 0;
3367   {
3368     cycles += model_u_exec_before (current_cpu, idesc, 0);
3369   }
3370   return cycles;
3371 #undef FLD
3372 }
3373
3374 UINT
3375 sh5_media_sh5_model::model_mcmpgtub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3376 {
3377 #define FLD(f) abuf->fields.sfmt_mcmv.f
3378   const sh5_media_scache* abuf = sem;
3379   const sh5_media_idesc* idesc = abuf->idesc;
3380   int cycles = 0;
3381   {
3382     int referenced = 0;
3383     unsigned long long insn_referenced = abuf->written;
3384     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3385   }
3386   return cycles;
3387 #undef FLD
3388 }
3389
3390 UINT
3391 sh5_media_sh5_model::model_mcmpgtw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3392 {
3393 #define FLD(f) abuf->fields.sfmt_mcmv.f
3394   const sh5_media_scache* abuf = sem;
3395   const sh5_media_idesc* idesc = abuf->idesc;
3396   int cycles = 0;
3397   {
3398     cycles += model_u_exec_before (current_cpu, idesc, 0);
3399   }
3400   return cycles;
3401 #undef FLD
3402 }
3403
3404 UINT
3405 sh5_media_sh5_model::model_mcmpgtw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3406 {
3407 #define FLD(f) abuf->fields.sfmt_mcmv.f
3408   const sh5_media_scache* abuf = sem;
3409   const sh5_media_idesc* idesc = abuf->idesc;
3410   int cycles = 0;
3411   {
3412     int referenced = 0;
3413     unsigned long long insn_referenced = abuf->written;
3414     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3415   }
3416   return cycles;
3417 #undef FLD
3418 }
3419
3420 UINT
3421 sh5_media_sh5_model::model_mcmv_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3422 {
3423 #define FLD(f) abuf->fields.sfmt_mcmv.f
3424   const sh5_media_scache* abuf = sem;
3425   const sh5_media_idesc* idesc = abuf->idesc;
3426   int cycles = 0;
3427   {
3428     cycles += model_u_exec_before (current_cpu, idesc, 0);
3429   }
3430   return cycles;
3431 #undef FLD
3432 }
3433
3434 UINT
3435 sh5_media_sh5_model::model_mcmv_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3436 {
3437 #define FLD(f) abuf->fields.sfmt_mcmv.f
3438   const sh5_media_scache* abuf = sem;
3439   const sh5_media_idesc* idesc = abuf->idesc;
3440   int cycles = 0;
3441   {
3442     int referenced = 0;
3443     unsigned long long insn_referenced = abuf->written;
3444     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3445   }
3446   return cycles;
3447 #undef FLD
3448 }
3449
3450 UINT
3451 sh5_media_sh5_model::model_mcnvslw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3452 {
3453 #define FLD(f) abuf->fields.sfmt_mcmv.f
3454   const sh5_media_scache* abuf = sem;
3455   const sh5_media_idesc* idesc = abuf->idesc;
3456   int cycles = 0;
3457   {
3458     cycles += model_u_exec_before (current_cpu, idesc, 0);
3459   }
3460   return cycles;
3461 #undef FLD
3462 }
3463
3464 UINT
3465 sh5_media_sh5_model::model_mcnvslw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3466 {
3467 #define FLD(f) abuf->fields.sfmt_mcmv.f
3468   const sh5_media_scache* abuf = sem;
3469   const sh5_media_idesc* idesc = abuf->idesc;
3470   int cycles = 0;
3471   {
3472     int referenced = 0;
3473     unsigned long long insn_referenced = abuf->written;
3474     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3475   }
3476   return cycles;
3477 #undef FLD
3478 }
3479
3480 UINT
3481 sh5_media_sh5_model::model_mcnvswb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3482 {
3483 #define FLD(f) abuf->fields.sfmt_mcmv.f
3484   const sh5_media_scache* abuf = sem;
3485   const sh5_media_idesc* idesc = abuf->idesc;
3486   int cycles = 0;
3487   {
3488     cycles += model_u_exec_before (current_cpu, idesc, 0);
3489   }
3490   return cycles;
3491 #undef FLD
3492 }
3493
3494 UINT
3495 sh5_media_sh5_model::model_mcnvswb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3496 {
3497 #define FLD(f) abuf->fields.sfmt_mcmv.f
3498   const sh5_media_scache* abuf = sem;
3499   const sh5_media_idesc* idesc = abuf->idesc;
3500   int cycles = 0;
3501   {
3502     int referenced = 0;
3503     unsigned long long insn_referenced = abuf->written;
3504     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3505   }
3506   return cycles;
3507 #undef FLD
3508 }
3509
3510 UINT
3511 sh5_media_sh5_model::model_mcnvswub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3512 {
3513 #define FLD(f) abuf->fields.sfmt_mcmv.f
3514   const sh5_media_scache* abuf = sem;
3515   const sh5_media_idesc* idesc = abuf->idesc;
3516   int cycles = 0;
3517   {
3518     cycles += model_u_exec_before (current_cpu, idesc, 0);
3519   }
3520   return cycles;
3521 #undef FLD
3522 }
3523
3524 UINT
3525 sh5_media_sh5_model::model_mcnvswub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3526 {
3527 #define FLD(f) abuf->fields.sfmt_mcmv.f
3528   const sh5_media_scache* abuf = sem;
3529   const sh5_media_idesc* idesc = abuf->idesc;
3530   int cycles = 0;
3531   {
3532     int referenced = 0;
3533     unsigned long long insn_referenced = abuf->written;
3534     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3535   }
3536   return cycles;
3537 #undef FLD
3538 }
3539
3540 UINT
3541 sh5_media_sh5_model::model_mextr1_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3542 {
3543 #define FLD(f) abuf->fields.sfmt_mcmv.f
3544   const sh5_media_scache* abuf = sem;
3545   const sh5_media_idesc* idesc = abuf->idesc;
3546   int cycles = 0;
3547   {
3548     cycles += model_u_exec_before (current_cpu, idesc, 0);
3549   }
3550   return cycles;
3551 #undef FLD
3552 }
3553
3554 UINT
3555 sh5_media_sh5_model::model_mextr1_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3556 {
3557 #define FLD(f) abuf->fields.sfmt_mcmv.f
3558   const sh5_media_scache* abuf = sem;
3559   const sh5_media_idesc* idesc = abuf->idesc;
3560   int cycles = 0;
3561   {
3562     int referenced = 0;
3563     unsigned long long insn_referenced = abuf->written;
3564     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3565   }
3566   return cycles;
3567 #undef FLD
3568 }
3569
3570 UINT
3571 sh5_media_sh5_model::model_mextr2_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3572 {
3573 #define FLD(f) abuf->fields.sfmt_mcmv.f
3574   const sh5_media_scache* abuf = sem;
3575   const sh5_media_idesc* idesc = abuf->idesc;
3576   int cycles = 0;
3577   {
3578     cycles += model_u_exec_before (current_cpu, idesc, 0);
3579   }
3580   return cycles;
3581 #undef FLD
3582 }
3583
3584 UINT
3585 sh5_media_sh5_model::model_mextr2_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3586 {
3587 #define FLD(f) abuf->fields.sfmt_mcmv.f
3588   const sh5_media_scache* abuf = sem;
3589   const sh5_media_idesc* idesc = abuf->idesc;
3590   int cycles = 0;
3591   {
3592     int referenced = 0;
3593     unsigned long long insn_referenced = abuf->written;
3594     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3595   }
3596   return cycles;
3597 #undef FLD
3598 }
3599
3600 UINT
3601 sh5_media_sh5_model::model_mextr3_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3602 {
3603 #define FLD(f) abuf->fields.sfmt_mcmv.f
3604   const sh5_media_scache* abuf = sem;
3605   const sh5_media_idesc* idesc = abuf->idesc;
3606   int cycles = 0;
3607   {
3608     cycles += model_u_exec_before (current_cpu, idesc, 0);
3609   }
3610   return cycles;
3611 #undef FLD
3612 }
3613
3614 UINT
3615 sh5_media_sh5_model::model_mextr3_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3616 {
3617 #define FLD(f) abuf->fields.sfmt_mcmv.f
3618   const sh5_media_scache* abuf = sem;
3619   const sh5_media_idesc* idesc = abuf->idesc;
3620   int cycles = 0;
3621   {
3622     int referenced = 0;
3623     unsigned long long insn_referenced = abuf->written;
3624     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3625   }
3626   return cycles;
3627 #undef FLD
3628 }
3629
3630 UINT
3631 sh5_media_sh5_model::model_mextr4_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3632 {
3633 #define FLD(f) abuf->fields.sfmt_mcmv.f
3634   const sh5_media_scache* abuf = sem;
3635   const sh5_media_idesc* idesc = abuf->idesc;
3636   int cycles = 0;
3637   {
3638     cycles += model_u_exec_before (current_cpu, idesc, 0);
3639   }
3640   return cycles;
3641 #undef FLD
3642 }
3643
3644 UINT
3645 sh5_media_sh5_model::model_mextr4_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3646 {
3647 #define FLD(f) abuf->fields.sfmt_mcmv.f
3648   const sh5_media_scache* abuf = sem;
3649   const sh5_media_idesc* idesc = abuf->idesc;
3650   int cycles = 0;
3651   {
3652     int referenced = 0;
3653     unsigned long long insn_referenced = abuf->written;
3654     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3655   }
3656   return cycles;
3657 #undef FLD
3658 }
3659
3660 UINT
3661 sh5_media_sh5_model::model_mextr5_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3662 {
3663 #define FLD(f) abuf->fields.sfmt_mcmv.f
3664   const sh5_media_scache* abuf = sem;
3665   const sh5_media_idesc* idesc = abuf->idesc;
3666   int cycles = 0;
3667   {
3668     cycles += model_u_exec_before (current_cpu, idesc, 0);
3669   }
3670   return cycles;
3671 #undef FLD
3672 }
3673
3674 UINT
3675 sh5_media_sh5_model::model_mextr5_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3676 {
3677 #define FLD(f) abuf->fields.sfmt_mcmv.f
3678   const sh5_media_scache* abuf = sem;
3679   const sh5_media_idesc* idesc = abuf->idesc;
3680   int cycles = 0;
3681   {
3682     int referenced = 0;
3683     unsigned long long insn_referenced = abuf->written;
3684     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3685   }
3686   return cycles;
3687 #undef FLD
3688 }
3689
3690 UINT
3691 sh5_media_sh5_model::model_mextr6_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3692 {
3693 #define FLD(f) abuf->fields.sfmt_mcmv.f
3694   const sh5_media_scache* abuf = sem;
3695   const sh5_media_idesc* idesc = abuf->idesc;
3696   int cycles = 0;
3697   {
3698     cycles += model_u_exec_before (current_cpu, idesc, 0);
3699   }
3700   return cycles;
3701 #undef FLD
3702 }
3703
3704 UINT
3705 sh5_media_sh5_model::model_mextr6_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3706 {
3707 #define FLD(f) abuf->fields.sfmt_mcmv.f
3708   const sh5_media_scache* abuf = sem;
3709   const sh5_media_idesc* idesc = abuf->idesc;
3710   int cycles = 0;
3711   {
3712     int referenced = 0;
3713     unsigned long long insn_referenced = abuf->written;
3714     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3715   }
3716   return cycles;
3717 #undef FLD
3718 }
3719
3720 UINT
3721 sh5_media_sh5_model::model_mextr7_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3722 {
3723 #define FLD(f) abuf->fields.sfmt_mcmv.f
3724   const sh5_media_scache* abuf = sem;
3725   const sh5_media_idesc* idesc = abuf->idesc;
3726   int cycles = 0;
3727   {
3728     cycles += model_u_exec_before (current_cpu, idesc, 0);
3729   }
3730   return cycles;
3731 #undef FLD
3732 }
3733
3734 UINT
3735 sh5_media_sh5_model::model_mextr7_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3736 {
3737 #define FLD(f) abuf->fields.sfmt_mcmv.f
3738   const sh5_media_scache* abuf = sem;
3739   const sh5_media_idesc* idesc = abuf->idesc;
3740   int cycles = 0;
3741   {
3742     int referenced = 0;
3743     unsigned long long insn_referenced = abuf->written;
3744     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3745   }
3746   return cycles;
3747 #undef FLD
3748 }
3749
3750 UINT
3751 sh5_media_sh5_model::model_mmacfxwl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3752 {
3753 #define FLD(f) abuf->fields.sfmt_mcmv.f
3754   const sh5_media_scache* abuf = sem;
3755   const sh5_media_idesc* idesc = abuf->idesc;
3756   int cycles = 0;
3757   {
3758     cycles += model_u_exec_before (current_cpu, idesc, 0);
3759   }
3760   return cycles;
3761 #undef FLD
3762 }
3763
3764 UINT
3765 sh5_media_sh5_model::model_mmacfxwl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3766 {
3767 #define FLD(f) abuf->fields.sfmt_mcmv.f
3768   const sh5_media_scache* abuf = sem;
3769   const sh5_media_idesc* idesc = abuf->idesc;
3770   int cycles = 0;
3771   {
3772     int referenced = 0;
3773     unsigned long long insn_referenced = abuf->written;
3774     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3775   }
3776   return cycles;
3777 #undef FLD
3778 }
3779
3780 UINT
3781 sh5_media_sh5_model::model_mmacnfx_wl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3782 {
3783 #define FLD(f) abuf->fields.sfmt_mcmv.f
3784   const sh5_media_scache* abuf = sem;
3785   const sh5_media_idesc* idesc = abuf->idesc;
3786   int cycles = 0;
3787   {
3788     cycles += model_u_exec_before (current_cpu, idesc, 0);
3789   }
3790   return cycles;
3791 #undef FLD
3792 }
3793
3794 UINT
3795 sh5_media_sh5_model::model_mmacnfx_wl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3796 {
3797 #define FLD(f) abuf->fields.sfmt_mcmv.f
3798   const sh5_media_scache* abuf = sem;
3799   const sh5_media_idesc* idesc = abuf->idesc;
3800   int cycles = 0;
3801   {
3802     int referenced = 0;
3803     unsigned long long insn_referenced = abuf->written;
3804     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3805   }
3806   return cycles;
3807 #undef FLD
3808 }
3809
3810 UINT
3811 sh5_media_sh5_model::model_mmull_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3812 {
3813 #define FLD(f) abuf->fields.sfmt_mcmv.f
3814   const sh5_media_scache* abuf = sem;
3815   const sh5_media_idesc* idesc = abuf->idesc;
3816   int cycles = 0;
3817   {
3818     cycles += model_u_exec_before (current_cpu, idesc, 0);
3819   }
3820   return cycles;
3821 #undef FLD
3822 }
3823
3824 UINT
3825 sh5_media_sh5_model::model_mmull_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3826 {
3827 #define FLD(f) abuf->fields.sfmt_mcmv.f
3828   const sh5_media_scache* abuf = sem;
3829   const sh5_media_idesc* idesc = abuf->idesc;
3830   int cycles = 0;
3831   {
3832     int referenced = 0;
3833     unsigned long long insn_referenced = abuf->written;
3834     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3835   }
3836   return cycles;
3837 #undef FLD
3838 }
3839
3840 UINT
3841 sh5_media_sh5_model::model_mmulw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3842 {
3843 #define FLD(f) abuf->fields.sfmt_mcmv.f
3844   const sh5_media_scache* abuf = sem;
3845   const sh5_media_idesc* idesc = abuf->idesc;
3846   int cycles = 0;
3847   {
3848     cycles += model_u_exec_before (current_cpu, idesc, 0);
3849   }
3850   return cycles;
3851 #undef FLD
3852 }
3853
3854 UINT
3855 sh5_media_sh5_model::model_mmulw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3856 {
3857 #define FLD(f) abuf->fields.sfmt_mcmv.f
3858   const sh5_media_scache* abuf = sem;
3859   const sh5_media_idesc* idesc = abuf->idesc;
3860   int cycles = 0;
3861   {
3862     int referenced = 0;
3863     unsigned long long insn_referenced = abuf->written;
3864     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3865   }
3866   return cycles;
3867 #undef FLD
3868 }
3869
3870 UINT
3871 sh5_media_sh5_model::model_mmulfxl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3872 {
3873 #define FLD(f) abuf->fields.sfmt_mcmv.f
3874   const sh5_media_scache* abuf = sem;
3875   const sh5_media_idesc* idesc = abuf->idesc;
3876   int cycles = 0;
3877   {
3878     cycles += model_u_exec_before (current_cpu, idesc, 0);
3879   }
3880   return cycles;
3881 #undef FLD
3882 }
3883
3884 UINT
3885 sh5_media_sh5_model::model_mmulfxl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3886 {
3887 #define FLD(f) abuf->fields.sfmt_mcmv.f
3888   const sh5_media_scache* abuf = sem;
3889   const sh5_media_idesc* idesc = abuf->idesc;
3890   int cycles = 0;
3891   {
3892     int referenced = 0;
3893     unsigned long long insn_referenced = abuf->written;
3894     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3895   }
3896   return cycles;
3897 #undef FLD
3898 }
3899
3900 UINT
3901 sh5_media_sh5_model::model_mmulfxw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3902 {
3903 #define FLD(f) abuf->fields.sfmt_mcmv.f
3904   const sh5_media_scache* abuf = sem;
3905   const sh5_media_idesc* idesc = abuf->idesc;
3906   int cycles = 0;
3907   {
3908     cycles += model_u_exec_before (current_cpu, idesc, 0);
3909   }
3910   return cycles;
3911 #undef FLD
3912 }
3913
3914 UINT
3915 sh5_media_sh5_model::model_mmulfxw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3916 {
3917 #define FLD(f) abuf->fields.sfmt_mcmv.f
3918   const sh5_media_scache* abuf = sem;
3919   const sh5_media_idesc* idesc = abuf->idesc;
3920   int cycles = 0;
3921   {
3922     int referenced = 0;
3923     unsigned long long insn_referenced = abuf->written;
3924     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3925   }
3926   return cycles;
3927 #undef FLD
3928 }
3929
3930 UINT
3931 sh5_media_sh5_model::model_mmulfxrpw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3932 {
3933 #define FLD(f) abuf->fields.sfmt_mcmv.f
3934   const sh5_media_scache* abuf = sem;
3935   const sh5_media_idesc* idesc = abuf->idesc;
3936   int cycles = 0;
3937   {
3938     cycles += model_u_exec_before (current_cpu, idesc, 0);
3939   }
3940   return cycles;
3941 #undef FLD
3942 }
3943
3944 UINT
3945 sh5_media_sh5_model::model_mmulfxrpw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3946 {
3947 #define FLD(f) abuf->fields.sfmt_mcmv.f
3948   const sh5_media_scache* abuf = sem;
3949   const sh5_media_idesc* idesc = abuf->idesc;
3950   int cycles = 0;
3951   {
3952     int referenced = 0;
3953     unsigned long long insn_referenced = abuf->written;
3954     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3955   }
3956   return cycles;
3957 #undef FLD
3958 }
3959
3960 UINT
3961 sh5_media_sh5_model::model_mmulhiwl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3962 {
3963 #define FLD(f) abuf->fields.sfmt_mcmv.f
3964   const sh5_media_scache* abuf = sem;
3965   const sh5_media_idesc* idesc = abuf->idesc;
3966   int cycles = 0;
3967   {
3968     cycles += model_u_exec_before (current_cpu, idesc, 0);
3969   }
3970   return cycles;
3971 #undef FLD
3972 }
3973
3974 UINT
3975 sh5_media_sh5_model::model_mmulhiwl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
3976 {
3977 #define FLD(f) abuf->fields.sfmt_mcmv.f
3978   const sh5_media_scache* abuf = sem;
3979   const sh5_media_idesc* idesc = abuf->idesc;
3980   int cycles = 0;
3981   {
3982     int referenced = 0;
3983     unsigned long long insn_referenced = abuf->written;
3984     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3985   }
3986   return cycles;
3987 #undef FLD
3988 }
3989
3990 UINT
3991 sh5_media_sh5_model::model_mmullowl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
3992 {
3993 #define FLD(f) abuf->fields.sfmt_mcmv.f
3994   const sh5_media_scache* abuf = sem;
3995   const sh5_media_idesc* idesc = abuf->idesc;
3996   int cycles = 0;
3997   {
3998     cycles += model_u_exec_before (current_cpu, idesc, 0);
3999   }
4000   return cycles;
4001 #undef FLD
4002 }
4003
4004 UINT
4005 sh5_media_sh5_model::model_mmullowl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4006 {
4007 #define FLD(f) abuf->fields.sfmt_mcmv.f
4008   const sh5_media_scache* abuf = sem;
4009   const sh5_media_idesc* idesc = abuf->idesc;
4010   int cycles = 0;
4011   {
4012     int referenced = 0;
4013     unsigned long long insn_referenced = abuf->written;
4014     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4015   }
4016   return cycles;
4017 #undef FLD
4018 }
4019
4020 UINT
4021 sh5_media_sh5_model::model_mmulsumwq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4022 {
4023 #define FLD(f) abuf->fields.sfmt_mcmv.f
4024   const sh5_media_scache* abuf = sem;
4025   const sh5_media_idesc* idesc = abuf->idesc;
4026   int cycles = 0;
4027   {
4028     cycles += model_u_exec_before (current_cpu, idesc, 0);
4029   }
4030   return cycles;
4031 #undef FLD
4032 }
4033
4034 UINT
4035 sh5_media_sh5_model::model_mmulsumwq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4036 {
4037 #define FLD(f) abuf->fields.sfmt_mcmv.f
4038   const sh5_media_scache* abuf = sem;
4039   const sh5_media_idesc* idesc = abuf->idesc;
4040   int cycles = 0;
4041   {
4042     int referenced = 0;
4043     unsigned long long insn_referenced = abuf->written;
4044     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4045   }
4046   return cycles;
4047 #undef FLD
4048 }
4049
4050 UINT
4051 sh5_media_sh5_model::model_movi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4052 {
4053 #define FLD(f) abuf->fields.sfmt_movi.f
4054   const sh5_media_scache* abuf = sem;
4055   const sh5_media_idesc* idesc = abuf->idesc;
4056   int cycles = 0;
4057   {
4058     cycles += model_u_exec_before (current_cpu, idesc, 0);
4059   }
4060   return cycles;
4061 #undef FLD
4062 }
4063
4064 UINT
4065 sh5_media_sh5_model::model_movi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4066 {
4067 #define FLD(f) abuf->fields.sfmt_movi.f
4068   const sh5_media_scache* abuf = sem;
4069   const sh5_media_idesc* idesc = abuf->idesc;
4070   int cycles = 0;
4071   {
4072     int referenced = 0;
4073     unsigned long long insn_referenced = abuf->written;
4074     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4075   }
4076   return cycles;
4077 #undef FLD
4078 }
4079
4080 UINT
4081 sh5_media_sh5_model::model_mpermw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4082 {
4083 #define FLD(f) abuf->fields.sfmt_mcmv.f
4084   const sh5_media_scache* abuf = sem;
4085   const sh5_media_idesc* idesc = abuf->idesc;
4086   int cycles = 0;
4087   {
4088     cycles += model_u_exec_before (current_cpu, idesc, 0);
4089   }
4090   return cycles;
4091 #undef FLD
4092 }
4093
4094 UINT
4095 sh5_media_sh5_model::model_mpermw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4096 {
4097 #define FLD(f) abuf->fields.sfmt_mcmv.f
4098   const sh5_media_scache* abuf = sem;
4099   const sh5_media_idesc* idesc = abuf->idesc;
4100   int cycles = 0;
4101   {
4102     int referenced = 0;
4103     unsigned long long insn_referenced = abuf->written;
4104     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4105   }
4106   return cycles;
4107 #undef FLD
4108 }
4109
4110 UINT
4111 sh5_media_sh5_model::model_msadubq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4112 {
4113 #define FLD(f) abuf->fields.sfmt_mcmv.f
4114   const sh5_media_scache* abuf = sem;
4115   const sh5_media_idesc* idesc = abuf->idesc;
4116   int cycles = 0;
4117   {
4118     cycles += model_u_exec_before (current_cpu, idesc, 0);
4119   }
4120   return cycles;
4121 #undef FLD
4122 }
4123
4124 UINT
4125 sh5_media_sh5_model::model_msadubq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4126 {
4127 #define FLD(f) abuf->fields.sfmt_mcmv.f
4128   const sh5_media_scache* abuf = sem;
4129   const sh5_media_idesc* idesc = abuf->idesc;
4130   int cycles = 0;
4131   {
4132     int referenced = 0;
4133     unsigned long long insn_referenced = abuf->written;
4134     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4135   }
4136   return cycles;
4137 #undef FLD
4138 }
4139
4140 UINT
4141 sh5_media_sh5_model::model_mshaldsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4142 {
4143 #define FLD(f) abuf->fields.sfmt_mcmv.f
4144   const sh5_media_scache* abuf = sem;
4145   const sh5_media_idesc* idesc = abuf->idesc;
4146   int cycles = 0;
4147   {
4148     cycles += model_u_exec_before (current_cpu, idesc, 0);
4149   }
4150   return cycles;
4151 #undef FLD
4152 }
4153
4154 UINT
4155 sh5_media_sh5_model::model_mshaldsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4156 {
4157 #define FLD(f) abuf->fields.sfmt_mcmv.f
4158   const sh5_media_scache* abuf = sem;
4159   const sh5_media_idesc* idesc = abuf->idesc;
4160   int cycles = 0;
4161   {
4162     int referenced = 0;
4163     unsigned long long insn_referenced = abuf->written;
4164     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4165   }
4166   return cycles;
4167 #undef FLD
4168 }
4169
4170 UINT
4171 sh5_media_sh5_model::model_mshaldsw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4172 {
4173 #define FLD(f) abuf->fields.sfmt_mcmv.f
4174   const sh5_media_scache* abuf = sem;
4175   const sh5_media_idesc* idesc = abuf->idesc;
4176   int cycles = 0;
4177   {
4178     cycles += model_u_exec_before (current_cpu, idesc, 0);
4179   }
4180   return cycles;
4181 #undef FLD
4182 }
4183
4184 UINT
4185 sh5_media_sh5_model::model_mshaldsw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4186 {
4187 #define FLD(f) abuf->fields.sfmt_mcmv.f
4188   const sh5_media_scache* abuf = sem;
4189   const sh5_media_idesc* idesc = abuf->idesc;
4190   int cycles = 0;
4191   {
4192     int referenced = 0;
4193     unsigned long long insn_referenced = abuf->written;
4194     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4195   }
4196   return cycles;
4197 #undef FLD
4198 }
4199
4200 UINT
4201 sh5_media_sh5_model::model_mshardl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4202 {
4203 #define FLD(f) abuf->fields.sfmt_mcmv.f
4204   const sh5_media_scache* abuf = sem;
4205   const sh5_media_idesc* idesc = abuf->idesc;
4206   int cycles = 0;
4207   {
4208     cycles += model_u_exec_before (current_cpu, idesc, 0);
4209   }
4210   return cycles;
4211 #undef FLD
4212 }
4213
4214 UINT
4215 sh5_media_sh5_model::model_mshardl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4216 {
4217 #define FLD(f) abuf->fields.sfmt_mcmv.f
4218   const sh5_media_scache* abuf = sem;
4219   const sh5_media_idesc* idesc = abuf->idesc;
4220   int cycles = 0;
4221   {
4222     int referenced = 0;
4223     unsigned long long insn_referenced = abuf->written;
4224     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4225   }
4226   return cycles;
4227 #undef FLD
4228 }
4229
4230 UINT
4231 sh5_media_sh5_model::model_mshardw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4232 {
4233 #define FLD(f) abuf->fields.sfmt_mcmv.f
4234   const sh5_media_scache* abuf = sem;
4235   const sh5_media_idesc* idesc = abuf->idesc;
4236   int cycles = 0;
4237   {
4238     cycles += model_u_exec_before (current_cpu, idesc, 0);
4239   }
4240   return cycles;
4241 #undef FLD
4242 }
4243
4244 UINT
4245 sh5_media_sh5_model::model_mshardw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4246 {
4247 #define FLD(f) abuf->fields.sfmt_mcmv.f
4248   const sh5_media_scache* abuf = sem;
4249   const sh5_media_idesc* idesc = abuf->idesc;
4250   int cycles = 0;
4251   {
4252     int referenced = 0;
4253     unsigned long long insn_referenced = abuf->written;
4254     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4255   }
4256   return cycles;
4257 #undef FLD
4258 }
4259
4260 UINT
4261 sh5_media_sh5_model::model_mshardsq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4262 {
4263 #define FLD(f) abuf->fields.sfmt_mcmv.f
4264   const sh5_media_scache* abuf = sem;
4265   const sh5_media_idesc* idesc = abuf->idesc;
4266   int cycles = 0;
4267   {
4268     cycles += model_u_exec_before (current_cpu, idesc, 0);
4269   }
4270   return cycles;
4271 #undef FLD
4272 }
4273
4274 UINT
4275 sh5_media_sh5_model::model_mshardsq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4276 {
4277 #define FLD(f) abuf->fields.sfmt_mcmv.f
4278   const sh5_media_scache* abuf = sem;
4279   const sh5_media_idesc* idesc = abuf->idesc;
4280   int cycles = 0;
4281   {
4282     int referenced = 0;
4283     unsigned long long insn_referenced = abuf->written;
4284     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4285   }
4286   return cycles;
4287 #undef FLD
4288 }
4289
4290 UINT
4291 sh5_media_sh5_model::model_mshfhib_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4292 {
4293 #define FLD(f) abuf->fields.sfmt_mcmv.f
4294   const sh5_media_scache* abuf = sem;
4295   const sh5_media_idesc* idesc = abuf->idesc;
4296   int cycles = 0;
4297   {
4298     cycles += model_u_exec_before (current_cpu, idesc, 0);
4299   }
4300   return cycles;
4301 #undef FLD
4302 }
4303
4304 UINT
4305 sh5_media_sh5_model::model_mshfhib_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4306 {
4307 #define FLD(f) abuf->fields.sfmt_mcmv.f
4308   const sh5_media_scache* abuf = sem;
4309   const sh5_media_idesc* idesc = abuf->idesc;
4310   int cycles = 0;
4311   {
4312     int referenced = 0;
4313     unsigned long long insn_referenced = abuf->written;
4314     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4315   }
4316   return cycles;
4317 #undef FLD
4318 }
4319
4320 UINT
4321 sh5_media_sh5_model::model_mshfhil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4322 {
4323 #define FLD(f) abuf->fields.sfmt_mcmv.f
4324   const sh5_media_scache* abuf = sem;
4325   const sh5_media_idesc* idesc = abuf->idesc;
4326   int cycles = 0;
4327   {
4328     cycles += model_u_exec_before (current_cpu, idesc, 0);
4329   }
4330   return cycles;
4331 #undef FLD
4332 }
4333
4334 UINT
4335 sh5_media_sh5_model::model_mshfhil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4336 {
4337 #define FLD(f) abuf->fields.sfmt_mcmv.f
4338   const sh5_media_scache* abuf = sem;
4339   const sh5_media_idesc* idesc = abuf->idesc;
4340   int cycles = 0;
4341   {
4342     int referenced = 0;
4343     unsigned long long insn_referenced = abuf->written;
4344     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4345   }
4346   return cycles;
4347 #undef FLD
4348 }
4349
4350 UINT
4351 sh5_media_sh5_model::model_mshfhiw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4352 {
4353 #define FLD(f) abuf->fields.sfmt_mcmv.f
4354   const sh5_media_scache* abuf = sem;
4355   const sh5_media_idesc* idesc = abuf->idesc;
4356   int cycles = 0;
4357   {
4358     cycles += model_u_exec_before (current_cpu, idesc, 0);
4359   }
4360   return cycles;
4361 #undef FLD
4362 }
4363
4364 UINT
4365 sh5_media_sh5_model::model_mshfhiw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4366 {
4367 #define FLD(f) abuf->fields.sfmt_mcmv.f
4368   const sh5_media_scache* abuf = sem;
4369   const sh5_media_idesc* idesc = abuf->idesc;
4370   int cycles = 0;
4371   {
4372     int referenced = 0;
4373     unsigned long long insn_referenced = abuf->written;
4374     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4375   }
4376   return cycles;
4377 #undef FLD
4378 }
4379
4380 UINT
4381 sh5_media_sh5_model::model_mshflob_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4382 {
4383 #define FLD(f) abuf->fields.sfmt_mcmv.f
4384   const sh5_media_scache* abuf = sem;
4385   const sh5_media_idesc* idesc = abuf->idesc;
4386   int cycles = 0;
4387   {
4388     cycles += model_u_exec_before (current_cpu, idesc, 0);
4389   }
4390   return cycles;
4391 #undef FLD
4392 }
4393
4394 UINT
4395 sh5_media_sh5_model::model_mshflob_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4396 {
4397 #define FLD(f) abuf->fields.sfmt_mcmv.f
4398   const sh5_media_scache* abuf = sem;
4399   const sh5_media_idesc* idesc = abuf->idesc;
4400   int cycles = 0;
4401   {
4402     int referenced = 0;
4403     unsigned long long insn_referenced = abuf->written;
4404     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4405   }
4406   return cycles;
4407 #undef FLD
4408 }
4409
4410 UINT
4411 sh5_media_sh5_model::model_mshflol_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4412 {
4413 #define FLD(f) abuf->fields.sfmt_mcmv.f
4414   const sh5_media_scache* abuf = sem;
4415   const sh5_media_idesc* idesc = abuf->idesc;
4416   int cycles = 0;
4417   {
4418     cycles += model_u_exec_before (current_cpu, idesc, 0);
4419   }
4420   return cycles;
4421 #undef FLD
4422 }
4423
4424 UINT
4425 sh5_media_sh5_model::model_mshflol_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4426 {
4427 #define FLD(f) abuf->fields.sfmt_mcmv.f
4428   const sh5_media_scache* abuf = sem;
4429   const sh5_media_idesc* idesc = abuf->idesc;
4430   int cycles = 0;
4431   {
4432     int referenced = 0;
4433     unsigned long long insn_referenced = abuf->written;
4434     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4435   }
4436   return cycles;
4437 #undef FLD
4438 }
4439
4440 UINT
4441 sh5_media_sh5_model::model_mshflow_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4442 {
4443 #define FLD(f) abuf->fields.sfmt_mcmv.f
4444   const sh5_media_scache* abuf = sem;
4445   const sh5_media_idesc* idesc = abuf->idesc;
4446   int cycles = 0;
4447   {
4448     cycles += model_u_exec_before (current_cpu, idesc, 0);
4449   }
4450   return cycles;
4451 #undef FLD
4452 }
4453
4454 UINT
4455 sh5_media_sh5_model::model_mshflow_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4456 {
4457 #define FLD(f) abuf->fields.sfmt_mcmv.f
4458   const sh5_media_scache* abuf = sem;
4459   const sh5_media_idesc* idesc = abuf->idesc;
4460   int cycles = 0;
4461   {
4462     int referenced = 0;
4463     unsigned long long insn_referenced = abuf->written;
4464     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4465   }
4466   return cycles;
4467 #undef FLD
4468 }
4469
4470 UINT
4471 sh5_media_sh5_model::model_mshlldl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4472 {
4473 #define FLD(f) abuf->fields.sfmt_mcmv.f
4474   const sh5_media_scache* abuf = sem;
4475   const sh5_media_idesc* idesc = abuf->idesc;
4476   int cycles = 0;
4477   {
4478     cycles += model_u_exec_before (current_cpu, idesc, 0);
4479   }
4480   return cycles;
4481 #undef FLD
4482 }
4483
4484 UINT
4485 sh5_media_sh5_model::model_mshlldl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4486 {
4487 #define FLD(f) abuf->fields.sfmt_mcmv.f
4488   const sh5_media_scache* abuf = sem;
4489   const sh5_media_idesc* idesc = abuf->idesc;
4490   int cycles = 0;
4491   {
4492     int referenced = 0;
4493     unsigned long long insn_referenced = abuf->written;
4494     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4495   }
4496   return cycles;
4497 #undef FLD
4498 }
4499
4500 UINT
4501 sh5_media_sh5_model::model_mshlldw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4502 {
4503 #define FLD(f) abuf->fields.sfmt_mcmv.f
4504   const sh5_media_scache* abuf = sem;
4505   const sh5_media_idesc* idesc = abuf->idesc;
4506   int cycles = 0;
4507   {
4508     cycles += model_u_exec_before (current_cpu, idesc, 0);
4509   }
4510   return cycles;
4511 #undef FLD
4512 }
4513
4514 UINT
4515 sh5_media_sh5_model::model_mshlldw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4516 {
4517 #define FLD(f) abuf->fields.sfmt_mcmv.f
4518   const sh5_media_scache* abuf = sem;
4519   const sh5_media_idesc* idesc = abuf->idesc;
4520   int cycles = 0;
4521   {
4522     int referenced = 0;
4523     unsigned long long insn_referenced = abuf->written;
4524     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4525   }
4526   return cycles;
4527 #undef FLD
4528 }
4529
4530 UINT
4531 sh5_media_sh5_model::model_mshlrdl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4532 {
4533 #define FLD(f) abuf->fields.sfmt_mcmv.f
4534   const sh5_media_scache* abuf = sem;
4535   const sh5_media_idesc* idesc = abuf->idesc;
4536   int cycles = 0;
4537   {
4538     cycles += model_u_exec_before (current_cpu, idesc, 0);
4539   }
4540   return cycles;
4541 #undef FLD
4542 }
4543
4544 UINT
4545 sh5_media_sh5_model::model_mshlrdl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4546 {
4547 #define FLD(f) abuf->fields.sfmt_mcmv.f
4548   const sh5_media_scache* abuf = sem;
4549   const sh5_media_idesc* idesc = abuf->idesc;
4550   int cycles = 0;
4551   {
4552     int referenced = 0;
4553     unsigned long long insn_referenced = abuf->written;
4554     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4555   }
4556   return cycles;
4557 #undef FLD
4558 }
4559
4560 UINT
4561 sh5_media_sh5_model::model_mshlrdw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4562 {
4563 #define FLD(f) abuf->fields.sfmt_mcmv.f
4564   const sh5_media_scache* abuf = sem;
4565   const sh5_media_idesc* idesc = abuf->idesc;
4566   int cycles = 0;
4567   {
4568     cycles += model_u_exec_before (current_cpu, idesc, 0);
4569   }
4570   return cycles;
4571 #undef FLD
4572 }
4573
4574 UINT
4575 sh5_media_sh5_model::model_mshlrdw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4576 {
4577 #define FLD(f) abuf->fields.sfmt_mcmv.f
4578   const sh5_media_scache* abuf = sem;
4579   const sh5_media_idesc* idesc = abuf->idesc;
4580   int cycles = 0;
4581   {
4582     int referenced = 0;
4583     unsigned long long insn_referenced = abuf->written;
4584     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4585   }
4586   return cycles;
4587 #undef FLD
4588 }
4589
4590 UINT
4591 sh5_media_sh5_model::model_msubl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4592 {
4593 #define FLD(f) abuf->fields.sfmt_mcmv.f
4594   const sh5_media_scache* abuf = sem;
4595   const sh5_media_idesc* idesc = abuf->idesc;
4596   int cycles = 0;
4597   {
4598     cycles += model_u_exec_before (current_cpu, idesc, 0);
4599   }
4600   return cycles;
4601 #undef FLD
4602 }
4603
4604 UINT
4605 sh5_media_sh5_model::model_msubl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4606 {
4607 #define FLD(f) abuf->fields.sfmt_mcmv.f
4608   const sh5_media_scache* abuf = sem;
4609   const sh5_media_idesc* idesc = abuf->idesc;
4610   int cycles = 0;
4611   {
4612     int referenced = 0;
4613     unsigned long long insn_referenced = abuf->written;
4614     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4615   }
4616   return cycles;
4617 #undef FLD
4618 }
4619
4620 UINT
4621 sh5_media_sh5_model::model_msubw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4622 {
4623 #define FLD(f) abuf->fields.sfmt_mcmv.f
4624   const sh5_media_scache* abuf = sem;
4625   const sh5_media_idesc* idesc = abuf->idesc;
4626   int cycles = 0;
4627   {
4628     cycles += model_u_exec_before (current_cpu, idesc, 0);
4629   }
4630   return cycles;
4631 #undef FLD
4632 }
4633
4634 UINT
4635 sh5_media_sh5_model::model_msubw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4636 {
4637 #define FLD(f) abuf->fields.sfmt_mcmv.f
4638   const sh5_media_scache* abuf = sem;
4639   const sh5_media_idesc* idesc = abuf->idesc;
4640   int cycles = 0;
4641   {
4642     int referenced = 0;
4643     unsigned long long insn_referenced = abuf->written;
4644     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4645   }
4646   return cycles;
4647 #undef FLD
4648 }
4649
4650 UINT
4651 sh5_media_sh5_model::model_msubsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4652 {
4653 #define FLD(f) abuf->fields.sfmt_mcmv.f
4654   const sh5_media_scache* abuf = sem;
4655   const sh5_media_idesc* idesc = abuf->idesc;
4656   int cycles = 0;
4657   {
4658     cycles += model_u_exec_before (current_cpu, idesc, 0);
4659   }
4660   return cycles;
4661 #undef FLD
4662 }
4663
4664 UINT
4665 sh5_media_sh5_model::model_msubsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4666 {
4667 #define FLD(f) abuf->fields.sfmt_mcmv.f
4668   const sh5_media_scache* abuf = sem;
4669   const sh5_media_idesc* idesc = abuf->idesc;
4670   int cycles = 0;
4671   {
4672     int referenced = 0;
4673     unsigned long long insn_referenced = abuf->written;
4674     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4675   }
4676   return cycles;
4677 #undef FLD
4678 }
4679
4680 UINT
4681 sh5_media_sh5_model::model_msubsub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4682 {
4683 #define FLD(f) abuf->fields.sfmt_mcmv.f
4684   const sh5_media_scache* abuf = sem;
4685   const sh5_media_idesc* idesc = abuf->idesc;
4686   int cycles = 0;
4687   {
4688     cycles += model_u_exec_before (current_cpu, idesc, 0);
4689   }
4690   return cycles;
4691 #undef FLD
4692 }
4693
4694 UINT
4695 sh5_media_sh5_model::model_msubsub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4696 {
4697 #define FLD(f) abuf->fields.sfmt_mcmv.f
4698   const sh5_media_scache* abuf = sem;
4699   const sh5_media_idesc* idesc = abuf->idesc;
4700   int cycles = 0;
4701   {
4702     int referenced = 0;
4703     unsigned long long insn_referenced = abuf->written;
4704     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4705   }
4706   return cycles;
4707 #undef FLD
4708 }
4709
4710 UINT
4711 sh5_media_sh5_model::model_msubsw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4712 {
4713 #define FLD(f) abuf->fields.sfmt_mcmv.f
4714   const sh5_media_scache* abuf = sem;
4715   const sh5_media_idesc* idesc = abuf->idesc;
4716   int cycles = 0;
4717   {
4718     cycles += model_u_exec_before (current_cpu, idesc, 0);
4719   }
4720   return cycles;
4721 #undef FLD
4722 }
4723
4724 UINT
4725 sh5_media_sh5_model::model_msubsw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4726 {
4727 #define FLD(f) abuf->fields.sfmt_mcmv.f
4728   const sh5_media_scache* abuf = sem;
4729   const sh5_media_idesc* idesc = abuf->idesc;
4730   int cycles = 0;
4731   {
4732     int referenced = 0;
4733     unsigned long long insn_referenced = abuf->written;
4734     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4735   }
4736   return cycles;
4737 #undef FLD
4738 }
4739
4740 UINT
4741 sh5_media_sh5_model::model_mulsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4742 {
4743 #define FLD(f) abuf->fields.sfmt_mcmv.f
4744   const sh5_media_scache* abuf = sem;
4745   const sh5_media_idesc* idesc = abuf->idesc;
4746   int cycles = 0;
4747   {
4748     cycles += model_u_exec_before (current_cpu, idesc, 0);
4749   }
4750   return cycles;
4751 #undef FLD
4752 }
4753
4754 UINT
4755 sh5_media_sh5_model::model_mulsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4756 {
4757 #define FLD(f) abuf->fields.sfmt_mcmv.f
4758   const sh5_media_scache* abuf = sem;
4759   const sh5_media_idesc* idesc = abuf->idesc;
4760   int cycles = 0;
4761   {
4762     int referenced = 0;
4763     unsigned long long insn_referenced = abuf->written;
4764     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4765   }
4766   return cycles;
4767 #undef FLD
4768 }
4769
4770 UINT
4771 sh5_media_sh5_model::model_mulul_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4772 {
4773 #define FLD(f) abuf->fields.sfmt_mcmv.f
4774   const sh5_media_scache* abuf = sem;
4775   const sh5_media_idesc* idesc = abuf->idesc;
4776   int cycles = 0;
4777   {
4778     cycles += model_u_exec_before (current_cpu, idesc, 0);
4779   }
4780   return cycles;
4781 #undef FLD
4782 }
4783
4784 UINT
4785 sh5_media_sh5_model::model_mulul_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4786 {
4787 #define FLD(f) abuf->fields.sfmt_mcmv.f
4788   const sh5_media_scache* abuf = sem;
4789   const sh5_media_idesc* idesc = abuf->idesc;
4790   int cycles = 0;
4791   {
4792     int referenced = 0;
4793     unsigned long long insn_referenced = abuf->written;
4794     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4795   }
4796   return cycles;
4797 #undef FLD
4798 }
4799
4800 UINT
4801 sh5_media_sh5_model::model_nop_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4802 {
4803 #define FLD(f) abuf->fields.fmt_empty.f
4804   const sh5_media_scache* abuf = sem;
4805   const sh5_media_idesc* idesc = abuf->idesc;
4806   int cycles = 0;
4807   {
4808     cycles += model_u_exec_before (current_cpu, idesc, 0);
4809   }
4810   return cycles;
4811 #undef FLD
4812 }
4813
4814 UINT
4815 sh5_media_sh5_model::model_nop_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4816 {
4817 #define FLD(f) abuf->fields.fmt_empty.f
4818   const sh5_media_scache* abuf = sem;
4819   const sh5_media_idesc* idesc = abuf->idesc;
4820   int cycles = 0;
4821   {
4822     int referenced = 0;
4823     unsigned long long insn_referenced = abuf->written;
4824     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4825   }
4826   return cycles;
4827 #undef FLD
4828 }
4829
4830 UINT
4831 sh5_media_sh5_model::model_nsb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4832 {
4833 #define FLD(f) abuf->fields.sfmt_xori.f
4834   const sh5_media_scache* abuf = sem;
4835   const sh5_media_idesc* idesc = abuf->idesc;
4836   int cycles = 0;
4837   {
4838     cycles += model_u_exec_before (current_cpu, idesc, 0);
4839   }
4840   return cycles;
4841 #undef FLD
4842 }
4843
4844 UINT
4845 sh5_media_sh5_model::model_nsb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4846 {
4847 #define FLD(f) abuf->fields.sfmt_xori.f
4848   const sh5_media_scache* abuf = sem;
4849   const sh5_media_idesc* idesc = abuf->idesc;
4850   int cycles = 0;
4851   {
4852     int referenced = 0;
4853     unsigned long long insn_referenced = abuf->written;
4854     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4855   }
4856   return cycles;
4857 #undef FLD
4858 }
4859
4860 UINT
4861 sh5_media_sh5_model::model_ocbi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4862 {
4863 #define FLD(f) abuf->fields.sfmt_alloco.f
4864   const sh5_media_scache* abuf = sem;
4865   const sh5_media_idesc* idesc = abuf->idesc;
4866   int cycles = 0;
4867   {
4868     cycles += model_u_exec_before (current_cpu, idesc, 0);
4869   }
4870   return cycles;
4871 #undef FLD
4872 }
4873
4874 UINT
4875 sh5_media_sh5_model::model_ocbi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4876 {
4877 #define FLD(f) abuf->fields.sfmt_alloco.f
4878   const sh5_media_scache* abuf = sem;
4879   const sh5_media_idesc* idesc = abuf->idesc;
4880   int cycles = 0;
4881   {
4882     int referenced = 0;
4883     unsigned long long insn_referenced = abuf->written;
4884     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4885   }
4886   return cycles;
4887 #undef FLD
4888 }
4889
4890 UINT
4891 sh5_media_sh5_model::model_ocbp_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4892 {
4893 #define FLD(f) abuf->fields.sfmt_alloco.f
4894   const sh5_media_scache* abuf = sem;
4895   const sh5_media_idesc* idesc = abuf->idesc;
4896   int cycles = 0;
4897   {
4898     cycles += model_u_exec_before (current_cpu, idesc, 0);
4899   }
4900   return cycles;
4901 #undef FLD
4902 }
4903
4904 UINT
4905 sh5_media_sh5_model::model_ocbp_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4906 {
4907 #define FLD(f) abuf->fields.sfmt_alloco.f
4908   const sh5_media_scache* abuf = sem;
4909   const sh5_media_idesc* idesc = abuf->idesc;
4910   int cycles = 0;
4911   {
4912     int referenced = 0;
4913     unsigned long long insn_referenced = abuf->written;
4914     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4915   }
4916   return cycles;
4917 #undef FLD
4918 }
4919
4920 UINT
4921 sh5_media_sh5_model::model_ocbwb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4922 {
4923 #define FLD(f) abuf->fields.sfmt_alloco.f
4924   const sh5_media_scache* abuf = sem;
4925   const sh5_media_idesc* idesc = abuf->idesc;
4926   int cycles = 0;
4927   {
4928     cycles += model_u_exec_before (current_cpu, idesc, 0);
4929   }
4930   return cycles;
4931 #undef FLD
4932 }
4933
4934 UINT
4935 sh5_media_sh5_model::model_ocbwb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4936 {
4937 #define FLD(f) abuf->fields.sfmt_alloco.f
4938   const sh5_media_scache* abuf = sem;
4939   const sh5_media_idesc* idesc = abuf->idesc;
4940   int cycles = 0;
4941   {
4942     int referenced = 0;
4943     unsigned long long insn_referenced = abuf->written;
4944     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4945   }
4946   return cycles;
4947 #undef FLD
4948 }
4949
4950 UINT
4951 sh5_media_sh5_model::model_or_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4952 {
4953 #define FLD(f) abuf->fields.sfmt_mcmv.f
4954   const sh5_media_scache* abuf = sem;
4955   const sh5_media_idesc* idesc = abuf->idesc;
4956   int cycles = 0;
4957   {
4958     cycles += model_u_exec_before (current_cpu, idesc, 0);
4959   }
4960   return cycles;
4961 #undef FLD
4962 }
4963
4964 UINT
4965 sh5_media_sh5_model::model_or_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4966 {
4967 #define FLD(f) abuf->fields.sfmt_mcmv.f
4968   const sh5_media_scache* abuf = sem;
4969   const sh5_media_idesc* idesc = abuf->idesc;
4970   int cycles = 0;
4971   {
4972     int referenced = 0;
4973     unsigned long long insn_referenced = abuf->written;
4974     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4975   }
4976   return cycles;
4977 #undef FLD
4978 }
4979
4980 UINT
4981 sh5_media_sh5_model::model_ori_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
4982 {
4983 #define FLD(f) abuf->fields.sfmt_ori.f
4984   const sh5_media_scache* abuf = sem;
4985   const sh5_media_idesc* idesc = abuf->idesc;
4986   int cycles = 0;
4987   {
4988     cycles += model_u_exec_before (current_cpu, idesc, 0);
4989   }
4990   return cycles;
4991 #undef FLD
4992 }
4993
4994 UINT
4995 sh5_media_sh5_model::model_ori_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
4996 {
4997 #define FLD(f) abuf->fields.sfmt_ori.f
4998   const sh5_media_scache* abuf = sem;
4999   const sh5_media_idesc* idesc = abuf->idesc;
5000   int cycles = 0;
5001   {
5002     int referenced = 0;
5003     unsigned long long insn_referenced = abuf->written;
5004     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5005   }
5006   return cycles;
5007 #undef FLD
5008 }
5009
5010 UINT
5011 sh5_media_sh5_model::model_prefi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5012 {
5013 #define FLD(f) abuf->fields.sfmt_alloco.f
5014   const sh5_media_scache* abuf = sem;
5015   const sh5_media_idesc* idesc = abuf->idesc;
5016   int cycles = 0;
5017   {
5018     cycles += model_u_exec_before (current_cpu, idesc, 0);
5019   }
5020   return cycles;
5021 #undef FLD
5022 }
5023
5024 UINT
5025 sh5_media_sh5_model::model_prefi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5026 {
5027 #define FLD(f) abuf->fields.sfmt_alloco.f
5028   const sh5_media_scache* abuf = sem;
5029   const sh5_media_idesc* idesc = abuf->idesc;
5030   int cycles = 0;
5031   {
5032     int referenced = 0;
5033     unsigned long long insn_referenced = abuf->written;
5034     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5035   }
5036   return cycles;
5037 #undef FLD
5038 }
5039
5040 UINT
5041 sh5_media_sh5_model::model_pta_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5042 {
5043 #define FLD(f) abuf->fields.sfmt_pta.f
5044   const sh5_media_scache* abuf = sem;
5045   const sh5_media_idesc* idesc = abuf->idesc;
5046   int cycles = 0;
5047   {
5048     cycles += model_u_exec_before (current_cpu, idesc, 0);
5049   }
5050   return cycles;
5051 #undef FLD
5052 }
5053
5054 UINT
5055 sh5_media_sh5_model::model_pta_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5056 {
5057 #define FLD(f) abuf->fields.sfmt_pta.f
5058   const sh5_media_scache* abuf = sem;
5059   const sh5_media_idesc* idesc = abuf->idesc;
5060   int cycles = 0;
5061   {
5062     int referenced = 0;
5063     unsigned long long insn_referenced = abuf->written;
5064     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5065   }
5066   return cycles;
5067 #undef FLD
5068 }
5069
5070 UINT
5071 sh5_media_sh5_model::model_ptabs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5072 {
5073 #define FLD(f) abuf->fields.sfmt_ptabs.f
5074   const sh5_media_scache* abuf = sem;
5075   const sh5_media_idesc* idesc = abuf->idesc;
5076   int cycles = 0;
5077   {
5078     cycles += model_u_exec_before (current_cpu, idesc, 0);
5079   }
5080   return cycles;
5081 #undef FLD
5082 }
5083
5084 UINT
5085 sh5_media_sh5_model::model_ptabs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5086 {
5087 #define FLD(f) abuf->fields.sfmt_ptabs.f
5088   const sh5_media_scache* abuf = sem;
5089   const sh5_media_idesc* idesc = abuf->idesc;
5090   int cycles = 0;
5091   {
5092     int referenced = 0;
5093     unsigned long long insn_referenced = abuf->written;
5094     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5095   }
5096   return cycles;
5097 #undef FLD
5098 }
5099
5100 UINT
5101 sh5_media_sh5_model::model_ptb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5102 {
5103 #define FLD(f) abuf->fields.sfmt_pta.f
5104   const sh5_media_scache* abuf = sem;
5105   const sh5_media_idesc* idesc = abuf->idesc;
5106   int cycles = 0;
5107   {
5108     cycles += model_u_exec_before (current_cpu, idesc, 0);
5109   }
5110   return cycles;
5111 #undef FLD
5112 }
5113
5114 UINT
5115 sh5_media_sh5_model::model_ptb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5116 {
5117 #define FLD(f) abuf->fields.sfmt_pta.f
5118   const sh5_media_scache* abuf = sem;
5119   const sh5_media_idesc* idesc = abuf->idesc;
5120   int cycles = 0;
5121   {
5122     int referenced = 0;
5123     unsigned long long insn_referenced = abuf->written;
5124     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5125   }
5126   return cycles;
5127 #undef FLD
5128 }
5129
5130 UINT
5131 sh5_media_sh5_model::model_ptrel_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5132 {
5133 #define FLD(f) abuf->fields.sfmt_ptabs.f
5134   const sh5_media_scache* abuf = sem;
5135   const sh5_media_idesc* idesc = abuf->idesc;
5136   int cycles = 0;
5137   {
5138     cycles += model_u_exec_before (current_cpu, idesc, 0);
5139   }
5140   return cycles;
5141 #undef FLD
5142 }
5143
5144 UINT
5145 sh5_media_sh5_model::model_ptrel_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5146 {
5147 #define FLD(f) abuf->fields.sfmt_ptabs.f
5148   const sh5_media_scache* abuf = sem;
5149   const sh5_media_idesc* idesc = abuf->idesc;
5150   int cycles = 0;
5151   {
5152     int referenced = 0;
5153     unsigned long long insn_referenced = abuf->written;
5154     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5155   }
5156   return cycles;
5157 #undef FLD
5158 }
5159
5160 UINT
5161 sh5_media_sh5_model::model_putcfg_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5162 {
5163 #define FLD(f) abuf->fields.sfmt_putcfg.f
5164   const sh5_media_scache* abuf = sem;
5165   const sh5_media_idesc* idesc = abuf->idesc;
5166   int cycles = 0;
5167   {
5168     cycles += model_u_exec_before (current_cpu, idesc, 0);
5169   }
5170   return cycles;
5171 #undef FLD
5172 }
5173
5174 UINT
5175 sh5_media_sh5_model::model_putcfg_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5176 {
5177 #define FLD(f) abuf->fields.sfmt_putcfg.f
5178   const sh5_media_scache* abuf = sem;
5179   const sh5_media_idesc* idesc = abuf->idesc;
5180   int cycles = 0;
5181   {
5182     int referenced = 0;
5183     unsigned long long insn_referenced = abuf->written;
5184     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5185   }
5186   return cycles;
5187 #undef FLD
5188 }
5189
5190 UINT
5191 sh5_media_sh5_model::model_putcon_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5192 {
5193 #define FLD(f) abuf->fields.sfmt_xori.f
5194   const sh5_media_scache* abuf = sem;
5195   const sh5_media_idesc* idesc = abuf->idesc;
5196   int cycles = 0;
5197   {
5198     cycles += model_u_exec_before (current_cpu, idesc, 0);
5199   }
5200   return cycles;
5201 #undef FLD
5202 }
5203
5204 UINT
5205 sh5_media_sh5_model::model_putcon_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5206 {
5207 #define FLD(f) abuf->fields.sfmt_xori.f
5208   const sh5_media_scache* abuf = sem;
5209   const sh5_media_idesc* idesc = abuf->idesc;
5210   int cycles = 0;
5211   {
5212     int referenced = 0;
5213     unsigned long long insn_referenced = abuf->written;
5214     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5215   }
5216   return cycles;
5217 #undef FLD
5218 }
5219
5220 UINT
5221 sh5_media_sh5_model::model_rte_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5222 {
5223 #define FLD(f) abuf->fields.fmt_empty.f
5224   const sh5_media_scache* abuf = sem;
5225   const sh5_media_idesc* idesc = abuf->idesc;
5226   int cycles = 0;
5227   {
5228     cycles += model_u_exec_before (current_cpu, idesc, 0);
5229   }
5230   return cycles;
5231 #undef FLD
5232 }
5233
5234 UINT
5235 sh5_media_sh5_model::model_rte_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5236 {
5237 #define FLD(f) abuf->fields.fmt_empty.f
5238   const sh5_media_scache* abuf = sem;
5239   const sh5_media_idesc* idesc = abuf->idesc;
5240   int cycles = 0;
5241   {
5242     int referenced = 0;
5243     unsigned long long insn_referenced = abuf->written;
5244     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5245   }
5246   return cycles;
5247 #undef FLD
5248 }
5249
5250 UINT
5251 sh5_media_sh5_model::model_shard_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5252 {
5253 #define FLD(f) abuf->fields.sfmt_mcmv.f
5254   const sh5_media_scache* abuf = sem;
5255   const sh5_media_idesc* idesc = abuf->idesc;
5256   int cycles = 0;
5257   {
5258     cycles += model_u_exec_before (current_cpu, idesc, 0);
5259   }
5260   return cycles;
5261 #undef FLD
5262 }
5263
5264 UINT
5265 sh5_media_sh5_model::model_shard_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5266 {
5267 #define FLD(f) abuf->fields.sfmt_mcmv.f
5268   const sh5_media_scache* abuf = sem;
5269   const sh5_media_idesc* idesc = abuf->idesc;
5270   int cycles = 0;
5271   {
5272     int referenced = 0;
5273     unsigned long long insn_referenced = abuf->written;
5274     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5275   }
5276   return cycles;
5277 #undef FLD
5278 }
5279
5280 UINT
5281 sh5_media_sh5_model::model_shardl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5282 {
5283 #define FLD(f) abuf->fields.sfmt_mcmv.f
5284   const sh5_media_scache* abuf = sem;
5285   const sh5_media_idesc* idesc = abuf->idesc;
5286   int cycles = 0;
5287   {
5288     cycles += model_u_exec_before (current_cpu, idesc, 0);
5289   }
5290   return cycles;
5291 #undef FLD
5292 }
5293
5294 UINT
5295 sh5_media_sh5_model::model_shardl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5296 {
5297 #define FLD(f) abuf->fields.sfmt_mcmv.f
5298   const sh5_media_scache* abuf = sem;
5299   const sh5_media_idesc* idesc = abuf->idesc;
5300   int cycles = 0;
5301   {
5302     int referenced = 0;
5303     unsigned long long insn_referenced = abuf->written;
5304     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5305   }
5306   return cycles;
5307 #undef FLD
5308 }
5309
5310 UINT
5311 sh5_media_sh5_model::model_shari_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5312 {
5313 #define FLD(f) abuf->fields.sfmt_shari.f
5314   const sh5_media_scache* abuf = sem;
5315   const sh5_media_idesc* idesc = abuf->idesc;
5316   int cycles = 0;
5317   {
5318     cycles += model_u_exec_before (current_cpu, idesc, 0);
5319   }
5320   return cycles;
5321 #undef FLD
5322 }
5323
5324 UINT
5325 sh5_media_sh5_model::model_shari_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5326 {
5327 #define FLD(f) abuf->fields.sfmt_shari.f
5328   const sh5_media_scache* abuf = sem;
5329   const sh5_media_idesc* idesc = abuf->idesc;
5330   int cycles = 0;
5331   {
5332     int referenced = 0;
5333     unsigned long long insn_referenced = abuf->written;
5334     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5335   }
5336   return cycles;
5337 #undef FLD
5338 }
5339
5340 UINT
5341 sh5_media_sh5_model::model_sharil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5342 {
5343 #define FLD(f) abuf->fields.sfmt_shari.f
5344   const sh5_media_scache* abuf = sem;
5345   const sh5_media_idesc* idesc = abuf->idesc;
5346   int cycles = 0;
5347   {
5348     cycles += model_u_exec_before (current_cpu, idesc, 0);
5349   }
5350   return cycles;
5351 #undef FLD
5352 }
5353
5354 UINT
5355 sh5_media_sh5_model::model_sharil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5356 {
5357 #define FLD(f) abuf->fields.sfmt_shari.f
5358   const sh5_media_scache* abuf = sem;
5359   const sh5_media_idesc* idesc = abuf->idesc;
5360   int cycles = 0;
5361   {
5362     int referenced = 0;
5363     unsigned long long insn_referenced = abuf->written;
5364     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5365   }
5366   return cycles;
5367 #undef FLD
5368 }
5369
5370 UINT
5371 sh5_media_sh5_model::model_shlld_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5372 {
5373 #define FLD(f) abuf->fields.sfmt_mcmv.f
5374   const sh5_media_scache* abuf = sem;
5375   const sh5_media_idesc* idesc = abuf->idesc;
5376   int cycles = 0;
5377   {
5378     cycles += model_u_exec_before (current_cpu, idesc, 0);
5379   }
5380   return cycles;
5381 #undef FLD
5382 }
5383
5384 UINT
5385 sh5_media_sh5_model::model_shlld_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5386 {
5387 #define FLD(f) abuf->fields.sfmt_mcmv.f
5388   const sh5_media_scache* abuf = sem;
5389   const sh5_media_idesc* idesc = abuf->idesc;
5390   int cycles = 0;
5391   {
5392     int referenced = 0;
5393     unsigned long long insn_referenced = abuf->written;
5394     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5395   }
5396   return cycles;
5397 #undef FLD
5398 }
5399
5400 UINT
5401 sh5_media_sh5_model::model_shlldl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5402 {
5403 #define FLD(f) abuf->fields.sfmt_mcmv.f
5404   const sh5_media_scache* abuf = sem;
5405   const sh5_media_idesc* idesc = abuf->idesc;
5406   int cycles = 0;
5407   {
5408     cycles += model_u_exec_before (current_cpu, idesc, 0);
5409   }
5410   return cycles;
5411 #undef FLD
5412 }
5413
5414 UINT
5415 sh5_media_sh5_model::model_shlldl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5416 {
5417 #define FLD(f) abuf->fields.sfmt_mcmv.f
5418   const sh5_media_scache* abuf = sem;
5419   const sh5_media_idesc* idesc = abuf->idesc;
5420   int cycles = 0;
5421   {
5422     int referenced = 0;
5423     unsigned long long insn_referenced = abuf->written;
5424     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5425   }
5426   return cycles;
5427 #undef FLD
5428 }
5429
5430 UINT
5431 sh5_media_sh5_model::model_shlli_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5432 {
5433 #define FLD(f) abuf->fields.sfmt_shari.f
5434   const sh5_media_scache* abuf = sem;
5435   const sh5_media_idesc* idesc = abuf->idesc;
5436   int cycles = 0;
5437   {
5438     cycles += model_u_exec_before (current_cpu, idesc, 0);
5439   }
5440   return cycles;
5441 #undef FLD
5442 }
5443
5444 UINT
5445 sh5_media_sh5_model::model_shlli_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5446 {
5447 #define FLD(f) abuf->fields.sfmt_shari.f
5448   const sh5_media_scache* abuf = sem;
5449   const sh5_media_idesc* idesc = abuf->idesc;
5450   int cycles = 0;
5451   {
5452     int referenced = 0;
5453     unsigned long long insn_referenced = abuf->written;
5454     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5455   }
5456   return cycles;
5457 #undef FLD
5458 }
5459
5460 UINT
5461 sh5_media_sh5_model::model_shllil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5462 {
5463 #define FLD(f) abuf->fields.sfmt_shari.f
5464   const sh5_media_scache* abuf = sem;
5465   const sh5_media_idesc* idesc = abuf->idesc;
5466   int cycles = 0;
5467   {
5468     cycles += model_u_exec_before (current_cpu, idesc, 0);
5469   }
5470   return cycles;
5471 #undef FLD
5472 }
5473
5474 UINT
5475 sh5_media_sh5_model::model_shllil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5476 {
5477 #define FLD(f) abuf->fields.sfmt_shari.f
5478   const sh5_media_scache* abuf = sem;
5479   const sh5_media_idesc* idesc = abuf->idesc;
5480   int cycles = 0;
5481   {
5482     int referenced = 0;
5483     unsigned long long insn_referenced = abuf->written;
5484     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5485   }
5486   return cycles;
5487 #undef FLD
5488 }
5489
5490 UINT
5491 sh5_media_sh5_model::model_shlrd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5492 {
5493 #define FLD(f) abuf->fields.sfmt_mcmv.f
5494   const sh5_media_scache* abuf = sem;
5495   const sh5_media_idesc* idesc = abuf->idesc;
5496   int cycles = 0;
5497   {
5498     cycles += model_u_exec_before (current_cpu, idesc, 0);
5499   }
5500   return cycles;
5501 #undef FLD
5502 }
5503
5504 UINT
5505 sh5_media_sh5_model::model_shlrd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5506 {
5507 #define FLD(f) abuf->fields.sfmt_mcmv.f
5508   const sh5_media_scache* abuf = sem;
5509   const sh5_media_idesc* idesc = abuf->idesc;
5510   int cycles = 0;
5511   {
5512     int referenced = 0;
5513     unsigned long long insn_referenced = abuf->written;
5514     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5515   }
5516   return cycles;
5517 #undef FLD
5518 }
5519
5520 UINT
5521 sh5_media_sh5_model::model_shlrdl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5522 {
5523 #define FLD(f) abuf->fields.sfmt_mcmv.f
5524   const sh5_media_scache* abuf = sem;
5525   const sh5_media_idesc* idesc = abuf->idesc;
5526   int cycles = 0;
5527   {
5528     cycles += model_u_exec_before (current_cpu, idesc, 0);
5529   }
5530   return cycles;
5531 #undef FLD
5532 }
5533
5534 UINT
5535 sh5_media_sh5_model::model_shlrdl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5536 {
5537 #define FLD(f) abuf->fields.sfmt_mcmv.f
5538   const sh5_media_scache* abuf = sem;
5539   const sh5_media_idesc* idesc = abuf->idesc;
5540   int cycles = 0;
5541   {
5542     int referenced = 0;
5543     unsigned long long insn_referenced = abuf->written;
5544     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5545   }
5546   return cycles;
5547 #undef FLD
5548 }
5549
5550 UINT
5551 sh5_media_sh5_model::model_shlri_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5552 {
5553 #define FLD(f) abuf->fields.sfmt_shari.f
5554   const sh5_media_scache* abuf = sem;
5555   const sh5_media_idesc* idesc = abuf->idesc;
5556   int cycles = 0;
5557   {
5558     cycles += model_u_exec_before (current_cpu, idesc, 0);
5559   }
5560   return cycles;
5561 #undef FLD
5562 }
5563
5564 UINT
5565 sh5_media_sh5_model::model_shlri_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5566 {
5567 #define FLD(f) abuf->fields.sfmt_shari.f
5568   const sh5_media_scache* abuf = sem;
5569   const sh5_media_idesc* idesc = abuf->idesc;
5570   int cycles = 0;
5571   {
5572     int referenced = 0;
5573     unsigned long long insn_referenced = abuf->written;
5574     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5575   }
5576   return cycles;
5577 #undef FLD
5578 }
5579
5580 UINT
5581 sh5_media_sh5_model::model_shlril_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5582 {
5583 #define FLD(f) abuf->fields.sfmt_shari.f
5584   const sh5_media_scache* abuf = sem;
5585   const sh5_media_idesc* idesc = abuf->idesc;
5586   int cycles = 0;
5587   {
5588     cycles += model_u_exec_before (current_cpu, idesc, 0);
5589   }
5590   return cycles;
5591 #undef FLD
5592 }
5593
5594 UINT
5595 sh5_media_sh5_model::model_shlril_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5596 {
5597 #define FLD(f) abuf->fields.sfmt_shari.f
5598   const sh5_media_scache* abuf = sem;
5599   const sh5_media_idesc* idesc = abuf->idesc;
5600   int cycles = 0;
5601   {
5602     int referenced = 0;
5603     unsigned long long insn_referenced = abuf->written;
5604     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5605   }
5606   return cycles;
5607 #undef FLD
5608 }
5609
5610 UINT
5611 sh5_media_sh5_model::model_shori_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5612 {
5613 #define FLD(f) abuf->fields.sfmt_shori.f
5614   const sh5_media_scache* abuf = sem;
5615   const sh5_media_idesc* idesc = abuf->idesc;
5616   int cycles = 0;
5617   {
5618     cycles += model_u_exec_before (current_cpu, idesc, 0);
5619   }
5620   return cycles;
5621 #undef FLD
5622 }
5623
5624 UINT
5625 sh5_media_sh5_model::model_shori_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5626 {
5627 #define FLD(f) abuf->fields.sfmt_shori.f
5628   const sh5_media_scache* abuf = sem;
5629   const sh5_media_idesc* idesc = abuf->idesc;
5630   int cycles = 0;
5631   {
5632     int referenced = 0;
5633     unsigned long long insn_referenced = abuf->written;
5634     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5635   }
5636   return cycles;
5637 #undef FLD
5638 }
5639
5640 UINT
5641 sh5_media_sh5_model::model_sleep_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5642 {
5643 #define FLD(f) abuf->fields.fmt_empty.f
5644   const sh5_media_scache* abuf = sem;
5645   const sh5_media_idesc* idesc = abuf->idesc;
5646   int cycles = 0;
5647   {
5648     cycles += model_u_exec_before (current_cpu, idesc, 0);
5649   }
5650   return cycles;
5651 #undef FLD
5652 }
5653
5654 UINT
5655 sh5_media_sh5_model::model_sleep_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5656 {
5657 #define FLD(f) abuf->fields.fmt_empty.f
5658   const sh5_media_scache* abuf = sem;
5659   const sh5_media_idesc* idesc = abuf->idesc;
5660   int cycles = 0;
5661   {
5662     int referenced = 0;
5663     unsigned long long insn_referenced = abuf->written;
5664     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5665   }
5666   return cycles;
5667 #undef FLD
5668 }
5669
5670 UINT
5671 sh5_media_sh5_model::model_stb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5672 {
5673 #define FLD(f) abuf->fields.sfmt_stb.f
5674   const sh5_media_scache* abuf = sem;
5675   const sh5_media_idesc* idesc = abuf->idesc;
5676   int cycles = 0;
5677   {
5678     cycles += model_u_exec_before (current_cpu, idesc, 0);
5679   }
5680   return cycles;
5681 #undef FLD
5682 }
5683
5684 UINT
5685 sh5_media_sh5_model::model_stb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5686 {
5687 #define FLD(f) abuf->fields.sfmt_stb.f
5688   const sh5_media_scache* abuf = sem;
5689   const sh5_media_idesc* idesc = abuf->idesc;
5690   int cycles = 0;
5691   {
5692     int referenced = 0;
5693     unsigned long long insn_referenced = abuf->written;
5694     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5695   }
5696   return cycles;
5697 #undef FLD
5698 }
5699
5700 UINT
5701 sh5_media_sh5_model::model_stl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5702 {
5703 #define FLD(f) abuf->fields.sfmt_stl.f
5704   const sh5_media_scache* abuf = sem;
5705   const sh5_media_idesc* idesc = abuf->idesc;
5706   int cycles = 0;
5707   {
5708     cycles += model_u_exec_before (current_cpu, idesc, 0);
5709   }
5710   return cycles;
5711 #undef FLD
5712 }
5713
5714 UINT
5715 sh5_media_sh5_model::model_stl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5716 {
5717 #define FLD(f) abuf->fields.sfmt_stl.f
5718   const sh5_media_scache* abuf = sem;
5719   const sh5_media_idesc* idesc = abuf->idesc;
5720   int cycles = 0;
5721   {
5722     int referenced = 0;
5723     unsigned long long insn_referenced = abuf->written;
5724     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5725   }
5726   return cycles;
5727 #undef FLD
5728 }
5729
5730 UINT
5731 sh5_media_sh5_model::model_stq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5732 {
5733 #define FLD(f) abuf->fields.sfmt_stq.f
5734   const sh5_media_scache* abuf = sem;
5735   const sh5_media_idesc* idesc = abuf->idesc;
5736   int cycles = 0;
5737   {
5738     cycles += model_u_exec_before (current_cpu, idesc, 0);
5739   }
5740   return cycles;
5741 #undef FLD
5742 }
5743
5744 UINT
5745 sh5_media_sh5_model::model_stq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5746 {
5747 #define FLD(f) abuf->fields.sfmt_stq.f
5748   const sh5_media_scache* abuf = sem;
5749   const sh5_media_idesc* idesc = abuf->idesc;
5750   int cycles = 0;
5751   {
5752     int referenced = 0;
5753     unsigned long long insn_referenced = abuf->written;
5754     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5755   }
5756   return cycles;
5757 #undef FLD
5758 }
5759
5760 UINT
5761 sh5_media_sh5_model::model_stw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5762 {
5763 #define FLD(f) abuf->fields.sfmt_stw.f
5764   const sh5_media_scache* abuf = sem;
5765   const sh5_media_idesc* idesc = abuf->idesc;
5766   int cycles = 0;
5767   {
5768     cycles += model_u_exec_before (current_cpu, idesc, 0);
5769   }
5770   return cycles;
5771 #undef FLD
5772 }
5773
5774 UINT
5775 sh5_media_sh5_model::model_stw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5776 {
5777 #define FLD(f) abuf->fields.sfmt_stw.f
5778   const sh5_media_scache* abuf = sem;
5779   const sh5_media_idesc* idesc = abuf->idesc;
5780   int cycles = 0;
5781   {
5782     int referenced = 0;
5783     unsigned long long insn_referenced = abuf->written;
5784     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5785   }
5786   return cycles;
5787 #undef FLD
5788 }
5789
5790 UINT
5791 sh5_media_sh5_model::model_sthil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5792 {
5793 #define FLD(f) abuf->fields.sfmt_putcfg.f
5794   const sh5_media_scache* abuf = sem;
5795   const sh5_media_idesc* idesc = abuf->idesc;
5796   int cycles = 0;
5797   {
5798     cycles += model_u_exec_before (current_cpu, idesc, 0);
5799   }
5800   return cycles;
5801 #undef FLD
5802 }
5803
5804 UINT
5805 sh5_media_sh5_model::model_sthil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5806 {
5807 #define FLD(f) abuf->fields.sfmt_putcfg.f
5808   const sh5_media_scache* abuf = sem;
5809   const sh5_media_idesc* idesc = abuf->idesc;
5810   int cycles = 0;
5811   {
5812     int referenced = 0;
5813     unsigned long long insn_referenced = abuf->written;
5814     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5815   }
5816   return cycles;
5817 #undef FLD
5818 }
5819
5820 UINT
5821 sh5_media_sh5_model::model_sthiq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5822 {
5823 #define FLD(f) abuf->fields.sfmt_putcfg.f
5824   const sh5_media_scache* abuf = sem;
5825   const sh5_media_idesc* idesc = abuf->idesc;
5826   int cycles = 0;
5827   {
5828     cycles += model_u_exec_before (current_cpu, idesc, 0);
5829   }
5830   return cycles;
5831 #undef FLD
5832 }
5833
5834 UINT
5835 sh5_media_sh5_model::model_sthiq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5836 {
5837 #define FLD(f) abuf->fields.sfmt_putcfg.f
5838   const sh5_media_scache* abuf = sem;
5839   const sh5_media_idesc* idesc = abuf->idesc;
5840   int cycles = 0;
5841   {
5842     int referenced = 0;
5843     unsigned long long insn_referenced = abuf->written;
5844     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5845   }
5846   return cycles;
5847 #undef FLD
5848 }
5849
5850 UINT
5851 sh5_media_sh5_model::model_stlol_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5852 {
5853 #define FLD(f) abuf->fields.sfmt_putcfg.f
5854   const sh5_media_scache* abuf = sem;
5855   const sh5_media_idesc* idesc = abuf->idesc;
5856   int cycles = 0;
5857   {
5858     cycles += model_u_exec_before (current_cpu, idesc, 0);
5859   }
5860   return cycles;
5861 #undef FLD
5862 }
5863
5864 UINT
5865 sh5_media_sh5_model::model_stlol_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5866 {
5867 #define FLD(f) abuf->fields.sfmt_putcfg.f
5868   const sh5_media_scache* abuf = sem;
5869   const sh5_media_idesc* idesc = abuf->idesc;
5870   int cycles = 0;
5871   {
5872     int referenced = 0;
5873     unsigned long long insn_referenced = abuf->written;
5874     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5875   }
5876   return cycles;
5877 #undef FLD
5878 }
5879
5880 UINT
5881 sh5_media_sh5_model::model_stloq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5882 {
5883 #define FLD(f) abuf->fields.sfmt_putcfg.f
5884   const sh5_media_scache* abuf = sem;
5885   const sh5_media_idesc* idesc = abuf->idesc;
5886   int cycles = 0;
5887   {
5888     cycles += model_u_exec_before (current_cpu, idesc, 0);
5889   }
5890   return cycles;
5891 #undef FLD
5892 }
5893
5894 UINT
5895 sh5_media_sh5_model::model_stloq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5896 {
5897 #define FLD(f) abuf->fields.sfmt_putcfg.f
5898   const sh5_media_scache* abuf = sem;
5899   const sh5_media_idesc* idesc = abuf->idesc;
5900   int cycles = 0;
5901   {
5902     int referenced = 0;
5903     unsigned long long insn_referenced = abuf->written;
5904     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5905   }
5906   return cycles;
5907 #undef FLD
5908 }
5909
5910 UINT
5911 sh5_media_sh5_model::model_stxb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5912 {
5913 #define FLD(f) abuf->fields.sfmt_mcmv.f
5914   const sh5_media_scache* abuf = sem;
5915   const sh5_media_idesc* idesc = abuf->idesc;
5916   int cycles = 0;
5917   {
5918     cycles += model_u_exec_before (current_cpu, idesc, 0);
5919   }
5920   return cycles;
5921 #undef FLD
5922 }
5923
5924 UINT
5925 sh5_media_sh5_model::model_stxb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5926 {
5927 #define FLD(f) abuf->fields.sfmt_mcmv.f
5928   const sh5_media_scache* abuf = sem;
5929   const sh5_media_idesc* idesc = abuf->idesc;
5930   int cycles = 0;
5931   {
5932     int referenced = 0;
5933     unsigned long long insn_referenced = abuf->written;
5934     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5935   }
5936   return cycles;
5937 #undef FLD
5938 }
5939
5940 UINT
5941 sh5_media_sh5_model::model_stxl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5942 {
5943 #define FLD(f) abuf->fields.sfmt_mcmv.f
5944   const sh5_media_scache* abuf = sem;
5945   const sh5_media_idesc* idesc = abuf->idesc;
5946   int cycles = 0;
5947   {
5948     cycles += model_u_exec_before (current_cpu, idesc, 0);
5949   }
5950   return cycles;
5951 #undef FLD
5952 }
5953
5954 UINT
5955 sh5_media_sh5_model::model_stxl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5956 {
5957 #define FLD(f) abuf->fields.sfmt_mcmv.f
5958   const sh5_media_scache* abuf = sem;
5959   const sh5_media_idesc* idesc = abuf->idesc;
5960   int cycles = 0;
5961   {
5962     int referenced = 0;
5963     unsigned long long insn_referenced = abuf->written;
5964     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5965   }
5966   return cycles;
5967 #undef FLD
5968 }
5969
5970 UINT
5971 sh5_media_sh5_model::model_stxq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
5972 {
5973 #define FLD(f) abuf->fields.sfmt_mcmv.f
5974   const sh5_media_scache* abuf = sem;
5975   const sh5_media_idesc* idesc = abuf->idesc;
5976   int cycles = 0;
5977   {
5978     cycles += model_u_exec_before (current_cpu, idesc, 0);
5979   }
5980   return cycles;
5981 #undef FLD
5982 }
5983
5984 UINT
5985 sh5_media_sh5_model::model_stxq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
5986 {
5987 #define FLD(f) abuf->fields.sfmt_mcmv.f
5988   const sh5_media_scache* abuf = sem;
5989   const sh5_media_idesc* idesc = abuf->idesc;
5990   int cycles = 0;
5991   {
5992     int referenced = 0;
5993     unsigned long long insn_referenced = abuf->written;
5994     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5995   }
5996   return cycles;
5997 #undef FLD
5998 }
5999
6000 UINT
6001 sh5_media_sh5_model::model_stxw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6002 {
6003 #define FLD(f) abuf->fields.sfmt_mcmv.f
6004   const sh5_media_scache* abuf = sem;
6005   const sh5_media_idesc* idesc = abuf->idesc;
6006   int cycles = 0;
6007   {
6008     cycles += model_u_exec_before (current_cpu, idesc, 0);
6009   }
6010   return cycles;
6011 #undef FLD
6012 }
6013
6014 UINT
6015 sh5_media_sh5_model::model_stxw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6016 {
6017 #define FLD(f) abuf->fields.sfmt_mcmv.f
6018   const sh5_media_scache* abuf = sem;
6019   const sh5_media_idesc* idesc = abuf->idesc;
6020   int cycles = 0;
6021   {
6022     int referenced = 0;
6023     unsigned long long insn_referenced = abuf->written;
6024     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6025   }
6026   return cycles;
6027 #undef FLD
6028 }
6029
6030 UINT
6031 sh5_media_sh5_model::model_sub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6032 {
6033 #define FLD(f) abuf->fields.sfmt_mcmv.f
6034   const sh5_media_scache* abuf = sem;
6035   const sh5_media_idesc* idesc = abuf->idesc;
6036   int cycles = 0;
6037   {
6038     cycles += model_u_exec_before (current_cpu, idesc, 0);
6039   }
6040   return cycles;
6041 #undef FLD
6042 }
6043
6044 UINT
6045 sh5_media_sh5_model::model_sub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6046 {
6047 #define FLD(f) abuf->fields.sfmt_mcmv.f
6048   const sh5_media_scache* abuf = sem;
6049   const sh5_media_idesc* idesc = abuf->idesc;
6050   int cycles = 0;
6051   {
6052     int referenced = 0;
6053     unsigned long long insn_referenced = abuf->written;
6054     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6055   }
6056   return cycles;
6057 #undef FLD
6058 }
6059
6060 UINT
6061 sh5_media_sh5_model::model_subl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6062 {
6063 #define FLD(f) abuf->fields.sfmt_mcmv.f
6064   const sh5_media_scache* abuf = sem;
6065   const sh5_media_idesc* idesc = abuf->idesc;
6066   int cycles = 0;
6067   {
6068     cycles += model_u_exec_before (current_cpu, idesc, 0);
6069   }
6070   return cycles;
6071 #undef FLD
6072 }
6073
6074 UINT
6075 sh5_media_sh5_model::model_subl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6076 {
6077 #define FLD(f) abuf->fields.sfmt_mcmv.f
6078   const sh5_media_scache* abuf = sem;
6079   const sh5_media_idesc* idesc = abuf->idesc;
6080   int cycles = 0;
6081   {
6082     int referenced = 0;
6083     unsigned long long insn_referenced = abuf->written;
6084     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6085   }
6086   return cycles;
6087 #undef FLD
6088 }
6089
6090 UINT
6091 sh5_media_sh5_model::model_swapq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6092 {
6093 #define FLD(f) abuf->fields.sfmt_mcmv.f
6094   const sh5_media_scache* abuf = sem;
6095   const sh5_media_idesc* idesc = abuf->idesc;
6096   int cycles = 0;
6097   {
6098     cycles += model_u_exec_before (current_cpu, idesc, 0);
6099   }
6100   return cycles;
6101 #undef FLD
6102 }
6103
6104 UINT
6105 sh5_media_sh5_model::model_swapq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6106 {
6107 #define FLD(f) abuf->fields.sfmt_mcmv.f
6108   const sh5_media_scache* abuf = sem;
6109   const sh5_media_idesc* idesc = abuf->idesc;
6110   int cycles = 0;
6111   {
6112     int referenced = 0;
6113     unsigned long long insn_referenced = abuf->written;
6114     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6115   }
6116   return cycles;
6117 #undef FLD
6118 }
6119
6120 UINT
6121 sh5_media_sh5_model::model_synci_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6122 {
6123 #define FLD(f) abuf->fields.fmt_empty.f
6124   const sh5_media_scache* abuf = sem;
6125   const sh5_media_idesc* idesc = abuf->idesc;
6126   int cycles = 0;
6127   {
6128     cycles += model_u_exec_before (current_cpu, idesc, 0);
6129   }
6130   return cycles;
6131 #undef FLD
6132 }
6133
6134 UINT
6135 sh5_media_sh5_model::model_synci_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6136 {
6137 #define FLD(f) abuf->fields.fmt_empty.f
6138   const sh5_media_scache* abuf = sem;
6139   const sh5_media_idesc* idesc = abuf->idesc;
6140   int cycles = 0;
6141   {
6142     int referenced = 0;
6143     unsigned long long insn_referenced = abuf->written;
6144     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6145   }
6146   return cycles;
6147 #undef FLD
6148 }
6149
6150 UINT
6151 sh5_media_sh5_model::model_synco_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6152 {
6153 #define FLD(f) abuf->fields.fmt_empty.f
6154   const sh5_media_scache* abuf = sem;
6155   const sh5_media_idesc* idesc = abuf->idesc;
6156   int cycles = 0;
6157   {
6158     cycles += model_u_exec_before (current_cpu, idesc, 0);
6159   }
6160   return cycles;
6161 #undef FLD
6162 }
6163
6164 UINT
6165 sh5_media_sh5_model::model_synco_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6166 {
6167 #define FLD(f) abuf->fields.fmt_empty.f
6168   const sh5_media_scache* abuf = sem;
6169   const sh5_media_idesc* idesc = abuf->idesc;
6170   int cycles = 0;
6171   {
6172     int referenced = 0;
6173     unsigned long long insn_referenced = abuf->written;
6174     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6175   }
6176   return cycles;
6177 #undef FLD
6178 }
6179
6180 UINT
6181 sh5_media_sh5_model::model_trapa_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6182 {
6183 #define FLD(f) abuf->fields.sfmt_alloco.f
6184   const sh5_media_scache* abuf = sem;
6185   const sh5_media_idesc* idesc = abuf->idesc;
6186   int cycles = 0;
6187   {
6188     cycles += model_u_exec_before (current_cpu, idesc, 0);
6189   }
6190   return cycles;
6191 #undef FLD
6192 }
6193
6194 UINT
6195 sh5_media_sh5_model::model_trapa_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6196 {
6197 #define FLD(f) abuf->fields.sfmt_alloco.f
6198   const sh5_media_scache* abuf = sem;
6199   const sh5_media_idesc* idesc = abuf->idesc;
6200   int cycles = 0;
6201   {
6202     int referenced = 0;
6203     unsigned long long insn_referenced = abuf->written;
6204     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6205   }
6206   return cycles;
6207 #undef FLD
6208 }
6209
6210 UINT
6211 sh5_media_sh5_model::model_xor_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6212 {
6213 #define FLD(f) abuf->fields.sfmt_mcmv.f
6214   const sh5_media_scache* abuf = sem;
6215   const sh5_media_idesc* idesc = abuf->idesc;
6216   int cycles = 0;
6217   {
6218     cycles += model_u_exec_before (current_cpu, idesc, 0);
6219   }
6220   return cycles;
6221 #undef FLD
6222 }
6223
6224 UINT
6225 sh5_media_sh5_model::model_xor_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6226 {
6227 #define FLD(f) abuf->fields.sfmt_mcmv.f
6228   const sh5_media_scache* abuf = sem;
6229   const sh5_media_idesc* idesc = abuf->idesc;
6230   int cycles = 0;
6231   {
6232     int referenced = 0;
6233     unsigned long long insn_referenced = abuf->written;
6234     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6235   }
6236   return cycles;
6237 #undef FLD
6238 }
6239
6240 UINT
6241 sh5_media_sh5_model::model_xori_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6242 {
6243 #define FLD(f) abuf->fields.sfmt_xori.f
6244   const sh5_media_scache* abuf = sem;
6245   const sh5_media_idesc* idesc = abuf->idesc;
6246   int cycles = 0;
6247   {
6248     cycles += model_u_exec_before (current_cpu, idesc, 0);
6249   }
6250   return cycles;
6251 #undef FLD
6252 }
6253
6254 UINT
6255 sh5_media_sh5_model::model_xori_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6256 {
6257 #define FLD(f) abuf->fields.sfmt_xori.f
6258   const sh5_media_scache* abuf = sem;
6259   const sh5_media_idesc* idesc = abuf->idesc;
6260   int cycles = 0;
6261   {
6262     int referenced = 0;
6263     unsigned long long insn_referenced = abuf->written;
6264     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6265   }
6266   return cycles;
6267 #undef FLD
6268 }
6269
6270 sh5_media_sh5_media_model::sh5_media_sh5_media_model (sh5_cpu *cpu)
6271   : cgen_model (cpu)
6272 {
6273 }
6274
6275 UINT
6276 sh5_media_sh5_media_model::model_add_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6277 {
6278 #define FLD(f) abuf->fields.sfmt_mcmv.f
6279   const sh5_media_scache* abuf = sem;
6280   const sh5_media_idesc* idesc = abuf->idesc;
6281   int cycles = 0;
6282   {
6283     INT in_usereg = -1;
6284     in_usereg = FLD (in_rm);
6285     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6286   }
6287   {
6288     INT in_usereg = -1;
6289     in_usereg = FLD (in_rn);
6290     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6291   }
6292   {
6293     cycles += model_u_exec_before (current_cpu, idesc, 2);
6294   }
6295   return cycles;
6296 #undef FLD
6297 }
6298
6299 UINT
6300 sh5_media_sh5_media_model::model_add_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6301 {
6302 #define FLD(f) abuf->fields.sfmt_mcmv.f
6303   const sh5_media_scache* abuf = sem;
6304   const sh5_media_idesc* idesc = abuf->idesc;
6305   int cycles = 0;
6306   {
6307     int referenced = 0;
6308     unsigned long long insn_referenced = abuf->written;
6309     INT in_usereg = -1;
6310     in_usereg = FLD (in_rm);
6311     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6312   }
6313   {
6314     int referenced = 0;
6315     unsigned long long insn_referenced = abuf->written;
6316     INT in_usereg = -1;
6317     in_usereg = FLD (in_rn);
6318     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6319   }
6320   {
6321     int referenced = 0;
6322     unsigned long long insn_referenced = abuf->written;
6323     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6324   }
6325   return cycles;
6326 #undef FLD
6327 }
6328
6329 UINT
6330 sh5_media_sh5_media_model::model_addl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6331 {
6332 #define FLD(f) abuf->fields.sfmt_mcmv.f
6333   const sh5_media_scache* abuf = sem;
6334   const sh5_media_idesc* idesc = abuf->idesc;
6335   int cycles = 0;
6336   {
6337     INT in_usereg = -1;
6338     in_usereg = FLD (in_rm);
6339     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6340   }
6341   {
6342     INT in_usereg = -1;
6343     in_usereg = FLD (in_rn);
6344     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6345   }
6346   {
6347     cycles += model_u_exec_before (current_cpu, idesc, 2);
6348   }
6349   return cycles;
6350 #undef FLD
6351 }
6352
6353 UINT
6354 sh5_media_sh5_media_model::model_addl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6355 {
6356 #define FLD(f) abuf->fields.sfmt_mcmv.f
6357   const sh5_media_scache* abuf = sem;
6358   const sh5_media_idesc* idesc = abuf->idesc;
6359   int cycles = 0;
6360   {
6361     int referenced = 0;
6362     unsigned long long insn_referenced = abuf->written;
6363     INT in_usereg = -1;
6364     in_usereg = FLD (in_rm);
6365     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6366   }
6367   {
6368     int referenced = 0;
6369     unsigned long long insn_referenced = abuf->written;
6370     INT in_usereg = -1;
6371     in_usereg = FLD (in_rn);
6372     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6373   }
6374   {
6375     int referenced = 0;
6376     unsigned long long insn_referenced = abuf->written;
6377     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6378   }
6379   return cycles;
6380 #undef FLD
6381 }
6382
6383 UINT
6384 sh5_media_sh5_media_model::model_addi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6385 {
6386 #define FLD(f) abuf->fields.sfmt_addi.f
6387   const sh5_media_scache* abuf = sem;
6388   const sh5_media_idesc* idesc = abuf->idesc;
6389   int cycles = 0;
6390   {
6391     INT in_usereg = -1;
6392     in_usereg = FLD (in_rm);
6393     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6394   }
6395   {
6396     cycles += model_u_exec_before (current_cpu, idesc, 1);
6397   }
6398   return cycles;
6399 #undef FLD
6400 }
6401
6402 UINT
6403 sh5_media_sh5_media_model::model_addi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6404 {
6405 #define FLD(f) abuf->fields.sfmt_addi.f
6406   const sh5_media_scache* abuf = sem;
6407   const sh5_media_idesc* idesc = abuf->idesc;
6408   int cycles = 0;
6409   {
6410     int referenced = 0;
6411     unsigned long long insn_referenced = abuf->written;
6412     INT in_usereg = -1;
6413     in_usereg = FLD (in_rm);
6414     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6415   }
6416   {
6417     int referenced = 0;
6418     unsigned long long insn_referenced = abuf->written;
6419     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6420   }
6421   return cycles;
6422 #undef FLD
6423 }
6424
6425 UINT
6426 sh5_media_sh5_media_model::model_addil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6427 {
6428 #define FLD(f) abuf->fields.sfmt_addi.f
6429   const sh5_media_scache* abuf = sem;
6430   const sh5_media_idesc* idesc = abuf->idesc;
6431   int cycles = 0;
6432   {
6433     INT in_usereg = -1;
6434     in_usereg = FLD (in_rm);
6435     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6436   }
6437   {
6438     cycles += model_u_exec_before (current_cpu, idesc, 1);
6439   }
6440   return cycles;
6441 #undef FLD
6442 }
6443
6444 UINT
6445 sh5_media_sh5_media_model::model_addil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6446 {
6447 #define FLD(f) abuf->fields.sfmt_addi.f
6448   const sh5_media_scache* abuf = sem;
6449   const sh5_media_idesc* idesc = abuf->idesc;
6450   int cycles = 0;
6451   {
6452     int referenced = 0;
6453     unsigned long long insn_referenced = abuf->written;
6454     INT in_usereg = -1;
6455     in_usereg = FLD (in_rm);
6456     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6457   }
6458   {
6459     int referenced = 0;
6460     unsigned long long insn_referenced = abuf->written;
6461     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6462   }
6463   return cycles;
6464 #undef FLD
6465 }
6466
6467 UINT
6468 sh5_media_sh5_media_model::model_addzl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6469 {
6470 #define FLD(f) abuf->fields.sfmt_mcmv.f
6471   const sh5_media_scache* abuf = sem;
6472   const sh5_media_idesc* idesc = abuf->idesc;
6473   int cycles = 0;
6474   {
6475     INT in_usereg = -1;
6476     in_usereg = FLD (in_rm);
6477     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6478   }
6479   {
6480     INT in_usereg = -1;
6481     in_usereg = FLD (in_rn);
6482     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6483   }
6484   {
6485     cycles += model_u_exec_before (current_cpu, idesc, 2);
6486   }
6487   return cycles;
6488 #undef FLD
6489 }
6490
6491 UINT
6492 sh5_media_sh5_media_model::model_addzl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6493 {
6494 #define FLD(f) abuf->fields.sfmt_mcmv.f
6495   const sh5_media_scache* abuf = sem;
6496   const sh5_media_idesc* idesc = abuf->idesc;
6497   int cycles = 0;
6498   {
6499     int referenced = 0;
6500     unsigned long long insn_referenced = abuf->written;
6501     INT in_usereg = -1;
6502     in_usereg = FLD (in_rm);
6503     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6504   }
6505   {
6506     int referenced = 0;
6507     unsigned long long insn_referenced = abuf->written;
6508     INT in_usereg = -1;
6509     in_usereg = FLD (in_rn);
6510     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6511   }
6512   {
6513     int referenced = 0;
6514     unsigned long long insn_referenced = abuf->written;
6515     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6516   }
6517   return cycles;
6518 #undef FLD
6519 }
6520
6521 UINT
6522 sh5_media_sh5_media_model::model_alloco_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6523 {
6524 #define FLD(f) abuf->fields.sfmt_alloco.f
6525   const sh5_media_scache* abuf = sem;
6526   const sh5_media_idesc* idesc = abuf->idesc;
6527   int cycles = 0;
6528   {
6529     INT in_usereg = -1;
6530     in_usereg = FLD (in_rm);
6531     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6532   }
6533   {
6534     cycles += model_u_exec_before (current_cpu, idesc, 1);
6535   }
6536   return cycles;
6537 #undef FLD
6538 }
6539
6540 UINT
6541 sh5_media_sh5_media_model::model_alloco_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6542 {
6543 #define FLD(f) abuf->fields.sfmt_alloco.f
6544   const sh5_media_scache* abuf = sem;
6545   const sh5_media_idesc* idesc = abuf->idesc;
6546   int cycles = 0;
6547   {
6548     int referenced = 0;
6549     unsigned long long insn_referenced = abuf->written;
6550     INT in_usereg = -1;
6551     in_usereg = FLD (in_rm);
6552     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6553   }
6554   {
6555     int referenced = 0;
6556     unsigned long long insn_referenced = abuf->written;
6557     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6558   }
6559   return cycles;
6560 #undef FLD
6561 }
6562
6563 UINT
6564 sh5_media_sh5_media_model::model_and_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6565 {
6566 #define FLD(f) abuf->fields.sfmt_mcmv.f
6567   const sh5_media_scache* abuf = sem;
6568   const sh5_media_idesc* idesc = abuf->idesc;
6569   int cycles = 0;
6570   {
6571     INT in_usereg = -1;
6572     in_usereg = FLD (in_rm);
6573     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6574   }
6575   {
6576     INT in_usereg = -1;
6577     in_usereg = FLD (in_rn);
6578     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6579   }
6580   {
6581     cycles += model_u_exec_before (current_cpu, idesc, 2);
6582   }
6583   return cycles;
6584 #undef FLD
6585 }
6586
6587 UINT
6588 sh5_media_sh5_media_model::model_and_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6589 {
6590 #define FLD(f) abuf->fields.sfmt_mcmv.f
6591   const sh5_media_scache* abuf = sem;
6592   const sh5_media_idesc* idesc = abuf->idesc;
6593   int cycles = 0;
6594   {
6595     int referenced = 0;
6596     unsigned long long insn_referenced = abuf->written;
6597     INT in_usereg = -1;
6598     in_usereg = FLD (in_rm);
6599     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6600   }
6601   {
6602     int referenced = 0;
6603     unsigned long long insn_referenced = abuf->written;
6604     INT in_usereg = -1;
6605     in_usereg = FLD (in_rn);
6606     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6607   }
6608   {
6609     int referenced = 0;
6610     unsigned long long insn_referenced = abuf->written;
6611     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6612   }
6613   return cycles;
6614 #undef FLD
6615 }
6616
6617 UINT
6618 sh5_media_sh5_media_model::model_andc_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6619 {
6620 #define FLD(f) abuf->fields.sfmt_mcmv.f
6621   const sh5_media_scache* abuf = sem;
6622   const sh5_media_idesc* idesc = abuf->idesc;
6623   int cycles = 0;
6624   {
6625     INT in_usereg = -1;
6626     in_usereg = FLD (in_rm);
6627     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6628   }
6629   {
6630     INT in_usereg = -1;
6631     in_usereg = FLD (in_rn);
6632     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6633   }
6634   {
6635     cycles += model_u_exec_before (current_cpu, idesc, 2);
6636   }
6637   return cycles;
6638 #undef FLD
6639 }
6640
6641 UINT
6642 sh5_media_sh5_media_model::model_andc_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6643 {
6644 #define FLD(f) abuf->fields.sfmt_mcmv.f
6645   const sh5_media_scache* abuf = sem;
6646   const sh5_media_idesc* idesc = abuf->idesc;
6647   int cycles = 0;
6648   {
6649     int referenced = 0;
6650     unsigned long long insn_referenced = abuf->written;
6651     INT in_usereg = -1;
6652     in_usereg = FLD (in_rm);
6653     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6654   }
6655   {
6656     int referenced = 0;
6657     unsigned long long insn_referenced = abuf->written;
6658     INT in_usereg = -1;
6659     in_usereg = FLD (in_rn);
6660     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6661   }
6662   {
6663     int referenced = 0;
6664     unsigned long long insn_referenced = abuf->written;
6665     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6666   }
6667   return cycles;
6668 #undef FLD
6669 }
6670
6671 UINT
6672 sh5_media_sh5_media_model::model_andi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6673 {
6674 #define FLD(f) abuf->fields.sfmt_addi.f
6675   const sh5_media_scache* abuf = sem;
6676   const sh5_media_idesc* idesc = abuf->idesc;
6677   int cycles = 0;
6678   {
6679     INT in_usereg = -1;
6680     in_usereg = FLD (in_rm);
6681     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6682   }
6683   {
6684     cycles += model_u_exec_before (current_cpu, idesc, 1);
6685   }
6686   return cycles;
6687 #undef FLD
6688 }
6689
6690 UINT
6691 sh5_media_sh5_media_model::model_andi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6692 {
6693 #define FLD(f) abuf->fields.sfmt_addi.f
6694   const sh5_media_scache* abuf = sem;
6695   const sh5_media_idesc* idesc = abuf->idesc;
6696   int cycles = 0;
6697   {
6698     int referenced = 0;
6699     unsigned long long insn_referenced = abuf->written;
6700     INT in_usereg = -1;
6701     in_usereg = FLD (in_rm);
6702     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6703   }
6704   {
6705     int referenced = 0;
6706     unsigned long long insn_referenced = abuf->written;
6707     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6708   }
6709   return cycles;
6710 #undef FLD
6711 }
6712
6713 UINT
6714 sh5_media_sh5_media_model::model_beq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6715 {
6716 #define FLD(f) abuf->fields.sfmt_beq.f
6717   const sh5_media_scache* abuf = sem;
6718   const sh5_media_idesc* idesc = abuf->idesc;
6719   int cycles = 0;
6720   {
6721     INT in_usereg = -1;
6722     in_usereg = FLD (in_rm);
6723     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6724   }
6725   {
6726     INT in_usereg = -1;
6727     in_usereg = FLD (in_rn);
6728     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6729   }
6730   {
6731     cycles += model_u_exec_before (current_cpu, idesc, 2);
6732   }
6733   {
6734     INT in_targetreg = -1;
6735     in_targetreg = FLD (in_tra);
6736     cycles += model_u_cond_branch_before (current_cpu, idesc, 3, in_targetreg);
6737   }
6738   return cycles;
6739 #undef FLD
6740 }
6741
6742 UINT
6743 sh5_media_sh5_media_model::model_beq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6744 {
6745 #define FLD(f) abuf->fields.sfmt_beq.f
6746   const sh5_media_scache* abuf = sem;
6747   const sh5_media_idesc* idesc = abuf->idesc;
6748   int cycles = 0;
6749   {
6750     int referenced = 0;
6751     unsigned long long insn_referenced = abuf->written;
6752     INT in_usereg = -1;
6753     in_usereg = FLD (in_rm);
6754     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6755   }
6756   {
6757     int referenced = 0;
6758     unsigned long long insn_referenced = abuf->written;
6759     INT in_usereg = -1;
6760     in_usereg = FLD (in_rn);
6761     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6762   }
6763   {
6764     int referenced = 0;
6765     unsigned long long insn_referenced = abuf->written;
6766     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6767   }
6768   {
6769     int referenced = 0;
6770     unsigned long long insn_referenced = abuf->written;
6771     INT in_targetreg = -1;
6772     in_targetreg = FLD (in_tra);
6773     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
6774     cycles += model_u_cond_branch_after (current_cpu, idesc, 3, referenced, in_targetreg);
6775   }
6776   return cycles;
6777 #undef FLD
6778 }
6779
6780 UINT
6781 sh5_media_sh5_media_model::model_beqi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6782 {
6783 #define FLD(f) abuf->fields.sfmt_beqi.f
6784   const sh5_media_scache* abuf = sem;
6785   const sh5_media_idesc* idesc = abuf->idesc;
6786   int cycles = 0;
6787   {
6788     INT in_usereg = -1;
6789     in_usereg = FLD (in_rm);
6790     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6791   }
6792   {
6793     cycles += model_u_exec_before (current_cpu, idesc, 1);
6794   }
6795   {
6796     INT in_targetreg = -1;
6797     in_targetreg = FLD (in_tra);
6798     cycles += model_u_cond_branch_before (current_cpu, idesc, 2, in_targetreg);
6799   }
6800   return cycles;
6801 #undef FLD
6802 }
6803
6804 UINT
6805 sh5_media_sh5_media_model::model_beqi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6806 {
6807 #define FLD(f) abuf->fields.sfmt_beqi.f
6808   const sh5_media_scache* abuf = sem;
6809   const sh5_media_idesc* idesc = abuf->idesc;
6810   int cycles = 0;
6811   {
6812     int referenced = 0;
6813     unsigned long long insn_referenced = abuf->written;
6814     INT in_usereg = -1;
6815     in_usereg = FLD (in_rm);
6816     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6817   }
6818   {
6819     int referenced = 0;
6820     unsigned long long insn_referenced = abuf->written;
6821     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6822   }
6823   {
6824     int referenced = 0;
6825     unsigned long long insn_referenced = abuf->written;
6826     INT in_targetreg = -1;
6827     in_targetreg = FLD (in_tra);
6828     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
6829     cycles += model_u_cond_branch_after (current_cpu, idesc, 2, referenced, in_targetreg);
6830   }
6831   return cycles;
6832 #undef FLD
6833 }
6834
6835 UINT
6836 sh5_media_sh5_media_model::model_bge_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6837 {
6838 #define FLD(f) abuf->fields.sfmt_beq.f
6839   const sh5_media_scache* abuf = sem;
6840   const sh5_media_idesc* idesc = abuf->idesc;
6841   int cycles = 0;
6842   {
6843     INT in_usereg = -1;
6844     in_usereg = FLD (in_rm);
6845     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6846   }
6847   {
6848     INT in_usereg = -1;
6849     in_usereg = FLD (in_rn);
6850     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6851   }
6852   {
6853     cycles += model_u_exec_before (current_cpu, idesc, 2);
6854   }
6855   {
6856     INT in_targetreg = -1;
6857     in_targetreg = FLD (in_tra);
6858     cycles += model_u_cond_branch_before (current_cpu, idesc, 3, in_targetreg);
6859   }
6860   return cycles;
6861 #undef FLD
6862 }
6863
6864 UINT
6865 sh5_media_sh5_media_model::model_bge_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6866 {
6867 #define FLD(f) abuf->fields.sfmt_beq.f
6868   const sh5_media_scache* abuf = sem;
6869   const sh5_media_idesc* idesc = abuf->idesc;
6870   int cycles = 0;
6871   {
6872     int referenced = 0;
6873     unsigned long long insn_referenced = abuf->written;
6874     INT in_usereg = -1;
6875     in_usereg = FLD (in_rm);
6876     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6877   }
6878   {
6879     int referenced = 0;
6880     unsigned long long insn_referenced = abuf->written;
6881     INT in_usereg = -1;
6882     in_usereg = FLD (in_rn);
6883     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6884   }
6885   {
6886     int referenced = 0;
6887     unsigned long long insn_referenced = abuf->written;
6888     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6889   }
6890   {
6891     int referenced = 0;
6892     unsigned long long insn_referenced = abuf->written;
6893     INT in_targetreg = -1;
6894     in_targetreg = FLD (in_tra);
6895     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
6896     cycles += model_u_cond_branch_after (current_cpu, idesc, 3, referenced, in_targetreg);
6897   }
6898   return cycles;
6899 #undef FLD
6900 }
6901
6902 UINT
6903 sh5_media_sh5_media_model::model_bgeu_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6904 {
6905 #define FLD(f) abuf->fields.sfmt_beq.f
6906   const sh5_media_scache* abuf = sem;
6907   const sh5_media_idesc* idesc = abuf->idesc;
6908   int cycles = 0;
6909   {
6910     INT in_usereg = -1;
6911     in_usereg = FLD (in_rm);
6912     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6913   }
6914   {
6915     INT in_usereg = -1;
6916     in_usereg = FLD (in_rn);
6917     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6918   }
6919   {
6920     cycles += model_u_exec_before (current_cpu, idesc, 2);
6921   }
6922   {
6923     INT in_targetreg = -1;
6924     in_targetreg = FLD (in_tra);
6925     cycles += model_u_cond_branch_before (current_cpu, idesc, 3, in_targetreg);
6926   }
6927   return cycles;
6928 #undef FLD
6929 }
6930
6931 UINT
6932 sh5_media_sh5_media_model::model_bgeu_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
6933 {
6934 #define FLD(f) abuf->fields.sfmt_beq.f
6935   const sh5_media_scache* abuf = sem;
6936   const sh5_media_idesc* idesc = abuf->idesc;
6937   int cycles = 0;
6938   {
6939     int referenced = 0;
6940     unsigned long long insn_referenced = abuf->written;
6941     INT in_usereg = -1;
6942     in_usereg = FLD (in_rm);
6943     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6944   }
6945   {
6946     int referenced = 0;
6947     unsigned long long insn_referenced = abuf->written;
6948     INT in_usereg = -1;
6949     in_usereg = FLD (in_rn);
6950     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6951   }
6952   {
6953     int referenced = 0;
6954     unsigned long long insn_referenced = abuf->written;
6955     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6956   }
6957   {
6958     int referenced = 0;
6959     unsigned long long insn_referenced = abuf->written;
6960     INT in_targetreg = -1;
6961     in_targetreg = FLD (in_tra);
6962     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
6963     cycles += model_u_cond_branch_after (current_cpu, idesc, 3, referenced, in_targetreg);
6964   }
6965   return cycles;
6966 #undef FLD
6967 }
6968
6969 UINT
6970 sh5_media_sh5_media_model::model_bgt_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
6971 {
6972 #define FLD(f) abuf->fields.sfmt_beq.f
6973   const sh5_media_scache* abuf = sem;
6974   const sh5_media_idesc* idesc = abuf->idesc;
6975   int cycles = 0;
6976   {
6977     INT in_usereg = -1;
6978     in_usereg = FLD (in_rm);
6979     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6980   }
6981   {
6982     INT in_usereg = -1;
6983     in_usereg = FLD (in_rn);
6984     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6985   }
6986   {
6987     cycles += model_u_exec_before (current_cpu, idesc, 2);
6988   }
6989   {
6990     INT in_targetreg = -1;
6991     in_targetreg = FLD (in_tra);
6992     cycles += model_u_cond_branch_before (current_cpu, idesc, 3, in_targetreg);
6993   }
6994   return cycles;
6995 #undef FLD
6996 }
6997
6998 UINT
6999 sh5_media_sh5_media_model::model_bgt_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7000 {
7001 #define FLD(f) abuf->fields.sfmt_beq.f
7002   const sh5_media_scache* abuf = sem;
7003   const sh5_media_idesc* idesc = abuf->idesc;
7004   int cycles = 0;
7005   {
7006     int referenced = 0;
7007     unsigned long long insn_referenced = abuf->written;
7008     INT in_usereg = -1;
7009     in_usereg = FLD (in_rm);
7010     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7011   }
7012   {
7013     int referenced = 0;
7014     unsigned long long insn_referenced = abuf->written;
7015     INT in_usereg = -1;
7016     in_usereg = FLD (in_rn);
7017     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7018   }
7019   {
7020     int referenced = 0;
7021     unsigned long long insn_referenced = abuf->written;
7022     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7023   }
7024   {
7025     int referenced = 0;
7026     unsigned long long insn_referenced = abuf->written;
7027     INT in_targetreg = -1;
7028     in_targetreg = FLD (in_tra);
7029     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
7030     cycles += model_u_cond_branch_after (current_cpu, idesc, 3, referenced, in_targetreg);
7031   }
7032   return cycles;
7033 #undef FLD
7034 }
7035
7036 UINT
7037 sh5_media_sh5_media_model::model_bgtu_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7038 {
7039 #define FLD(f) abuf->fields.sfmt_beq.f
7040   const sh5_media_scache* abuf = sem;
7041   const sh5_media_idesc* idesc = abuf->idesc;
7042   int cycles = 0;
7043   {
7044     INT in_usereg = -1;
7045     in_usereg = FLD (in_rm);
7046     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7047   }
7048   {
7049     INT in_usereg = -1;
7050     in_usereg = FLD (in_rn);
7051     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7052   }
7053   {
7054     cycles += model_u_exec_before (current_cpu, idesc, 2);
7055   }
7056   {
7057     INT in_targetreg = -1;
7058     in_targetreg = FLD (in_tra);
7059     cycles += model_u_cond_branch_before (current_cpu, idesc, 3, in_targetreg);
7060   }
7061   return cycles;
7062 #undef FLD
7063 }
7064
7065 UINT
7066 sh5_media_sh5_media_model::model_bgtu_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7067 {
7068 #define FLD(f) abuf->fields.sfmt_beq.f
7069   const sh5_media_scache* abuf = sem;
7070   const sh5_media_idesc* idesc = abuf->idesc;
7071   int cycles = 0;
7072   {
7073     int referenced = 0;
7074     unsigned long long insn_referenced = abuf->written;
7075     INT in_usereg = -1;
7076     in_usereg = FLD (in_rm);
7077     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7078   }
7079   {
7080     int referenced = 0;
7081     unsigned long long insn_referenced = abuf->written;
7082     INT in_usereg = -1;
7083     in_usereg = FLD (in_rn);
7084     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7085   }
7086   {
7087     int referenced = 0;
7088     unsigned long long insn_referenced = abuf->written;
7089     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7090   }
7091   {
7092     int referenced = 0;
7093     unsigned long long insn_referenced = abuf->written;
7094     INT in_targetreg = -1;
7095     in_targetreg = FLD (in_tra);
7096     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
7097     cycles += model_u_cond_branch_after (current_cpu, idesc, 3, referenced, in_targetreg);
7098   }
7099   return cycles;
7100 #undef FLD
7101 }
7102
7103 UINT
7104 sh5_media_sh5_media_model::model_blink_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7105 {
7106 #define FLD(f) abuf->fields.sfmt_blink.f
7107   const sh5_media_scache* abuf = sem;
7108   const sh5_media_idesc* idesc = abuf->idesc;
7109   int cycles = 0;
7110   {
7111     INT in_targetreg = -1;
7112     in_targetreg = FLD (in_trb);
7113     cycles += model_u_blink_before (current_cpu, idesc, 0, in_targetreg);
7114   }
7115   return cycles;
7116 #undef FLD
7117 }
7118
7119 UINT
7120 sh5_media_sh5_media_model::model_blink_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7121 {
7122 #define FLD(f) abuf->fields.sfmt_blink.f
7123   const sh5_media_scache* abuf = sem;
7124   const sh5_media_idesc* idesc = abuf->idesc;
7125   int cycles = 0;
7126   {
7127     int referenced = 0;
7128     unsigned long long insn_referenced = abuf->written;
7129     INT in_targetreg = -1;
7130     in_targetreg = FLD (in_trb);
7131     referenced |= 1 << 1;
7132     cycles += model_u_blink_after (current_cpu, idesc, 0, referenced, in_targetreg);
7133   }
7134   return cycles;
7135 #undef FLD
7136 }
7137
7138 UINT
7139 sh5_media_sh5_media_model::model_bne_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7140 {
7141 #define FLD(f) abuf->fields.sfmt_beq.f
7142   const sh5_media_scache* abuf = sem;
7143   const sh5_media_idesc* idesc = abuf->idesc;
7144   int cycles = 0;
7145   {
7146     INT in_usereg = -1;
7147     in_usereg = FLD (in_rm);
7148     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7149   }
7150   {
7151     INT in_usereg = -1;
7152     in_usereg = FLD (in_rn);
7153     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7154   }
7155   {
7156     cycles += model_u_exec_before (current_cpu, idesc, 2);
7157   }
7158   {
7159     INT in_targetreg = -1;
7160     in_targetreg = FLD (in_tra);
7161     cycles += model_u_cond_branch_before (current_cpu, idesc, 3, in_targetreg);
7162   }
7163   return cycles;
7164 #undef FLD
7165 }
7166
7167 UINT
7168 sh5_media_sh5_media_model::model_bne_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7169 {
7170 #define FLD(f) abuf->fields.sfmt_beq.f
7171   const sh5_media_scache* abuf = sem;
7172   const sh5_media_idesc* idesc = abuf->idesc;
7173   int cycles = 0;
7174   {
7175     int referenced = 0;
7176     unsigned long long insn_referenced = abuf->written;
7177     INT in_usereg = -1;
7178     in_usereg = FLD (in_rm);
7179     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7180   }
7181   {
7182     int referenced = 0;
7183     unsigned long long insn_referenced = abuf->written;
7184     INT in_usereg = -1;
7185     in_usereg = FLD (in_rn);
7186     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7187   }
7188   {
7189     int referenced = 0;
7190     unsigned long long insn_referenced = abuf->written;
7191     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7192   }
7193   {
7194     int referenced = 0;
7195     unsigned long long insn_referenced = abuf->written;
7196     INT in_targetreg = -1;
7197     in_targetreg = FLD (in_tra);
7198     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
7199     cycles += model_u_cond_branch_after (current_cpu, idesc, 3, referenced, in_targetreg);
7200   }
7201   return cycles;
7202 #undef FLD
7203 }
7204
7205 UINT
7206 sh5_media_sh5_media_model::model_bnei_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7207 {
7208 #define FLD(f) abuf->fields.sfmt_beqi.f
7209   const sh5_media_scache* abuf = sem;
7210   const sh5_media_idesc* idesc = abuf->idesc;
7211   int cycles = 0;
7212   {
7213     INT in_usereg = -1;
7214     in_usereg = FLD (in_rm);
7215     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7216   }
7217   {
7218     cycles += model_u_exec_before (current_cpu, idesc, 1);
7219   }
7220   {
7221     INT in_targetreg = -1;
7222     in_targetreg = FLD (in_tra);
7223     cycles += model_u_cond_branch_before (current_cpu, idesc, 2, in_targetreg);
7224   }
7225   return cycles;
7226 #undef FLD
7227 }
7228
7229 UINT
7230 sh5_media_sh5_media_model::model_bnei_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7231 {
7232 #define FLD(f) abuf->fields.sfmt_beqi.f
7233   const sh5_media_scache* abuf = sem;
7234   const sh5_media_idesc* idesc = abuf->idesc;
7235   int cycles = 0;
7236   {
7237     int referenced = 0;
7238     unsigned long long insn_referenced = abuf->written;
7239     INT in_usereg = -1;
7240     in_usereg = FLD (in_rm);
7241     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7242   }
7243   {
7244     int referenced = 0;
7245     unsigned long long insn_referenced = abuf->written;
7246     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7247   }
7248   {
7249     int referenced = 0;
7250     unsigned long long insn_referenced = abuf->written;
7251     INT in_targetreg = -1;
7252     in_targetreg = FLD (in_tra);
7253     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
7254     cycles += model_u_cond_branch_after (current_cpu, idesc, 2, referenced, in_targetreg);
7255   }
7256   return cycles;
7257 #undef FLD
7258 }
7259
7260 UINT
7261 sh5_media_sh5_media_model::model_brk_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7262 {
7263 #define FLD(f) abuf->fields.fmt_empty.f
7264   const sh5_media_scache* abuf = sem;
7265   const sh5_media_idesc* idesc = abuf->idesc;
7266   int cycles = 0;
7267   {
7268     cycles += model_u_exec_before (current_cpu, idesc, 0);
7269   }
7270   return cycles;
7271 #undef FLD
7272 }
7273
7274 UINT
7275 sh5_media_sh5_media_model::model_brk_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7276 {
7277 #define FLD(f) abuf->fields.fmt_empty.f
7278   const sh5_media_scache* abuf = sem;
7279   const sh5_media_idesc* idesc = abuf->idesc;
7280   int cycles = 0;
7281   {
7282     int referenced = 0;
7283     unsigned long long insn_referenced = abuf->written;
7284     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
7285   }
7286   return cycles;
7287 #undef FLD
7288 }
7289
7290 UINT
7291 sh5_media_sh5_media_model::model_byterev_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7292 {
7293 #define FLD(f) abuf->fields.sfmt_xori.f
7294   const sh5_media_scache* abuf = sem;
7295   const sh5_media_idesc* idesc = abuf->idesc;
7296   int cycles = 0;
7297   {
7298     INT in_usereg = -1;
7299     in_usereg = FLD (in_rm);
7300     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7301   }
7302   {
7303     cycles += model_u_exec_before (current_cpu, idesc, 1);
7304   }
7305   return cycles;
7306 #undef FLD
7307 }
7308
7309 UINT
7310 sh5_media_sh5_media_model::model_byterev_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7311 {
7312 #define FLD(f) abuf->fields.sfmt_xori.f
7313   const sh5_media_scache* abuf = sem;
7314   const sh5_media_idesc* idesc = abuf->idesc;
7315   int cycles = 0;
7316   {
7317     int referenced = 0;
7318     unsigned long long insn_referenced = abuf->written;
7319     INT in_usereg = -1;
7320     in_usereg = FLD (in_rm);
7321     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7322   }
7323   {
7324     int referenced = 0;
7325     unsigned long long insn_referenced = abuf->written;
7326     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7327   }
7328   return cycles;
7329 #undef FLD
7330 }
7331
7332 UINT
7333 sh5_media_sh5_media_model::model_cmpeq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7334 {
7335 #define FLD(f) abuf->fields.sfmt_mcmv.f
7336   const sh5_media_scache* abuf = sem;
7337   const sh5_media_idesc* idesc = abuf->idesc;
7338   int cycles = 0;
7339   {
7340     INT in_usereg = -1;
7341     in_usereg = FLD (in_rm);
7342     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7343   }
7344   {
7345     INT in_usereg = -1;
7346     in_usereg = FLD (in_rn);
7347     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7348   }
7349   {
7350     cycles += model_u_exec_before (current_cpu, idesc, 2);
7351   }
7352   return cycles;
7353 #undef FLD
7354 }
7355
7356 UINT
7357 sh5_media_sh5_media_model::model_cmpeq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7358 {
7359 #define FLD(f) abuf->fields.sfmt_mcmv.f
7360   const sh5_media_scache* abuf = sem;
7361   const sh5_media_idesc* idesc = abuf->idesc;
7362   int cycles = 0;
7363   {
7364     int referenced = 0;
7365     unsigned long long insn_referenced = abuf->written;
7366     INT in_usereg = -1;
7367     in_usereg = FLD (in_rm);
7368     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7369   }
7370   {
7371     int referenced = 0;
7372     unsigned long long insn_referenced = abuf->written;
7373     INT in_usereg = -1;
7374     in_usereg = FLD (in_rn);
7375     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7376   }
7377   {
7378     int referenced = 0;
7379     unsigned long long insn_referenced = abuf->written;
7380     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7381   }
7382   return cycles;
7383 #undef FLD
7384 }
7385
7386 UINT
7387 sh5_media_sh5_media_model::model_cmpgt_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7388 {
7389 #define FLD(f) abuf->fields.sfmt_mcmv.f
7390   const sh5_media_scache* abuf = sem;
7391   const sh5_media_idesc* idesc = abuf->idesc;
7392   int cycles = 0;
7393   {
7394     INT in_usereg = -1;
7395     in_usereg = FLD (in_rm);
7396     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7397   }
7398   {
7399     INT in_usereg = -1;
7400     in_usereg = FLD (in_rn);
7401     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7402   }
7403   {
7404     cycles += model_u_exec_before (current_cpu, idesc, 2);
7405   }
7406   return cycles;
7407 #undef FLD
7408 }
7409
7410 UINT
7411 sh5_media_sh5_media_model::model_cmpgt_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7412 {
7413 #define FLD(f) abuf->fields.sfmt_mcmv.f
7414   const sh5_media_scache* abuf = sem;
7415   const sh5_media_idesc* idesc = abuf->idesc;
7416   int cycles = 0;
7417   {
7418     int referenced = 0;
7419     unsigned long long insn_referenced = abuf->written;
7420     INT in_usereg = -1;
7421     in_usereg = FLD (in_rm);
7422     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7423   }
7424   {
7425     int referenced = 0;
7426     unsigned long long insn_referenced = abuf->written;
7427     INT in_usereg = -1;
7428     in_usereg = FLD (in_rn);
7429     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7430   }
7431   {
7432     int referenced = 0;
7433     unsigned long long insn_referenced = abuf->written;
7434     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7435   }
7436   return cycles;
7437 #undef FLD
7438 }
7439
7440 UINT
7441 sh5_media_sh5_media_model::model_cmpgtu_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7442 {
7443 #define FLD(f) abuf->fields.sfmt_mcmv.f
7444   const sh5_media_scache* abuf = sem;
7445   const sh5_media_idesc* idesc = abuf->idesc;
7446   int cycles = 0;
7447   {
7448     INT in_usereg = -1;
7449     in_usereg = FLD (in_rm);
7450     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7451   }
7452   {
7453     INT in_usereg = -1;
7454     in_usereg = FLD (in_rn);
7455     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7456   }
7457   {
7458     cycles += model_u_exec_before (current_cpu, idesc, 2);
7459   }
7460   return cycles;
7461 #undef FLD
7462 }
7463
7464 UINT
7465 sh5_media_sh5_media_model::model_cmpgtu_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7466 {
7467 #define FLD(f) abuf->fields.sfmt_mcmv.f
7468   const sh5_media_scache* abuf = sem;
7469   const sh5_media_idesc* idesc = abuf->idesc;
7470   int cycles = 0;
7471   {
7472     int referenced = 0;
7473     unsigned long long insn_referenced = abuf->written;
7474     INT in_usereg = -1;
7475     in_usereg = FLD (in_rm);
7476     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7477   }
7478   {
7479     int referenced = 0;
7480     unsigned long long insn_referenced = abuf->written;
7481     INT in_usereg = -1;
7482     in_usereg = FLD (in_rn);
7483     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7484   }
7485   {
7486     int referenced = 0;
7487     unsigned long long insn_referenced = abuf->written;
7488     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7489   }
7490   return cycles;
7491 #undef FLD
7492 }
7493
7494 UINT
7495 sh5_media_sh5_media_model::model_cmveq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7496 {
7497 #define FLD(f) abuf->fields.sfmt_mcmv.f
7498   const sh5_media_scache* abuf = sem;
7499   const sh5_media_idesc* idesc = abuf->idesc;
7500   int cycles = 0;
7501   {
7502     INT in_usereg = -1;
7503     in_usereg = FLD (in_rm);
7504     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7505   }
7506   {
7507     INT in_usereg = -1;
7508     in_usereg = FLD (in_rn);
7509     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7510   }
7511   {
7512     cycles += model_u_exec_before (current_cpu, idesc, 2);
7513   }
7514   return cycles;
7515 #undef FLD
7516 }
7517
7518 UINT
7519 sh5_media_sh5_media_model::model_cmveq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7520 {
7521 #define FLD(f) abuf->fields.sfmt_mcmv.f
7522   const sh5_media_scache* abuf = sem;
7523   const sh5_media_idesc* idesc = abuf->idesc;
7524   int cycles = 0;
7525   {
7526     int referenced = 0;
7527     unsigned long long insn_referenced = abuf->written;
7528     INT in_usereg = -1;
7529     in_usereg = FLD (in_rm);
7530     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7531   }
7532   {
7533     int referenced = 0;
7534     unsigned long long insn_referenced = abuf->written;
7535     INT in_usereg = -1;
7536     in_usereg = FLD (in_rn);
7537     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7538   }
7539   {
7540     int referenced = 0;
7541     unsigned long long insn_referenced = abuf->written;
7542     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7543   }
7544   return cycles;
7545 #undef FLD
7546 }
7547
7548 UINT
7549 sh5_media_sh5_media_model::model_cmvne_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7550 {
7551 #define FLD(f) abuf->fields.sfmt_mcmv.f
7552   const sh5_media_scache* abuf = sem;
7553   const sh5_media_idesc* idesc = abuf->idesc;
7554   int cycles = 0;
7555   {
7556     INT in_usereg = -1;
7557     in_usereg = FLD (in_rm);
7558     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7559   }
7560   {
7561     INT in_usereg = -1;
7562     in_usereg = FLD (in_rn);
7563     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7564   }
7565   {
7566     cycles += model_u_exec_before (current_cpu, idesc, 2);
7567   }
7568   return cycles;
7569 #undef FLD
7570 }
7571
7572 UINT
7573 sh5_media_sh5_media_model::model_cmvne_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7574 {
7575 #define FLD(f) abuf->fields.sfmt_mcmv.f
7576   const sh5_media_scache* abuf = sem;
7577   const sh5_media_idesc* idesc = abuf->idesc;
7578   int cycles = 0;
7579   {
7580     int referenced = 0;
7581     unsigned long long insn_referenced = abuf->written;
7582     INT in_usereg = -1;
7583     in_usereg = FLD (in_rm);
7584     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7585   }
7586   {
7587     int referenced = 0;
7588     unsigned long long insn_referenced = abuf->written;
7589     INT in_usereg = -1;
7590     in_usereg = FLD (in_rn);
7591     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7592   }
7593   {
7594     int referenced = 0;
7595     unsigned long long insn_referenced = abuf->written;
7596     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7597   }
7598   return cycles;
7599 #undef FLD
7600 }
7601
7602 UINT
7603 sh5_media_sh5_media_model::model_fabsd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7604 {
7605 #define FLD(f) abuf->fields.sfmt_fabsd.f
7606   const sh5_media_scache* abuf = sem;
7607   const sh5_media_idesc* idesc = abuf->idesc;
7608   int cycles = 0;
7609   {
7610     INT in_usereg = -1;
7611     in_usereg = FLD (in_drgh);
7612     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
7613   }
7614   {
7615     cycles += model_u_fpu_before (current_cpu, idesc, 1);
7616   }
7617   {
7618     INT out_loadreg = -1;
7619     out_loadreg = FLD (out_drf);
7620     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
7621   }
7622   {
7623     INT out_loadreg = -1;
7624     out_loadreg = FLD (out_drf);
7625     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
7626   }
7627   {
7628     INT out_loadreg = -1;
7629     out_loadreg = FLD (out_drf);
7630     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
7631   }
7632   {
7633     INT out_loadreg = -1;
7634     out_loadreg = FLD (out_drf);
7635     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
7636   }
7637   {
7638     INT out_loadreg = -1;
7639     out_loadreg = FLD (out_drf);
7640     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
7641   }
7642   return cycles;
7643 #undef FLD
7644 }
7645
7646 UINT
7647 sh5_media_sh5_media_model::model_fabsd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7648 {
7649 #define FLD(f) abuf->fields.sfmt_fabsd.f
7650   const sh5_media_scache* abuf = sem;
7651   const sh5_media_idesc* idesc = abuf->idesc;
7652   int cycles = 0;
7653   {
7654     int referenced = 0;
7655     unsigned long long insn_referenced = abuf->written;
7656     INT in_usereg = -1;
7657     in_usereg = FLD (in_drgh);
7658     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
7659   }
7660   {
7661     int referenced = 0;
7662     unsigned long long insn_referenced = abuf->written;
7663     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
7664   }
7665   {
7666     int referenced = 0;
7667     unsigned long long insn_referenced = abuf->written;
7668     INT out_loadreg = -1;
7669     out_loadreg = FLD (out_drf);
7670     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
7671   }
7672   {
7673     int referenced = 0;
7674     unsigned long long insn_referenced = abuf->written;
7675     INT out_loadreg = -1;
7676     out_loadreg = FLD (out_drf);
7677     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
7678   }
7679   {
7680     int referenced = 0;
7681     unsigned long long insn_referenced = abuf->written;
7682     INT out_loadreg = -1;
7683     out_loadreg = FLD (out_drf);
7684     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
7685   }
7686   {
7687     int referenced = 0;
7688     unsigned long long insn_referenced = abuf->written;
7689     INT out_loadreg = -1;
7690     out_loadreg = FLD (out_drf);
7691     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
7692   }
7693   {
7694     int referenced = 0;
7695     unsigned long long insn_referenced = abuf->written;
7696     INT out_loadreg = -1;
7697     out_loadreg = FLD (out_drf);
7698     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
7699   }
7700   return cycles;
7701 #undef FLD
7702 }
7703
7704 UINT
7705 sh5_media_sh5_media_model::model_fabss_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7706 {
7707 #define FLD(f) abuf->fields.sfmt_fabss.f
7708   const sh5_media_scache* abuf = sem;
7709   const sh5_media_idesc* idesc = abuf->idesc;
7710   int cycles = 0;
7711   {
7712     INT in_usereg = -1;
7713     in_usereg = FLD (in_frgh);
7714     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
7715   }
7716   {
7717     cycles += model_u_fpu_before (current_cpu, idesc, 1);
7718   }
7719   {
7720     INT out_loadreg = -1;
7721     out_loadreg = FLD (out_frf);
7722     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
7723   }
7724   {
7725     INT out_loadreg = -1;
7726     out_loadreg = FLD (out_frf);
7727     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
7728   }
7729   {
7730     INT out_loadreg = -1;
7731     out_loadreg = FLD (out_frf);
7732     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
7733   }
7734   {
7735     INT out_loadreg = -1;
7736     out_loadreg = FLD (out_frf);
7737     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
7738   }
7739   {
7740     INT out_loadreg = -1;
7741     out_loadreg = FLD (out_frf);
7742     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
7743   }
7744   return cycles;
7745 #undef FLD
7746 }
7747
7748 UINT
7749 sh5_media_sh5_media_model::model_fabss_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7750 {
7751 #define FLD(f) abuf->fields.sfmt_fabss.f
7752   const sh5_media_scache* abuf = sem;
7753   const sh5_media_idesc* idesc = abuf->idesc;
7754   int cycles = 0;
7755   {
7756     int referenced = 0;
7757     unsigned long long insn_referenced = abuf->written;
7758     INT in_usereg = -1;
7759     in_usereg = FLD (in_frgh);
7760     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
7761   }
7762   {
7763     int referenced = 0;
7764     unsigned long long insn_referenced = abuf->written;
7765     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
7766   }
7767   {
7768     int referenced = 0;
7769     unsigned long long insn_referenced = abuf->written;
7770     INT out_loadreg = -1;
7771     out_loadreg = FLD (out_frf);
7772     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
7773   }
7774   {
7775     int referenced = 0;
7776     unsigned long long insn_referenced = abuf->written;
7777     INT out_loadreg = -1;
7778     out_loadreg = FLD (out_frf);
7779     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
7780   }
7781   {
7782     int referenced = 0;
7783     unsigned long long insn_referenced = abuf->written;
7784     INT out_loadreg = -1;
7785     out_loadreg = FLD (out_frf);
7786     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
7787   }
7788   {
7789     int referenced = 0;
7790     unsigned long long insn_referenced = abuf->written;
7791     INT out_loadreg = -1;
7792     out_loadreg = FLD (out_frf);
7793     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
7794   }
7795   {
7796     int referenced = 0;
7797     unsigned long long insn_referenced = abuf->written;
7798     INT out_loadreg = -1;
7799     out_loadreg = FLD (out_frf);
7800     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
7801   }
7802   return cycles;
7803 #undef FLD
7804 }
7805
7806 UINT
7807 sh5_media_sh5_media_model::model_faddd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7808 {
7809 #define FLD(f) abuf->fields.sfmt_faddd.f
7810   const sh5_media_scache* abuf = sem;
7811   const sh5_media_idesc* idesc = abuf->idesc;
7812   int cycles = 0;
7813   {
7814     INT in_usereg = -1;
7815     in_usereg = FLD (in_drg);
7816     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
7817   }
7818   {
7819     INT in_usereg = -1;
7820     in_usereg = FLD (in_drh);
7821     cycles += model_u_use_dr_before (current_cpu, idesc, 1, in_usereg);
7822   }
7823   {
7824     cycles += model_u_fpu_before (current_cpu, idesc, 2);
7825   }
7826   {
7827     INT out_loadreg = -1;
7828     out_loadreg = FLD (out_drf);
7829     cycles += model_u_set_fr_before (current_cpu, idesc, 3, out_loadreg);
7830   }
7831   {
7832     INT out_loadreg = -1;
7833     out_loadreg = FLD (out_drf);
7834     cycles += model_u_set_dr_before (current_cpu, idesc, 4, out_loadreg);
7835   }
7836   {
7837     INT out_loadreg = -1;
7838     out_loadreg = FLD (out_drf);
7839     cycles += model_u_set_fp_before (current_cpu, idesc, 5, out_loadreg);
7840   }
7841   {
7842     INT out_loadreg = -1;
7843     out_loadreg = FLD (out_drf);
7844     cycles += model_u_set_fv_before (current_cpu, idesc, 6, out_loadreg);
7845   }
7846   {
7847     INT out_loadreg = -1;
7848     out_loadreg = FLD (out_drf);
7849     cycles += model_u_set_mtrx_before (current_cpu, idesc, 7, out_loadreg);
7850   }
7851   return cycles;
7852 #undef FLD
7853 }
7854
7855 UINT
7856 sh5_media_sh5_media_model::model_faddd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7857 {
7858 #define FLD(f) abuf->fields.sfmt_faddd.f
7859   const sh5_media_scache* abuf = sem;
7860   const sh5_media_idesc* idesc = abuf->idesc;
7861   int cycles = 0;
7862   {
7863     int referenced = 0;
7864     unsigned long long insn_referenced = abuf->written;
7865     INT in_usereg = -1;
7866     in_usereg = FLD (in_drg);
7867     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
7868   }
7869   {
7870     int referenced = 0;
7871     unsigned long long insn_referenced = abuf->written;
7872     INT in_usereg = -1;
7873     in_usereg = FLD (in_drh);
7874     cycles += model_u_use_dr_after (current_cpu, idesc, 1, referenced, in_usereg);
7875   }
7876   {
7877     int referenced = 0;
7878     unsigned long long insn_referenced = abuf->written;
7879     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
7880   }
7881   {
7882     int referenced = 0;
7883     unsigned long long insn_referenced = abuf->written;
7884     INT out_loadreg = -1;
7885     out_loadreg = FLD (out_drf);
7886     cycles += model_u_set_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
7887   }
7888   {
7889     int referenced = 0;
7890     unsigned long long insn_referenced = abuf->written;
7891     INT out_loadreg = -1;
7892     out_loadreg = FLD (out_drf);
7893     cycles += model_u_set_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
7894   }
7895   {
7896     int referenced = 0;
7897     unsigned long long insn_referenced = abuf->written;
7898     INT out_loadreg = -1;
7899     out_loadreg = FLD (out_drf);
7900     cycles += model_u_set_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
7901   }
7902   {
7903     int referenced = 0;
7904     unsigned long long insn_referenced = abuf->written;
7905     INT out_loadreg = -1;
7906     out_loadreg = FLD (out_drf);
7907     cycles += model_u_set_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
7908   }
7909   {
7910     int referenced = 0;
7911     unsigned long long insn_referenced = abuf->written;
7912     INT out_loadreg = -1;
7913     out_loadreg = FLD (out_drf);
7914     cycles += model_u_set_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
7915   }
7916   return cycles;
7917 #undef FLD
7918 }
7919
7920 UINT
7921 sh5_media_sh5_media_model::model_fadds_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
7922 {
7923 #define FLD(f) abuf->fields.sfmt_fmacs.f
7924   const sh5_media_scache* abuf = sem;
7925   const sh5_media_idesc* idesc = abuf->idesc;
7926   int cycles = 0;
7927   {
7928     INT in_usereg = -1;
7929     in_usereg = FLD (in_frg);
7930     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
7931   }
7932   {
7933     INT in_usereg = -1;
7934     in_usereg = FLD (in_frh);
7935     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
7936   }
7937   {
7938     cycles += model_u_fpu_before (current_cpu, idesc, 2);
7939   }
7940   {
7941     INT out_loadreg = -1;
7942     out_loadreg = FLD (out_frf);
7943     cycles += model_u_set_fr_before (current_cpu, idesc, 3, out_loadreg);
7944   }
7945   {
7946     INT out_loadreg = -1;
7947     out_loadreg = FLD (out_frf);
7948     cycles += model_u_set_dr_before (current_cpu, idesc, 4, out_loadreg);
7949   }
7950   {
7951     INT out_loadreg = -1;
7952     out_loadreg = FLD (out_frf);
7953     cycles += model_u_set_fp_before (current_cpu, idesc, 5, out_loadreg);
7954   }
7955   {
7956     INT out_loadreg = -1;
7957     out_loadreg = FLD (out_frf);
7958     cycles += model_u_set_fv_before (current_cpu, idesc, 6, out_loadreg);
7959   }
7960   {
7961     INT out_loadreg = -1;
7962     out_loadreg = FLD (out_frf);
7963     cycles += model_u_set_mtrx_before (current_cpu, idesc, 7, out_loadreg);
7964   }
7965   return cycles;
7966 #undef FLD
7967 }
7968
7969 UINT
7970 sh5_media_sh5_media_model::model_fadds_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
7971 {
7972 #define FLD(f) abuf->fields.sfmt_fmacs.f
7973   const sh5_media_scache* abuf = sem;
7974   const sh5_media_idesc* idesc = abuf->idesc;
7975   int cycles = 0;
7976   {
7977     int referenced = 0;
7978     unsigned long long insn_referenced = abuf->written;
7979     INT in_usereg = -1;
7980     in_usereg = FLD (in_frg);
7981     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
7982   }
7983   {
7984     int referenced = 0;
7985     unsigned long long insn_referenced = abuf->written;
7986     INT in_usereg = -1;
7987     in_usereg = FLD (in_frh);
7988     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
7989   }
7990   {
7991     int referenced = 0;
7992     unsigned long long insn_referenced = abuf->written;
7993     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
7994   }
7995   {
7996     int referenced = 0;
7997     unsigned long long insn_referenced = abuf->written;
7998     INT out_loadreg = -1;
7999     out_loadreg = FLD (out_frf);
8000     cycles += model_u_set_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
8001   }
8002   {
8003     int referenced = 0;
8004     unsigned long long insn_referenced = abuf->written;
8005     INT out_loadreg = -1;
8006     out_loadreg = FLD (out_frf);
8007     cycles += model_u_set_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
8008   }
8009   {
8010     int referenced = 0;
8011     unsigned long long insn_referenced = abuf->written;
8012     INT out_loadreg = -1;
8013     out_loadreg = FLD (out_frf);
8014     cycles += model_u_set_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
8015   }
8016   {
8017     int referenced = 0;
8018     unsigned long long insn_referenced = abuf->written;
8019     INT out_loadreg = -1;
8020     out_loadreg = FLD (out_frf);
8021     cycles += model_u_set_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
8022   }
8023   {
8024     int referenced = 0;
8025     unsigned long long insn_referenced = abuf->written;
8026     INT out_loadreg = -1;
8027     out_loadreg = FLD (out_frf);
8028     cycles += model_u_set_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
8029   }
8030   return cycles;
8031 #undef FLD
8032 }
8033
8034 UINT
8035 sh5_media_sh5_media_model::model_fcmpeqd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8036 {
8037 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
8038   const sh5_media_scache* abuf = sem;
8039   const sh5_media_idesc* idesc = abuf->idesc;
8040   int cycles = 0;
8041   {
8042     cycles += model_u_fpu_before (current_cpu, idesc, 0);
8043   }
8044   {
8045     INT out_loadreg = -1;
8046     out_loadreg = FLD (out_rd);
8047     cycles += model_u_set_gr_before (current_cpu, idesc, 1, out_loadreg);
8048   }
8049   return cycles;
8050 #undef FLD
8051 }
8052
8053 UINT
8054 sh5_media_sh5_media_model::model_fcmpeqd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8055 {
8056 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
8057   const sh5_media_scache* abuf = sem;
8058   const sh5_media_idesc* idesc = abuf->idesc;
8059   int cycles = 0;
8060   {
8061     int referenced = 0;
8062     unsigned long long insn_referenced = abuf->written;
8063     cycles += model_u_fpu_after (current_cpu, idesc, 0, referenced);
8064   }
8065   {
8066     int referenced = 0;
8067     unsigned long long insn_referenced = abuf->written;
8068     INT out_loadreg = -1;
8069     out_loadreg = FLD (out_rd);
8070     cycles += model_u_set_gr_after (current_cpu, idesc, 1, referenced, out_loadreg);
8071   }
8072   return cycles;
8073 #undef FLD
8074 }
8075
8076 UINT
8077 sh5_media_sh5_media_model::model_fcmpeqs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8078 {
8079 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
8080   const sh5_media_scache* abuf = sem;
8081   const sh5_media_idesc* idesc = abuf->idesc;
8082   int cycles = 0;
8083   {
8084     cycles += model_u_fpu_before (current_cpu, idesc, 0);
8085   }
8086   {
8087     INT out_loadreg = -1;
8088     out_loadreg = FLD (out_rd);
8089     cycles += model_u_set_gr_before (current_cpu, idesc, 1, out_loadreg);
8090   }
8091   return cycles;
8092 #undef FLD
8093 }
8094
8095 UINT
8096 sh5_media_sh5_media_model::model_fcmpeqs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8097 {
8098 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
8099   const sh5_media_scache* abuf = sem;
8100   const sh5_media_idesc* idesc = abuf->idesc;
8101   int cycles = 0;
8102   {
8103     int referenced = 0;
8104     unsigned long long insn_referenced = abuf->written;
8105     cycles += model_u_fpu_after (current_cpu, idesc, 0, referenced);
8106   }
8107   {
8108     int referenced = 0;
8109     unsigned long long insn_referenced = abuf->written;
8110     INT out_loadreg = -1;
8111     out_loadreg = FLD (out_rd);
8112     cycles += model_u_set_gr_after (current_cpu, idesc, 1, referenced, out_loadreg);
8113   }
8114   return cycles;
8115 #undef FLD
8116 }
8117
8118 UINT
8119 sh5_media_sh5_media_model::model_fcmpged_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8120 {
8121 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
8122   const sh5_media_scache* abuf = sem;
8123   const sh5_media_idesc* idesc = abuf->idesc;
8124   int cycles = 0;
8125   {
8126     cycles += model_u_fpu_before (current_cpu, idesc, 0);
8127   }
8128   {
8129     INT out_loadreg = -1;
8130     out_loadreg = FLD (out_rd);
8131     cycles += model_u_set_gr_before (current_cpu, idesc, 1, out_loadreg);
8132   }
8133   return cycles;
8134 #undef FLD
8135 }
8136
8137 UINT
8138 sh5_media_sh5_media_model::model_fcmpged_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8139 {
8140 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
8141   const sh5_media_scache* abuf = sem;
8142   const sh5_media_idesc* idesc = abuf->idesc;
8143   int cycles = 0;
8144   {
8145     int referenced = 0;
8146     unsigned long long insn_referenced = abuf->written;
8147     cycles += model_u_fpu_after (current_cpu, idesc, 0, referenced);
8148   }
8149   {
8150     int referenced = 0;
8151     unsigned long long insn_referenced = abuf->written;
8152     INT out_loadreg = -1;
8153     out_loadreg = FLD (out_rd);
8154     cycles += model_u_set_gr_after (current_cpu, idesc, 1, referenced, out_loadreg);
8155   }
8156   return cycles;
8157 #undef FLD
8158 }
8159
8160 UINT
8161 sh5_media_sh5_media_model::model_fcmpges_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8162 {
8163 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
8164   const sh5_media_scache* abuf = sem;
8165   const sh5_media_idesc* idesc = abuf->idesc;
8166   int cycles = 0;
8167   {
8168     cycles += model_u_fpu_before (current_cpu, idesc, 0);
8169   }
8170   {
8171     INT out_loadreg = -1;
8172     out_loadreg = FLD (out_rd);
8173     cycles += model_u_set_gr_before (current_cpu, idesc, 1, out_loadreg);
8174   }
8175   return cycles;
8176 #undef FLD
8177 }
8178
8179 UINT
8180 sh5_media_sh5_media_model::model_fcmpges_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8181 {
8182 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
8183   const sh5_media_scache* abuf = sem;
8184   const sh5_media_idesc* idesc = abuf->idesc;
8185   int cycles = 0;
8186   {
8187     int referenced = 0;
8188     unsigned long long insn_referenced = abuf->written;
8189     cycles += model_u_fpu_after (current_cpu, idesc, 0, referenced);
8190   }
8191   {
8192     int referenced = 0;
8193     unsigned long long insn_referenced = abuf->written;
8194     INT out_loadreg = -1;
8195     out_loadreg = FLD (out_rd);
8196     cycles += model_u_set_gr_after (current_cpu, idesc, 1, referenced, out_loadreg);
8197   }
8198   return cycles;
8199 #undef FLD
8200 }
8201
8202 UINT
8203 sh5_media_sh5_media_model::model_fcmpgtd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8204 {
8205 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
8206   const sh5_media_scache* abuf = sem;
8207   const sh5_media_idesc* idesc = abuf->idesc;
8208   int cycles = 0;
8209   {
8210     cycles += model_u_fpu_before (current_cpu, idesc, 0);
8211   }
8212   {
8213     INT out_loadreg = -1;
8214     out_loadreg = FLD (out_rd);
8215     cycles += model_u_set_gr_before (current_cpu, idesc, 1, out_loadreg);
8216   }
8217   return cycles;
8218 #undef FLD
8219 }
8220
8221 UINT
8222 sh5_media_sh5_media_model::model_fcmpgtd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8223 {
8224 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
8225   const sh5_media_scache* abuf = sem;
8226   const sh5_media_idesc* idesc = abuf->idesc;
8227   int cycles = 0;
8228   {
8229     int referenced = 0;
8230     unsigned long long insn_referenced = abuf->written;
8231     cycles += model_u_fpu_after (current_cpu, idesc, 0, referenced);
8232   }
8233   {
8234     int referenced = 0;
8235     unsigned long long insn_referenced = abuf->written;
8236     INT out_loadreg = -1;
8237     out_loadreg = FLD (out_rd);
8238     cycles += model_u_set_gr_after (current_cpu, idesc, 1, referenced, out_loadreg);
8239   }
8240   return cycles;
8241 #undef FLD
8242 }
8243
8244 UINT
8245 sh5_media_sh5_media_model::model_fcmpgts_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8246 {
8247 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
8248   const sh5_media_scache* abuf = sem;
8249   const sh5_media_idesc* idesc = abuf->idesc;
8250   int cycles = 0;
8251   {
8252     cycles += model_u_fpu_before (current_cpu, idesc, 0);
8253   }
8254   {
8255     INT out_loadreg = -1;
8256     out_loadreg = FLD (out_rd);
8257     cycles += model_u_set_gr_before (current_cpu, idesc, 1, out_loadreg);
8258   }
8259   return cycles;
8260 #undef FLD
8261 }
8262
8263 UINT
8264 sh5_media_sh5_media_model::model_fcmpgts_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8265 {
8266 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
8267   const sh5_media_scache* abuf = sem;
8268   const sh5_media_idesc* idesc = abuf->idesc;
8269   int cycles = 0;
8270   {
8271     int referenced = 0;
8272     unsigned long long insn_referenced = abuf->written;
8273     cycles += model_u_fpu_after (current_cpu, idesc, 0, referenced);
8274   }
8275   {
8276     int referenced = 0;
8277     unsigned long long insn_referenced = abuf->written;
8278     INT out_loadreg = -1;
8279     out_loadreg = FLD (out_rd);
8280     cycles += model_u_set_gr_after (current_cpu, idesc, 1, referenced, out_loadreg);
8281   }
8282   return cycles;
8283 #undef FLD
8284 }
8285
8286 UINT
8287 sh5_media_sh5_media_model::model_fcmpund_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8288 {
8289 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
8290   const sh5_media_scache* abuf = sem;
8291   const sh5_media_idesc* idesc = abuf->idesc;
8292   int cycles = 0;
8293   {
8294     cycles += model_u_fpu_before (current_cpu, idesc, 0);
8295   }
8296   {
8297     INT out_loadreg = -1;
8298     out_loadreg = FLD (out_rd);
8299     cycles += model_u_set_gr_before (current_cpu, idesc, 1, out_loadreg);
8300   }
8301   return cycles;
8302 #undef FLD
8303 }
8304
8305 UINT
8306 sh5_media_sh5_media_model::model_fcmpund_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8307 {
8308 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
8309   const sh5_media_scache* abuf = sem;
8310   const sh5_media_idesc* idesc = abuf->idesc;
8311   int cycles = 0;
8312   {
8313     int referenced = 0;
8314     unsigned long long insn_referenced = abuf->written;
8315     cycles += model_u_fpu_after (current_cpu, idesc, 0, referenced);
8316   }
8317   {
8318     int referenced = 0;
8319     unsigned long long insn_referenced = abuf->written;
8320     INT out_loadreg = -1;
8321     out_loadreg = FLD (out_rd);
8322     cycles += model_u_set_gr_after (current_cpu, idesc, 1, referenced, out_loadreg);
8323   }
8324   return cycles;
8325 #undef FLD
8326 }
8327
8328 UINT
8329 sh5_media_sh5_media_model::model_fcmpuns_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8330 {
8331 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
8332   const sh5_media_scache* abuf = sem;
8333   const sh5_media_idesc* idesc = abuf->idesc;
8334   int cycles = 0;
8335   {
8336     cycles += model_u_fpu_before (current_cpu, idesc, 0);
8337   }
8338   {
8339     INT out_loadreg = -1;
8340     out_loadreg = FLD (out_rd);
8341     cycles += model_u_set_gr_before (current_cpu, idesc, 1, out_loadreg);
8342   }
8343   return cycles;
8344 #undef FLD
8345 }
8346
8347 UINT
8348 sh5_media_sh5_media_model::model_fcmpuns_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8349 {
8350 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
8351   const sh5_media_scache* abuf = sem;
8352   const sh5_media_idesc* idesc = abuf->idesc;
8353   int cycles = 0;
8354   {
8355     int referenced = 0;
8356     unsigned long long insn_referenced = abuf->written;
8357     cycles += model_u_fpu_after (current_cpu, idesc, 0, referenced);
8358   }
8359   {
8360     int referenced = 0;
8361     unsigned long long insn_referenced = abuf->written;
8362     INT out_loadreg = -1;
8363     out_loadreg = FLD (out_rd);
8364     cycles += model_u_set_gr_after (current_cpu, idesc, 1, referenced, out_loadreg);
8365   }
8366   return cycles;
8367 #undef FLD
8368 }
8369
8370 UINT
8371 sh5_media_sh5_media_model::model_fcnvds_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8372 {
8373 #define FLD(f) abuf->fields.sfmt_fcnvds.f
8374   const sh5_media_scache* abuf = sem;
8375   const sh5_media_idesc* idesc = abuf->idesc;
8376   int cycles = 0;
8377   {
8378     INT in_usereg = -1;
8379     in_usereg = FLD (in_drgh);
8380     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
8381   }
8382   {
8383     cycles += model_u_fpu_before (current_cpu, idesc, 1);
8384   }
8385   {
8386     INT out_loadreg = -1;
8387     out_loadreg = FLD (out_frf);
8388     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
8389   }
8390   {
8391     INT out_loadreg = -1;
8392     out_loadreg = FLD (out_frf);
8393     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
8394   }
8395   {
8396     INT out_loadreg = -1;
8397     out_loadreg = FLD (out_frf);
8398     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
8399   }
8400   {
8401     INT out_loadreg = -1;
8402     out_loadreg = FLD (out_frf);
8403     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
8404   }
8405   {
8406     INT out_loadreg = -1;
8407     out_loadreg = FLD (out_frf);
8408     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
8409   }
8410   return cycles;
8411 #undef FLD
8412 }
8413
8414 UINT
8415 sh5_media_sh5_media_model::model_fcnvds_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8416 {
8417 #define FLD(f) abuf->fields.sfmt_fcnvds.f
8418   const sh5_media_scache* abuf = sem;
8419   const sh5_media_idesc* idesc = abuf->idesc;
8420   int cycles = 0;
8421   {
8422     int referenced = 0;
8423     unsigned long long insn_referenced = abuf->written;
8424     INT in_usereg = -1;
8425     in_usereg = FLD (in_drgh);
8426     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
8427   }
8428   {
8429     int referenced = 0;
8430     unsigned long long insn_referenced = abuf->written;
8431     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
8432   }
8433   {
8434     int referenced = 0;
8435     unsigned long long insn_referenced = abuf->written;
8436     INT out_loadreg = -1;
8437     out_loadreg = FLD (out_frf);
8438     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
8439   }
8440   {
8441     int referenced = 0;
8442     unsigned long long insn_referenced = abuf->written;
8443     INT out_loadreg = -1;
8444     out_loadreg = FLD (out_frf);
8445     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
8446   }
8447   {
8448     int referenced = 0;
8449     unsigned long long insn_referenced = abuf->written;
8450     INT out_loadreg = -1;
8451     out_loadreg = FLD (out_frf);
8452     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
8453   }
8454   {
8455     int referenced = 0;
8456     unsigned long long insn_referenced = abuf->written;
8457     INT out_loadreg = -1;
8458     out_loadreg = FLD (out_frf);
8459     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
8460   }
8461   {
8462     int referenced = 0;
8463     unsigned long long insn_referenced = abuf->written;
8464     INT out_loadreg = -1;
8465     out_loadreg = FLD (out_frf);
8466     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
8467   }
8468   return cycles;
8469 #undef FLD
8470 }
8471
8472 UINT
8473 sh5_media_sh5_media_model::model_fcnvsd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8474 {
8475 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
8476   const sh5_media_scache* abuf = sem;
8477   const sh5_media_idesc* idesc = abuf->idesc;
8478   int cycles = 0;
8479   {
8480     INT in_usereg = -1;
8481     in_usereg = FLD (in_frgh);
8482     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
8483   }
8484   {
8485     cycles += model_u_fpu_before (current_cpu, idesc, 1);
8486   }
8487   {
8488     INT out_loadreg = -1;
8489     out_loadreg = FLD (out_drf);
8490     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
8491   }
8492   {
8493     INT out_loadreg = -1;
8494     out_loadreg = FLD (out_drf);
8495     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
8496   }
8497   {
8498     INT out_loadreg = -1;
8499     out_loadreg = FLD (out_drf);
8500     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
8501   }
8502   {
8503     INT out_loadreg = -1;
8504     out_loadreg = FLD (out_drf);
8505     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
8506   }
8507   {
8508     INT out_loadreg = -1;
8509     out_loadreg = FLD (out_drf);
8510     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
8511   }
8512   return cycles;
8513 #undef FLD
8514 }
8515
8516 UINT
8517 sh5_media_sh5_media_model::model_fcnvsd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8518 {
8519 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
8520   const sh5_media_scache* abuf = sem;
8521   const sh5_media_idesc* idesc = abuf->idesc;
8522   int cycles = 0;
8523   {
8524     int referenced = 0;
8525     unsigned long long insn_referenced = abuf->written;
8526     INT in_usereg = -1;
8527     in_usereg = FLD (in_frgh);
8528     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
8529   }
8530   {
8531     int referenced = 0;
8532     unsigned long long insn_referenced = abuf->written;
8533     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
8534   }
8535   {
8536     int referenced = 0;
8537     unsigned long long insn_referenced = abuf->written;
8538     INT out_loadreg = -1;
8539     out_loadreg = FLD (out_drf);
8540     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
8541   }
8542   {
8543     int referenced = 0;
8544     unsigned long long insn_referenced = abuf->written;
8545     INT out_loadreg = -1;
8546     out_loadreg = FLD (out_drf);
8547     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
8548   }
8549   {
8550     int referenced = 0;
8551     unsigned long long insn_referenced = abuf->written;
8552     INT out_loadreg = -1;
8553     out_loadreg = FLD (out_drf);
8554     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
8555   }
8556   {
8557     int referenced = 0;
8558     unsigned long long insn_referenced = abuf->written;
8559     INT out_loadreg = -1;
8560     out_loadreg = FLD (out_drf);
8561     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
8562   }
8563   {
8564     int referenced = 0;
8565     unsigned long long insn_referenced = abuf->written;
8566     INT out_loadreg = -1;
8567     out_loadreg = FLD (out_drf);
8568     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
8569   }
8570   return cycles;
8571 #undef FLD
8572 }
8573
8574 UINT
8575 sh5_media_sh5_media_model::model_fdivd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8576 {
8577 #define FLD(f) abuf->fields.sfmt_faddd.f
8578   const sh5_media_scache* abuf = sem;
8579   const sh5_media_idesc* idesc = abuf->idesc;
8580   int cycles = 0;
8581   {
8582     INT in_usereg = -1;
8583     in_usereg = FLD (in_drg);
8584     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
8585   }
8586   {
8587     INT in_usereg = -1;
8588     in_usereg = FLD (in_drh);
8589     cycles += model_u_use_dr_before (current_cpu, idesc, 1, in_usereg);
8590   }
8591   {
8592     INT out_loadreg = -1;
8593     out_loadreg = FLD (out_drf);
8594     cycles += model_u_fdivd_before (current_cpu, idesc, 2, out_loadreg);
8595   }
8596   {
8597     INT out_loadreg = -1;
8598     out_loadreg = FLD (out_drf);
8599     cycles += model_u_set_fr_before (current_cpu, idesc, 3, out_loadreg);
8600   }
8601   {
8602     INT out_loadreg = -1;
8603     out_loadreg = FLD (out_drf);
8604     cycles += model_u_set_dr_before (current_cpu, idesc, 4, out_loadreg);
8605   }
8606   {
8607     INT out_loadreg = -1;
8608     out_loadreg = FLD (out_drf);
8609     cycles += model_u_set_fp_before (current_cpu, idesc, 5, out_loadreg);
8610   }
8611   {
8612     INT out_loadreg = -1;
8613     out_loadreg = FLD (out_drf);
8614     cycles += model_u_set_fv_before (current_cpu, idesc, 6, out_loadreg);
8615   }
8616   {
8617     INT out_loadreg = -1;
8618     out_loadreg = FLD (out_drf);
8619     cycles += model_u_set_mtrx_before (current_cpu, idesc, 7, out_loadreg);
8620   }
8621   return cycles;
8622 #undef FLD
8623 }
8624
8625 UINT
8626 sh5_media_sh5_media_model::model_fdivd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8627 {
8628 #define FLD(f) abuf->fields.sfmt_faddd.f
8629   const sh5_media_scache* abuf = sem;
8630   const sh5_media_idesc* idesc = abuf->idesc;
8631   int cycles = 0;
8632   {
8633     int referenced = 0;
8634     unsigned long long insn_referenced = abuf->written;
8635     INT in_usereg = -1;
8636     in_usereg = FLD (in_drg);
8637     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
8638   }
8639   {
8640     int referenced = 0;
8641     unsigned long long insn_referenced = abuf->written;
8642     INT in_usereg = -1;
8643     in_usereg = FLD (in_drh);
8644     cycles += model_u_use_dr_after (current_cpu, idesc, 1, referenced, in_usereg);
8645   }
8646   {
8647     int referenced = 0;
8648     unsigned long long insn_referenced = abuf->written;
8649     INT out_loadreg = -1;
8650     out_loadreg = FLD (out_drf);
8651     cycles += model_u_fdivd_after (current_cpu, idesc, 2, referenced, out_loadreg);
8652   }
8653   {
8654     int referenced = 0;
8655     unsigned long long insn_referenced = abuf->written;
8656     INT out_loadreg = -1;
8657     out_loadreg = FLD (out_drf);
8658     cycles += model_u_set_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
8659   }
8660   {
8661     int referenced = 0;
8662     unsigned long long insn_referenced = abuf->written;
8663     INT out_loadreg = -1;
8664     out_loadreg = FLD (out_drf);
8665     cycles += model_u_set_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
8666   }
8667   {
8668     int referenced = 0;
8669     unsigned long long insn_referenced = abuf->written;
8670     INT out_loadreg = -1;
8671     out_loadreg = FLD (out_drf);
8672     cycles += model_u_set_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
8673   }
8674   {
8675     int referenced = 0;
8676     unsigned long long insn_referenced = abuf->written;
8677     INT out_loadreg = -1;
8678     out_loadreg = FLD (out_drf);
8679     cycles += model_u_set_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
8680   }
8681   {
8682     int referenced = 0;
8683     unsigned long long insn_referenced = abuf->written;
8684     INT out_loadreg = -1;
8685     out_loadreg = FLD (out_drf);
8686     cycles += model_u_set_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
8687   }
8688   return cycles;
8689 #undef FLD
8690 }
8691
8692 UINT
8693 sh5_media_sh5_media_model::model_fdivs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8694 {
8695 #define FLD(f) abuf->fields.sfmt_fmacs.f
8696   const sh5_media_scache* abuf = sem;
8697   const sh5_media_idesc* idesc = abuf->idesc;
8698   int cycles = 0;
8699   {
8700     INT in_usereg = -1;
8701     in_usereg = FLD (in_frg);
8702     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
8703   }
8704   {
8705     INT in_usereg = -1;
8706     in_usereg = FLD (in_frh);
8707     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
8708   }
8709   {
8710     INT out_loadreg = -1;
8711     out_loadreg = FLD (out_frf);
8712     cycles += model_u_fdiv_before (current_cpu, idesc, 2, out_loadreg);
8713   }
8714   {
8715     INT out_loadreg = -1;
8716     out_loadreg = FLD (out_frf);
8717     cycles += model_u_set_fr_before (current_cpu, idesc, 3, out_loadreg);
8718   }
8719   {
8720     INT out_loadreg = -1;
8721     out_loadreg = FLD (out_frf);
8722     cycles += model_u_set_dr_before (current_cpu, idesc, 4, out_loadreg);
8723   }
8724   {
8725     INT out_loadreg = -1;
8726     out_loadreg = FLD (out_frf);
8727     cycles += model_u_set_fp_before (current_cpu, idesc, 5, out_loadreg);
8728   }
8729   {
8730     INT out_loadreg = -1;
8731     out_loadreg = FLD (out_frf);
8732     cycles += model_u_set_fv_before (current_cpu, idesc, 6, out_loadreg);
8733   }
8734   {
8735     INT out_loadreg = -1;
8736     out_loadreg = FLD (out_frf);
8737     cycles += model_u_set_mtrx_before (current_cpu, idesc, 7, out_loadreg);
8738   }
8739   return cycles;
8740 #undef FLD
8741 }
8742
8743 UINT
8744 sh5_media_sh5_media_model::model_fdivs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8745 {
8746 #define FLD(f) abuf->fields.sfmt_fmacs.f
8747   const sh5_media_scache* abuf = sem;
8748   const sh5_media_idesc* idesc = abuf->idesc;
8749   int cycles = 0;
8750   {
8751     int referenced = 0;
8752     unsigned long long insn_referenced = abuf->written;
8753     INT in_usereg = -1;
8754     in_usereg = FLD (in_frg);
8755     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
8756   }
8757   {
8758     int referenced = 0;
8759     unsigned long long insn_referenced = abuf->written;
8760     INT in_usereg = -1;
8761     in_usereg = FLD (in_frh);
8762     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
8763   }
8764   {
8765     int referenced = 0;
8766     unsigned long long insn_referenced = abuf->written;
8767     INT out_loadreg = -1;
8768     out_loadreg = FLD (out_frf);
8769     cycles += model_u_fdiv_after (current_cpu, idesc, 2, referenced, out_loadreg);
8770   }
8771   {
8772     int referenced = 0;
8773     unsigned long long insn_referenced = abuf->written;
8774     INT out_loadreg = -1;
8775     out_loadreg = FLD (out_frf);
8776     cycles += model_u_set_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
8777   }
8778   {
8779     int referenced = 0;
8780     unsigned long long insn_referenced = abuf->written;
8781     INT out_loadreg = -1;
8782     out_loadreg = FLD (out_frf);
8783     cycles += model_u_set_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
8784   }
8785   {
8786     int referenced = 0;
8787     unsigned long long insn_referenced = abuf->written;
8788     INT out_loadreg = -1;
8789     out_loadreg = FLD (out_frf);
8790     cycles += model_u_set_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
8791   }
8792   {
8793     int referenced = 0;
8794     unsigned long long insn_referenced = abuf->written;
8795     INT out_loadreg = -1;
8796     out_loadreg = FLD (out_frf);
8797     cycles += model_u_set_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
8798   }
8799   {
8800     int referenced = 0;
8801     unsigned long long insn_referenced = abuf->written;
8802     INT out_loadreg = -1;
8803     out_loadreg = FLD (out_frf);
8804     cycles += model_u_set_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
8805   }
8806   return cycles;
8807 #undef FLD
8808 }
8809
8810 UINT
8811 sh5_media_sh5_media_model::model_fgetscr_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8812 {
8813 #define FLD(f) abuf->fields.sfmt_fcnvds.f
8814   const sh5_media_scache* abuf = sem;
8815   const sh5_media_idesc* idesc = abuf->idesc;
8816   int cycles = 0;
8817   {
8818     cycles += model_u_fpu_before (current_cpu, idesc, 0);
8819   }
8820   {
8821     INT out_loadreg = -1;
8822     out_loadreg = FLD (out_frf);
8823     cycles += model_u_set_fr_before (current_cpu, idesc, 1, out_loadreg);
8824   }
8825   {
8826     INT out_loadreg = -1;
8827     out_loadreg = FLD (out_frf);
8828     cycles += model_u_set_dr_before (current_cpu, idesc, 2, out_loadreg);
8829   }
8830   {
8831     INT out_loadreg = -1;
8832     out_loadreg = FLD (out_frf);
8833     cycles += model_u_set_fp_before (current_cpu, idesc, 3, out_loadreg);
8834   }
8835   {
8836     INT out_loadreg = -1;
8837     out_loadreg = FLD (out_frf);
8838     cycles += model_u_set_fv_before (current_cpu, idesc, 4, out_loadreg);
8839   }
8840   {
8841     INT out_loadreg = -1;
8842     out_loadreg = FLD (out_frf);
8843     cycles += model_u_set_mtrx_before (current_cpu, idesc, 5, out_loadreg);
8844   }
8845   return cycles;
8846 #undef FLD
8847 }
8848
8849 UINT
8850 sh5_media_sh5_media_model::model_fgetscr_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8851 {
8852 #define FLD(f) abuf->fields.sfmt_fcnvds.f
8853   const sh5_media_scache* abuf = sem;
8854   const sh5_media_idesc* idesc = abuf->idesc;
8855   int cycles = 0;
8856   {
8857     int referenced = 0;
8858     unsigned long long insn_referenced = abuf->written;
8859     cycles += model_u_fpu_after (current_cpu, idesc, 0, referenced);
8860   }
8861   {
8862     int referenced = 0;
8863     unsigned long long insn_referenced = abuf->written;
8864     INT out_loadreg = -1;
8865     out_loadreg = FLD (out_frf);
8866     cycles += model_u_set_fr_after (current_cpu, idesc, 1, referenced, out_loadreg);
8867   }
8868   {
8869     int referenced = 0;
8870     unsigned long long insn_referenced = abuf->written;
8871     INT out_loadreg = -1;
8872     out_loadreg = FLD (out_frf);
8873     cycles += model_u_set_dr_after (current_cpu, idesc, 2, referenced, out_loadreg);
8874   }
8875   {
8876     int referenced = 0;
8877     unsigned long long insn_referenced = abuf->written;
8878     INT out_loadreg = -1;
8879     out_loadreg = FLD (out_frf);
8880     cycles += model_u_set_fp_after (current_cpu, idesc, 3, referenced, out_loadreg);
8881   }
8882   {
8883     int referenced = 0;
8884     unsigned long long insn_referenced = abuf->written;
8885     INT out_loadreg = -1;
8886     out_loadreg = FLD (out_frf);
8887     cycles += model_u_set_fv_after (current_cpu, idesc, 4, referenced, out_loadreg);
8888   }
8889   {
8890     int referenced = 0;
8891     unsigned long long insn_referenced = abuf->written;
8892     INT out_loadreg = -1;
8893     out_loadreg = FLD (out_frf);
8894     cycles += model_u_set_mtrx_after (current_cpu, idesc, 5, referenced, out_loadreg);
8895   }
8896   return cycles;
8897 #undef FLD
8898 }
8899
8900 UINT
8901 sh5_media_sh5_media_model::model_fiprs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
8902 {
8903 #define FLD(f) abuf->fields.sfmt_fiprs.f
8904   const sh5_media_scache* abuf = sem;
8905   const sh5_media_idesc* idesc = abuf->idesc;
8906   int cycles = 0;
8907   {
8908     INT in_usereg = -1;
8909     in_usereg = FLD (in_fvg);
8910     cycles += model_u_use_fv_before (current_cpu, idesc, 0, in_usereg);
8911   }
8912   {
8913     INT in_usereg = -1;
8914     in_usereg = FLD (in_fvh);
8915     cycles += model_u_use_fv_before (current_cpu, idesc, 1, in_usereg);
8916   }
8917   {
8918     cycles += model_u_fpu_before (current_cpu, idesc, 2);
8919   }
8920   {
8921     INT out_loadreg = -1;
8922     out_loadreg = FLD (out_frf);
8923     cycles += model_u_set_fr_before (current_cpu, idesc, 3, out_loadreg);
8924   }
8925   {
8926     INT out_loadreg = -1;
8927     out_loadreg = FLD (out_frf);
8928     cycles += model_u_set_dr_before (current_cpu, idesc, 4, out_loadreg);
8929   }
8930   {
8931     INT out_loadreg = -1;
8932     out_loadreg = FLD (out_frf);
8933     cycles += model_u_set_fp_before (current_cpu, idesc, 5, out_loadreg);
8934   }
8935   {
8936     INT out_loadreg = -1;
8937     out_loadreg = FLD (out_frf);
8938     cycles += model_u_set_fv_before (current_cpu, idesc, 6, out_loadreg);
8939   }
8940   {
8941     INT out_loadreg = -1;
8942     out_loadreg = FLD (out_frf);
8943     cycles += model_u_set_mtrx_before (current_cpu, idesc, 7, out_loadreg);
8944   }
8945   return cycles;
8946 #undef FLD
8947 }
8948
8949 UINT
8950 sh5_media_sh5_media_model::model_fiprs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
8951 {
8952 #define FLD(f) abuf->fields.sfmt_fiprs.f
8953   const sh5_media_scache* abuf = sem;
8954   const sh5_media_idesc* idesc = abuf->idesc;
8955   int cycles = 0;
8956   {
8957     int referenced = 0;
8958     unsigned long long insn_referenced = abuf->written;
8959     INT in_usereg = -1;
8960     in_usereg = FLD (in_fvg);
8961     cycles += model_u_use_fv_after (current_cpu, idesc, 0, referenced, in_usereg);
8962   }
8963   {
8964     int referenced = 0;
8965     unsigned long long insn_referenced = abuf->written;
8966     INT in_usereg = -1;
8967     in_usereg = FLD (in_fvh);
8968     cycles += model_u_use_fv_after (current_cpu, idesc, 1, referenced, in_usereg);
8969   }
8970   {
8971     int referenced = 0;
8972     unsigned long long insn_referenced = abuf->written;
8973     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
8974   }
8975   {
8976     int referenced = 0;
8977     unsigned long long insn_referenced = abuf->written;
8978     INT out_loadreg = -1;
8979     out_loadreg = FLD (out_frf);
8980     cycles += model_u_set_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
8981   }
8982   {
8983     int referenced = 0;
8984     unsigned long long insn_referenced = abuf->written;
8985     INT out_loadreg = -1;
8986     out_loadreg = FLD (out_frf);
8987     cycles += model_u_set_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
8988   }
8989   {
8990     int referenced = 0;
8991     unsigned long long insn_referenced = abuf->written;
8992     INT out_loadreg = -1;
8993     out_loadreg = FLD (out_frf);
8994     cycles += model_u_set_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
8995   }
8996   {
8997     int referenced = 0;
8998     unsigned long long insn_referenced = abuf->written;
8999     INT out_loadreg = -1;
9000     out_loadreg = FLD (out_frf);
9001     cycles += model_u_set_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
9002   }
9003   {
9004     int referenced = 0;
9005     unsigned long long insn_referenced = abuf->written;
9006     INT out_loadreg = -1;
9007     out_loadreg = FLD (out_frf);
9008     cycles += model_u_set_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
9009   }
9010   return cycles;
9011 #undef FLD
9012 }
9013
9014 UINT
9015 sh5_media_sh5_media_model::model_fldd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
9016 {
9017 #define FLD(f) abuf->fields.sfmt_fldd.f
9018   const sh5_media_scache* abuf = sem;
9019   const sh5_media_idesc* idesc = abuf->idesc;
9020   int cycles = 0;
9021   {
9022     INT in_usereg = -1;
9023     in_usereg = FLD (in_rm);
9024     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9025   }
9026   {
9027     cycles += model_u_exec_before (current_cpu, idesc, 1);
9028   }
9029   {
9030     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
9031   }
9032   {
9033     INT out_loadreg = -1;
9034     out_loadreg = FLD (out_drf);
9035     cycles += model_u_load_fr_before (current_cpu, idesc, 3, out_loadreg);
9036   }
9037   {
9038     INT out_loadreg = -1;
9039     out_loadreg = FLD (out_drf);
9040     cycles += model_u_load_dr_before (current_cpu, idesc, 4, out_loadreg);
9041   }
9042   {
9043     INT out_loadreg = -1;
9044     out_loadreg = FLD (out_drf);
9045     cycles += model_u_load_fp_before (current_cpu, idesc, 5, out_loadreg);
9046   }
9047   {
9048     INT out_loadreg = -1;
9049     out_loadreg = FLD (out_drf);
9050     cycles += model_u_load_fv_before (current_cpu, idesc, 6, out_loadreg);
9051   }
9052   {
9053     INT out_loadreg = -1;
9054     out_loadreg = FLD (out_drf);
9055     cycles += model_u_load_mtrx_before (current_cpu, idesc, 7, out_loadreg);
9056   }
9057   return cycles;
9058 #undef FLD
9059 }
9060
9061 UINT
9062 sh5_media_sh5_media_model::model_fldd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
9063 {
9064 #define FLD(f) abuf->fields.sfmt_fldd.f
9065   const sh5_media_scache* abuf = sem;
9066   const sh5_media_idesc* idesc = abuf->idesc;
9067   int cycles = 0;
9068   {
9069     int referenced = 0;
9070     unsigned long long insn_referenced = abuf->written;
9071     INT in_usereg = -1;
9072     in_usereg = FLD (in_rm);
9073     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9074   }
9075   {
9076     int referenced = 0;
9077     unsigned long long insn_referenced = abuf->written;
9078     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
9079   }
9080   {
9081     int referenced = 0;
9082     unsigned long long insn_referenced = abuf->written;
9083     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
9084   }
9085   {
9086     int referenced = 0;
9087     unsigned long long insn_referenced = abuf->written;
9088     INT out_loadreg = -1;
9089     out_loadreg = FLD (out_drf);
9090     cycles += model_u_load_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
9091   }
9092   {
9093     int referenced = 0;
9094     unsigned long long insn_referenced = abuf->written;
9095     INT out_loadreg = -1;
9096     out_loadreg = FLD (out_drf);
9097     cycles += model_u_load_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
9098   }
9099   {
9100     int referenced = 0;
9101     unsigned long long insn_referenced = abuf->written;
9102     INT out_loadreg = -1;
9103     out_loadreg = FLD (out_drf);
9104     cycles += model_u_load_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
9105   }
9106   {
9107     int referenced = 0;
9108     unsigned long long insn_referenced = abuf->written;
9109     INT out_loadreg = -1;
9110     out_loadreg = FLD (out_drf);
9111     cycles += model_u_load_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
9112   }
9113   {
9114     int referenced = 0;
9115     unsigned long long insn_referenced = abuf->written;
9116     INT out_loadreg = -1;
9117     out_loadreg = FLD (out_drf);
9118     cycles += model_u_load_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
9119   }
9120   return cycles;
9121 #undef FLD
9122 }
9123
9124 UINT
9125 sh5_media_sh5_media_model::model_fldp_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
9126 {
9127 #define FLD(f) abuf->fields.sfmt_fldp.f
9128   const sh5_media_scache* abuf = sem;
9129   const sh5_media_idesc* idesc = abuf->idesc;
9130   int cycles = 0;
9131   {
9132     INT in_usereg = -1;
9133     in_usereg = FLD (in_rm);
9134     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9135   }
9136   {
9137     cycles += model_u_exec_before (current_cpu, idesc, 1);
9138   }
9139   {
9140     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
9141   }
9142   {
9143     INT out_loadreg = -1;
9144     out_loadreg = FLD (out_fpf);
9145     cycles += model_u_load_fr_before (current_cpu, idesc, 3, out_loadreg);
9146   }
9147   {
9148     INT out_loadreg = -1;
9149     out_loadreg = FLD (out_fpf);
9150     cycles += model_u_load_dr_before (current_cpu, idesc, 4, out_loadreg);
9151   }
9152   {
9153     INT out_loadreg = -1;
9154     out_loadreg = FLD (out_fpf);
9155     cycles += model_u_load_fp_before (current_cpu, idesc, 5, out_loadreg);
9156   }
9157   {
9158     INT out_loadreg = -1;
9159     out_loadreg = FLD (out_fpf);
9160     cycles += model_u_load_fv_before (current_cpu, idesc, 6, out_loadreg);
9161   }
9162   {
9163     INT out_loadreg = -1;
9164     out_loadreg = FLD (out_fpf);
9165     cycles += model_u_load_mtrx_before (current_cpu, idesc, 7, out_loadreg);
9166   }
9167   return cycles;
9168 #undef FLD
9169 }
9170
9171 UINT
9172 sh5_media_sh5_media_model::model_fldp_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
9173 {
9174 #define FLD(f) abuf->fields.sfmt_fldp.f
9175   const sh5_media_scache* abuf = sem;
9176   const sh5_media_idesc* idesc = abuf->idesc;
9177   int cycles = 0;
9178   {
9179     int referenced = 0;
9180     unsigned long long insn_referenced = abuf->written;
9181     INT in_usereg = -1;
9182     in_usereg = FLD (in_rm);
9183     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9184   }
9185   {
9186     int referenced = 0;
9187     unsigned long long insn_referenced = abuf->written;
9188     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
9189   }
9190   {
9191     int referenced = 0;
9192     unsigned long long insn_referenced = abuf->written;
9193     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
9194   }
9195   {
9196     int referenced = 0;
9197     unsigned long long insn_referenced = abuf->written;
9198     INT out_loadreg = -1;
9199     out_loadreg = FLD (out_fpf);
9200     cycles += model_u_load_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
9201   }
9202   {
9203     int referenced = 0;
9204     unsigned long long insn_referenced = abuf->written;
9205     INT out_loadreg = -1;
9206     out_loadreg = FLD (out_fpf);
9207     cycles += model_u_load_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
9208   }
9209   {
9210     int referenced = 0;
9211     unsigned long long insn_referenced = abuf->written;
9212     INT out_loadreg = -1;
9213     out_loadreg = FLD (out_fpf);
9214     cycles += model_u_load_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
9215   }
9216   {
9217     int referenced = 0;
9218     unsigned long long insn_referenced = abuf->written;
9219     INT out_loadreg = -1;
9220     out_loadreg = FLD (out_fpf);
9221     cycles += model_u_load_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
9222   }
9223   {
9224     int referenced = 0;
9225     unsigned long long insn_referenced = abuf->written;
9226     INT out_loadreg = -1;
9227     out_loadreg = FLD (out_fpf);
9228     cycles += model_u_load_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
9229   }
9230   return cycles;
9231 #undef FLD
9232 }
9233
9234 UINT
9235 sh5_media_sh5_media_model::model_flds_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
9236 {
9237 #define FLD(f) abuf->fields.sfmt_flds.f
9238   const sh5_media_scache* abuf = sem;
9239   const sh5_media_idesc* idesc = abuf->idesc;
9240   int cycles = 0;
9241   {
9242     INT in_usereg = -1;
9243     in_usereg = FLD (in_rm);
9244     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9245   }
9246   {
9247     cycles += model_u_exec_before (current_cpu, idesc, 1);
9248   }
9249   {
9250     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
9251   }
9252   {
9253     INT out_loadreg = -1;
9254     out_loadreg = FLD (out_frf);
9255     cycles += model_u_load_fr_before (current_cpu, idesc, 3, out_loadreg);
9256   }
9257   {
9258     INT out_loadreg = -1;
9259     out_loadreg = FLD (out_frf);
9260     cycles += model_u_load_dr_before (current_cpu, idesc, 4, out_loadreg);
9261   }
9262   {
9263     INT out_loadreg = -1;
9264     out_loadreg = FLD (out_frf);
9265     cycles += model_u_load_fp_before (current_cpu, idesc, 5, out_loadreg);
9266   }
9267   {
9268     INT out_loadreg = -1;
9269     out_loadreg = FLD (out_frf);
9270     cycles += model_u_load_fv_before (current_cpu, idesc, 6, out_loadreg);
9271   }
9272   {
9273     INT out_loadreg = -1;
9274     out_loadreg = FLD (out_frf);
9275     cycles += model_u_load_mtrx_before (current_cpu, idesc, 7, out_loadreg);
9276   }
9277   return cycles;
9278 #undef FLD
9279 }
9280
9281 UINT
9282 sh5_media_sh5_media_model::model_flds_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
9283 {
9284 #define FLD(f) abuf->fields.sfmt_flds.f
9285   const sh5_media_scache* abuf = sem;
9286   const sh5_media_idesc* idesc = abuf->idesc;
9287   int cycles = 0;
9288   {
9289     int referenced = 0;
9290     unsigned long long insn_referenced = abuf->written;
9291     INT in_usereg = -1;
9292     in_usereg = FLD (in_rm);
9293     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9294   }
9295   {
9296     int referenced = 0;
9297     unsigned long long insn_referenced = abuf->written;
9298     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
9299   }
9300   {
9301     int referenced = 0;
9302     unsigned long long insn_referenced = abuf->written;
9303     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
9304   }
9305   {
9306     int referenced = 0;
9307     unsigned long long insn_referenced = abuf->written;
9308     INT out_loadreg = -1;
9309     out_loadreg = FLD (out_frf);
9310     cycles += model_u_load_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
9311   }
9312   {
9313     int referenced = 0;
9314     unsigned long long insn_referenced = abuf->written;
9315     INT out_loadreg = -1;
9316     out_loadreg = FLD (out_frf);
9317     cycles += model_u_load_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
9318   }
9319   {
9320     int referenced = 0;
9321     unsigned long long insn_referenced = abuf->written;
9322     INT out_loadreg = -1;
9323     out_loadreg = FLD (out_frf);
9324     cycles += model_u_load_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
9325   }
9326   {
9327     int referenced = 0;
9328     unsigned long long insn_referenced = abuf->written;
9329     INT out_loadreg = -1;
9330     out_loadreg = FLD (out_frf);
9331     cycles += model_u_load_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
9332   }
9333   {
9334     int referenced = 0;
9335     unsigned long long insn_referenced = abuf->written;
9336     INT out_loadreg = -1;
9337     out_loadreg = FLD (out_frf);
9338     cycles += model_u_load_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
9339   }
9340   return cycles;
9341 #undef FLD
9342 }
9343
9344 UINT
9345 sh5_media_sh5_media_model::model_fldxd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
9346 {
9347 #define FLD(f) abuf->fields.sfmt_fldxd.f
9348   const sh5_media_scache* abuf = sem;
9349   const sh5_media_idesc* idesc = abuf->idesc;
9350   int cycles = 0;
9351   {
9352     INT in_usereg = -1;
9353     in_usereg = FLD (in_rm);
9354     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9355   }
9356   {
9357     INT in_usereg = -1;
9358     in_usereg = FLD (in_rn);
9359     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
9360   }
9361   {
9362     cycles += model_u_exec_before (current_cpu, idesc, 2);
9363   }
9364   {
9365     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
9366   }
9367   {
9368     INT out_loadreg = -1;
9369     out_loadreg = FLD (out_drf);
9370     cycles += model_u_load_fr_before (current_cpu, idesc, 4, out_loadreg);
9371   }
9372   {
9373     INT out_loadreg = -1;
9374     out_loadreg = FLD (out_drf);
9375     cycles += model_u_load_dr_before (current_cpu, idesc, 5, out_loadreg);
9376   }
9377   {
9378     INT out_loadreg = -1;
9379     out_loadreg = FLD (out_drf);
9380     cycles += model_u_load_fp_before (current_cpu, idesc, 6, out_loadreg);
9381   }
9382   {
9383     INT out_loadreg = -1;
9384     out_loadreg = FLD (out_drf);
9385     cycles += model_u_load_fv_before (current_cpu, idesc, 7, out_loadreg);
9386   }
9387   {
9388     INT out_loadreg = -1;
9389     out_loadreg = FLD (out_drf);
9390     cycles += model_u_load_mtrx_before (current_cpu, idesc, 8, out_loadreg);
9391   }
9392   return cycles;
9393 #undef FLD
9394 }
9395
9396 UINT
9397 sh5_media_sh5_media_model::model_fldxd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
9398 {
9399 #define FLD(f) abuf->fields.sfmt_fldxd.f
9400   const sh5_media_scache* abuf = sem;
9401   const sh5_media_idesc* idesc = abuf->idesc;
9402   int cycles = 0;
9403   {
9404     int referenced = 0;
9405     unsigned long long insn_referenced = abuf->written;
9406     INT in_usereg = -1;
9407     in_usereg = FLD (in_rm);
9408     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9409   }
9410   {
9411     int referenced = 0;
9412     unsigned long long insn_referenced = abuf->written;
9413     INT in_usereg = -1;
9414     in_usereg = FLD (in_rn);
9415     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
9416   }
9417   {
9418     int referenced = 0;
9419     unsigned long long insn_referenced = abuf->written;
9420     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
9421   }
9422   {
9423     int referenced = 0;
9424     unsigned long long insn_referenced = abuf->written;
9425     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
9426   }
9427   {
9428     int referenced = 0;
9429     unsigned long long insn_referenced = abuf->written;
9430     INT out_loadreg = -1;
9431     out_loadreg = FLD (out_drf);
9432     cycles += model_u_load_fr_after (current_cpu, idesc, 4, referenced, out_loadreg);
9433   }
9434   {
9435     int referenced = 0;
9436     unsigned long long insn_referenced = abuf->written;
9437     INT out_loadreg = -1;
9438     out_loadreg = FLD (out_drf);
9439     cycles += model_u_load_dr_after (current_cpu, idesc, 5, referenced, out_loadreg);
9440   }
9441   {
9442     int referenced = 0;
9443     unsigned long long insn_referenced = abuf->written;
9444     INT out_loadreg = -1;
9445     out_loadreg = FLD (out_drf);
9446     cycles += model_u_load_fp_after (current_cpu, idesc, 6, referenced, out_loadreg);
9447   }
9448   {
9449     int referenced = 0;
9450     unsigned long long insn_referenced = abuf->written;
9451     INT out_loadreg = -1;
9452     out_loadreg = FLD (out_drf);
9453     cycles += model_u_load_fv_after (current_cpu, idesc, 7, referenced, out_loadreg);
9454   }
9455   {
9456     int referenced = 0;
9457     unsigned long long insn_referenced = abuf->written;
9458     INT out_loadreg = -1;
9459     out_loadreg = FLD (out_drf);
9460     cycles += model_u_load_mtrx_after (current_cpu, idesc, 8, referenced, out_loadreg);
9461   }
9462   return cycles;
9463 #undef FLD
9464 }
9465
9466 UINT
9467 sh5_media_sh5_media_model::model_fldxp_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
9468 {
9469 #define FLD(f) abuf->fields.sfmt_fldxp.f
9470   const sh5_media_scache* abuf = sem;
9471   const sh5_media_idesc* idesc = abuf->idesc;
9472   int cycles = 0;
9473   {
9474     INT in_usereg = -1;
9475     in_usereg = FLD (in_rm);
9476     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9477   }
9478   {
9479     INT in_usereg = -1;
9480     in_usereg = FLD (in_rn);
9481     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
9482   }
9483   {
9484     cycles += model_u_exec_before (current_cpu, idesc, 2);
9485   }
9486   {
9487     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
9488   }
9489   {
9490     INT out_loadreg = -1;
9491     out_loadreg = FLD (out_fpf);
9492     cycles += model_u_load_fr_before (current_cpu, idesc, 4, out_loadreg);
9493   }
9494   {
9495     INT out_loadreg = -1;
9496     out_loadreg = FLD (out_fpf);
9497     cycles += model_u_load_dr_before (current_cpu, idesc, 5, out_loadreg);
9498   }
9499   {
9500     INT out_loadreg = -1;
9501     out_loadreg = FLD (out_fpf);
9502     cycles += model_u_load_fp_before (current_cpu, idesc, 6, out_loadreg);
9503   }
9504   {
9505     INT out_loadreg = -1;
9506     out_loadreg = FLD (out_fpf);
9507     cycles += model_u_load_fv_before (current_cpu, idesc, 7, out_loadreg);
9508   }
9509   {
9510     INT out_loadreg = -1;
9511     out_loadreg = FLD (out_fpf);
9512     cycles += model_u_load_mtrx_before (current_cpu, idesc, 8, out_loadreg);
9513   }
9514   return cycles;
9515 #undef FLD
9516 }
9517
9518 UINT
9519 sh5_media_sh5_media_model::model_fldxp_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
9520 {
9521 #define FLD(f) abuf->fields.sfmt_fldxp.f
9522   const sh5_media_scache* abuf = sem;
9523   const sh5_media_idesc* idesc = abuf->idesc;
9524   int cycles = 0;
9525   {
9526     int referenced = 0;
9527     unsigned long long insn_referenced = abuf->written;
9528     INT in_usereg = -1;
9529     in_usereg = FLD (in_rm);
9530     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9531   }
9532   {
9533     int referenced = 0;
9534     unsigned long long insn_referenced = abuf->written;
9535     INT in_usereg = -1;
9536     in_usereg = FLD (in_rn);
9537     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
9538   }
9539   {
9540     int referenced = 0;
9541     unsigned long long insn_referenced = abuf->written;
9542     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
9543   }
9544   {
9545     int referenced = 0;
9546     unsigned long long insn_referenced = abuf->written;
9547     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
9548   }
9549   {
9550     int referenced = 0;
9551     unsigned long long insn_referenced = abuf->written;
9552     INT out_loadreg = -1;
9553     out_loadreg = FLD (out_fpf);
9554     cycles += model_u_load_fr_after (current_cpu, idesc, 4, referenced, out_loadreg);
9555   }
9556   {
9557     int referenced = 0;
9558     unsigned long long insn_referenced = abuf->written;
9559     INT out_loadreg = -1;
9560     out_loadreg = FLD (out_fpf);
9561     cycles += model_u_load_dr_after (current_cpu, idesc, 5, referenced, out_loadreg);
9562   }
9563   {
9564     int referenced = 0;
9565     unsigned long long insn_referenced = abuf->written;
9566     INT out_loadreg = -1;
9567     out_loadreg = FLD (out_fpf);
9568     cycles += model_u_load_fp_after (current_cpu, idesc, 6, referenced, out_loadreg);
9569   }
9570   {
9571     int referenced = 0;
9572     unsigned long long insn_referenced = abuf->written;
9573     INT out_loadreg = -1;
9574     out_loadreg = FLD (out_fpf);
9575     cycles += model_u_load_fv_after (current_cpu, idesc, 7, referenced, out_loadreg);
9576   }
9577   {
9578     int referenced = 0;
9579     unsigned long long insn_referenced = abuf->written;
9580     INT out_loadreg = -1;
9581     out_loadreg = FLD (out_fpf);
9582     cycles += model_u_load_mtrx_after (current_cpu, idesc, 8, referenced, out_loadreg);
9583   }
9584   return cycles;
9585 #undef FLD
9586 }
9587
9588 UINT
9589 sh5_media_sh5_media_model::model_fldxs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
9590 {
9591 #define FLD(f) abuf->fields.sfmt_fldxs.f
9592   const sh5_media_scache* abuf = sem;
9593   const sh5_media_idesc* idesc = abuf->idesc;
9594   int cycles = 0;
9595   {
9596     INT in_usereg = -1;
9597     in_usereg = FLD (in_rm);
9598     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9599   }
9600   {
9601     INT in_usereg = -1;
9602     in_usereg = FLD (in_rn);
9603     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
9604   }
9605   {
9606     cycles += model_u_exec_before (current_cpu, idesc, 2);
9607   }
9608   {
9609     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
9610   }
9611   {
9612     INT out_loadreg = -1;
9613     out_loadreg = FLD (out_frf);
9614     cycles += model_u_load_fr_before (current_cpu, idesc, 4, out_loadreg);
9615   }
9616   {
9617     INT out_loadreg = -1;
9618     out_loadreg = FLD (out_frf);
9619     cycles += model_u_load_dr_before (current_cpu, idesc, 5, out_loadreg);
9620   }
9621   {
9622     INT out_loadreg = -1;
9623     out_loadreg = FLD (out_frf);
9624     cycles += model_u_load_fp_before (current_cpu, idesc, 6, out_loadreg);
9625   }
9626   {
9627     INT out_loadreg = -1;
9628     out_loadreg = FLD (out_frf);
9629     cycles += model_u_load_fv_before (current_cpu, idesc, 7, out_loadreg);
9630   }
9631   {
9632     INT out_loadreg = -1;
9633     out_loadreg = FLD (out_frf);
9634     cycles += model_u_load_mtrx_before (current_cpu, idesc, 8, out_loadreg);
9635   }
9636   return cycles;
9637 #undef FLD
9638 }
9639
9640 UINT
9641 sh5_media_sh5_media_model::model_fldxs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
9642 {
9643 #define FLD(f) abuf->fields.sfmt_fldxs.f
9644   const sh5_media_scache* abuf = sem;
9645   const sh5_media_idesc* idesc = abuf->idesc;
9646   int cycles = 0;
9647   {
9648     int referenced = 0;
9649     unsigned long long insn_referenced = abuf->written;
9650     INT in_usereg = -1;
9651     in_usereg = FLD (in_rm);
9652     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9653   }
9654   {
9655     int referenced = 0;
9656     unsigned long long insn_referenced = abuf->written;
9657     INT in_usereg = -1;
9658     in_usereg = FLD (in_rn);
9659     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
9660   }
9661   {
9662     int referenced = 0;
9663     unsigned long long insn_referenced = abuf->written;
9664     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
9665   }
9666   {
9667     int referenced = 0;
9668     unsigned long long insn_referenced = abuf->written;
9669     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
9670   }
9671   {
9672     int referenced = 0;
9673     unsigned long long insn_referenced = abuf->written;
9674     INT out_loadreg = -1;
9675     out_loadreg = FLD (out_frf);
9676     cycles += model_u_load_fr_after (current_cpu, idesc, 4, referenced, out_loadreg);
9677   }
9678   {
9679     int referenced = 0;
9680     unsigned long long insn_referenced = abuf->written;
9681     INT out_loadreg = -1;
9682     out_loadreg = FLD (out_frf);
9683     cycles += model_u_load_dr_after (current_cpu, idesc, 5, referenced, out_loadreg);
9684   }
9685   {
9686     int referenced = 0;
9687     unsigned long long insn_referenced = abuf->written;
9688     INT out_loadreg = -1;
9689     out_loadreg = FLD (out_frf);
9690     cycles += model_u_load_fp_after (current_cpu, idesc, 6, referenced, out_loadreg);
9691   }
9692   {
9693     int referenced = 0;
9694     unsigned long long insn_referenced = abuf->written;
9695     INT out_loadreg = -1;
9696     out_loadreg = FLD (out_frf);
9697     cycles += model_u_load_fv_after (current_cpu, idesc, 7, referenced, out_loadreg);
9698   }
9699   {
9700     int referenced = 0;
9701     unsigned long long insn_referenced = abuf->written;
9702     INT out_loadreg = -1;
9703     out_loadreg = FLD (out_frf);
9704     cycles += model_u_load_mtrx_after (current_cpu, idesc, 8, referenced, out_loadreg);
9705   }
9706   return cycles;
9707 #undef FLD
9708 }
9709
9710 UINT
9711 sh5_media_sh5_media_model::model_floatld_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
9712 {
9713 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
9714   const sh5_media_scache* abuf = sem;
9715   const sh5_media_idesc* idesc = abuf->idesc;
9716   int cycles = 0;
9717   {
9718     INT in_usereg = -1;
9719     in_usereg = FLD (in_frgh);
9720     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
9721   }
9722   {
9723     cycles += model_u_fpu_before (current_cpu, idesc, 1);
9724   }
9725   {
9726     INT out_loadreg = -1;
9727     out_loadreg = FLD (out_drf);
9728     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
9729   }
9730   {
9731     INT out_loadreg = -1;
9732     out_loadreg = FLD (out_drf);
9733     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
9734   }
9735   {
9736     INT out_loadreg = -1;
9737     out_loadreg = FLD (out_drf);
9738     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
9739   }
9740   {
9741     INT out_loadreg = -1;
9742     out_loadreg = FLD (out_drf);
9743     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
9744   }
9745   {
9746     INT out_loadreg = -1;
9747     out_loadreg = FLD (out_drf);
9748     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
9749   }
9750   return cycles;
9751 #undef FLD
9752 }
9753
9754 UINT
9755 sh5_media_sh5_media_model::model_floatld_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
9756 {
9757 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
9758   const sh5_media_scache* abuf = sem;
9759   const sh5_media_idesc* idesc = abuf->idesc;
9760   int cycles = 0;
9761   {
9762     int referenced = 0;
9763     unsigned long long insn_referenced = abuf->written;
9764     INT in_usereg = -1;
9765     in_usereg = FLD (in_frgh);
9766     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
9767   }
9768   {
9769     int referenced = 0;
9770     unsigned long long insn_referenced = abuf->written;
9771     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
9772   }
9773   {
9774     int referenced = 0;
9775     unsigned long long insn_referenced = abuf->written;
9776     INT out_loadreg = -1;
9777     out_loadreg = FLD (out_drf);
9778     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
9779   }
9780   {
9781     int referenced = 0;
9782     unsigned long long insn_referenced = abuf->written;
9783     INT out_loadreg = -1;
9784     out_loadreg = FLD (out_drf);
9785     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
9786   }
9787   {
9788     int referenced = 0;
9789     unsigned long long insn_referenced = abuf->written;
9790     INT out_loadreg = -1;
9791     out_loadreg = FLD (out_drf);
9792     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
9793   }
9794   {
9795     int referenced = 0;
9796     unsigned long long insn_referenced = abuf->written;
9797     INT out_loadreg = -1;
9798     out_loadreg = FLD (out_drf);
9799     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
9800   }
9801   {
9802     int referenced = 0;
9803     unsigned long long insn_referenced = abuf->written;
9804     INT out_loadreg = -1;
9805     out_loadreg = FLD (out_drf);
9806     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
9807   }
9808   return cycles;
9809 #undef FLD
9810 }
9811
9812 UINT
9813 sh5_media_sh5_media_model::model_floatls_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
9814 {
9815 #define FLD(f) abuf->fields.sfmt_fabss.f
9816   const sh5_media_scache* abuf = sem;
9817   const sh5_media_idesc* idesc = abuf->idesc;
9818   int cycles = 0;
9819   {
9820     INT in_usereg = -1;
9821     in_usereg = FLD (in_frgh);
9822     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
9823   }
9824   {
9825     cycles += model_u_fpu_before (current_cpu, idesc, 1);
9826   }
9827   {
9828     INT out_loadreg = -1;
9829     out_loadreg = FLD (out_frf);
9830     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
9831   }
9832   {
9833     INT out_loadreg = -1;
9834     out_loadreg = FLD (out_frf);
9835     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
9836   }
9837   {
9838     INT out_loadreg = -1;
9839     out_loadreg = FLD (out_frf);
9840     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
9841   }
9842   {
9843     INT out_loadreg = -1;
9844     out_loadreg = FLD (out_frf);
9845     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
9846   }
9847   {
9848     INT out_loadreg = -1;
9849     out_loadreg = FLD (out_frf);
9850     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
9851   }
9852   return cycles;
9853 #undef FLD
9854 }
9855
9856 UINT
9857 sh5_media_sh5_media_model::model_floatls_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
9858 {
9859 #define FLD(f) abuf->fields.sfmt_fabss.f
9860   const sh5_media_scache* abuf = sem;
9861   const sh5_media_idesc* idesc = abuf->idesc;
9862   int cycles = 0;
9863   {
9864     int referenced = 0;
9865     unsigned long long insn_referenced = abuf->written;
9866     INT in_usereg = -1;
9867     in_usereg = FLD (in_frgh);
9868     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
9869   }
9870   {
9871     int referenced = 0;
9872     unsigned long long insn_referenced = abuf->written;
9873     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
9874   }
9875   {
9876     int referenced = 0;
9877     unsigned long long insn_referenced = abuf->written;
9878     INT out_loadreg = -1;
9879     out_loadreg = FLD (out_frf);
9880     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
9881   }
9882   {
9883     int referenced = 0;
9884     unsigned long long insn_referenced = abuf->written;
9885     INT out_loadreg = -1;
9886     out_loadreg = FLD (out_frf);
9887     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
9888   }
9889   {
9890     int referenced = 0;
9891     unsigned long long insn_referenced = abuf->written;
9892     INT out_loadreg = -1;
9893     out_loadreg = FLD (out_frf);
9894     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
9895   }
9896   {
9897     int referenced = 0;
9898     unsigned long long insn_referenced = abuf->written;
9899     INT out_loadreg = -1;
9900     out_loadreg = FLD (out_frf);
9901     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
9902   }
9903   {
9904     int referenced = 0;
9905     unsigned long long insn_referenced = abuf->written;
9906     INT out_loadreg = -1;
9907     out_loadreg = FLD (out_frf);
9908     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
9909   }
9910   return cycles;
9911 #undef FLD
9912 }
9913
9914 UINT
9915 sh5_media_sh5_media_model::model_floatqd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
9916 {
9917 #define FLD(f) abuf->fields.sfmt_fabsd.f
9918   const sh5_media_scache* abuf = sem;
9919   const sh5_media_idesc* idesc = abuf->idesc;
9920   int cycles = 0;
9921   {
9922     INT in_usereg = -1;
9923     in_usereg = FLD (in_drgh);
9924     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
9925   }
9926   {
9927     cycles += model_u_fpu_before (current_cpu, idesc, 1);
9928   }
9929   {
9930     INT out_loadreg = -1;
9931     out_loadreg = FLD (out_drf);
9932     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
9933   }
9934   {
9935     INT out_loadreg = -1;
9936     out_loadreg = FLD (out_drf);
9937     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
9938   }
9939   {
9940     INT out_loadreg = -1;
9941     out_loadreg = FLD (out_drf);
9942     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
9943   }
9944   {
9945     INT out_loadreg = -1;
9946     out_loadreg = FLD (out_drf);
9947     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
9948   }
9949   {
9950     INT out_loadreg = -1;
9951     out_loadreg = FLD (out_drf);
9952     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
9953   }
9954   return cycles;
9955 #undef FLD
9956 }
9957
9958 UINT
9959 sh5_media_sh5_media_model::model_floatqd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
9960 {
9961 #define FLD(f) abuf->fields.sfmt_fabsd.f
9962   const sh5_media_scache* abuf = sem;
9963   const sh5_media_idesc* idesc = abuf->idesc;
9964   int cycles = 0;
9965   {
9966     int referenced = 0;
9967     unsigned long long insn_referenced = abuf->written;
9968     INT in_usereg = -1;
9969     in_usereg = FLD (in_drgh);
9970     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
9971   }
9972   {
9973     int referenced = 0;
9974     unsigned long long insn_referenced = abuf->written;
9975     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
9976   }
9977   {
9978     int referenced = 0;
9979     unsigned long long insn_referenced = abuf->written;
9980     INT out_loadreg = -1;
9981     out_loadreg = FLD (out_drf);
9982     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
9983   }
9984   {
9985     int referenced = 0;
9986     unsigned long long insn_referenced = abuf->written;
9987     INT out_loadreg = -1;
9988     out_loadreg = FLD (out_drf);
9989     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
9990   }
9991   {
9992     int referenced = 0;
9993     unsigned long long insn_referenced = abuf->written;
9994     INT out_loadreg = -1;
9995     out_loadreg = FLD (out_drf);
9996     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
9997   }
9998   {
9999     int referenced = 0;
10000     unsigned long long insn_referenced = abuf->written;
10001     INT out_loadreg = -1;
10002     out_loadreg = FLD (out_drf);
10003     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
10004   }
10005   {
10006     int referenced = 0;
10007     unsigned long long insn_referenced = abuf->written;
10008     INT out_loadreg = -1;
10009     out_loadreg = FLD (out_drf);
10010     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
10011   }
10012   return cycles;
10013 #undef FLD
10014 }
10015
10016 UINT
10017 sh5_media_sh5_media_model::model_floatqs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
10018 {
10019 #define FLD(f) abuf->fields.sfmt_fcnvds.f
10020   const sh5_media_scache* abuf = sem;
10021   const sh5_media_idesc* idesc = abuf->idesc;
10022   int cycles = 0;
10023   {
10024     INT in_usereg = -1;
10025     in_usereg = FLD (in_drgh);
10026     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
10027   }
10028   {
10029     cycles += model_u_fpu_before (current_cpu, idesc, 1);
10030   }
10031   {
10032     INT out_loadreg = -1;
10033     out_loadreg = FLD (out_frf);
10034     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
10035   }
10036   {
10037     INT out_loadreg = -1;
10038     out_loadreg = FLD (out_frf);
10039     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
10040   }
10041   {
10042     INT out_loadreg = -1;
10043     out_loadreg = FLD (out_frf);
10044     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
10045   }
10046   {
10047     INT out_loadreg = -1;
10048     out_loadreg = FLD (out_frf);
10049     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
10050   }
10051   {
10052     INT out_loadreg = -1;
10053     out_loadreg = FLD (out_frf);
10054     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
10055   }
10056   return cycles;
10057 #undef FLD
10058 }
10059
10060 UINT
10061 sh5_media_sh5_media_model::model_floatqs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
10062 {
10063 #define FLD(f) abuf->fields.sfmt_fcnvds.f
10064   const sh5_media_scache* abuf = sem;
10065   const sh5_media_idesc* idesc = abuf->idesc;
10066   int cycles = 0;
10067   {
10068     int referenced = 0;
10069     unsigned long long insn_referenced = abuf->written;
10070     INT in_usereg = -1;
10071     in_usereg = FLD (in_drgh);
10072     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
10073   }
10074   {
10075     int referenced = 0;
10076     unsigned long long insn_referenced = abuf->written;
10077     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
10078   }
10079   {
10080     int referenced = 0;
10081     unsigned long long insn_referenced = abuf->written;
10082     INT out_loadreg = -1;
10083     out_loadreg = FLD (out_frf);
10084     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
10085   }
10086   {
10087     int referenced = 0;
10088     unsigned long long insn_referenced = abuf->written;
10089     INT out_loadreg = -1;
10090     out_loadreg = FLD (out_frf);
10091     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
10092   }
10093   {
10094     int referenced = 0;
10095     unsigned long long insn_referenced = abuf->written;
10096     INT out_loadreg = -1;
10097     out_loadreg = FLD (out_frf);
10098     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
10099   }
10100   {
10101     int referenced = 0;
10102     unsigned long long insn_referenced = abuf->written;
10103     INT out_loadreg = -1;
10104     out_loadreg = FLD (out_frf);
10105     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
10106   }
10107   {
10108     int referenced = 0;
10109     unsigned long long insn_referenced = abuf->written;
10110     INT out_loadreg = -1;
10111     out_loadreg = FLD (out_frf);
10112     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
10113   }
10114   return cycles;
10115 #undef FLD
10116 }
10117
10118 UINT
10119 sh5_media_sh5_media_model::model_fmacs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
10120 {
10121 #define FLD(f) abuf->fields.sfmt_fmacs.f
10122   const sh5_media_scache* abuf = sem;
10123   const sh5_media_idesc* idesc = abuf->idesc;
10124   int cycles = 0;
10125   {
10126     INT in_usereg = -1;
10127     in_usereg = FLD (in_frg);
10128     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
10129   }
10130   {
10131     INT in_usereg = -1;
10132     in_usereg = FLD (in_frh);
10133     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
10134   }
10135   {
10136     INT in_usereg = -1;
10137     in_usereg = FLD (in_frf);
10138     cycles += model_u_use_fr_before (current_cpu, idesc, 2, in_usereg);
10139   }
10140   {
10141     cycles += model_u_fpu_before (current_cpu, idesc, 3);
10142   }
10143   {
10144     INT out_loadreg = -1;
10145     out_loadreg = FLD (out_frf);
10146     cycles += model_u_set_fr_before (current_cpu, idesc, 4, out_loadreg);
10147   }
10148   {
10149     INT out_loadreg = -1;
10150     out_loadreg = FLD (out_frf);
10151     cycles += model_u_set_dr_before (current_cpu, idesc, 5, out_loadreg);
10152   }
10153   {
10154     INT out_loadreg = -1;
10155     out_loadreg = FLD (out_frf);
10156     cycles += model_u_set_fp_before (current_cpu, idesc, 6, out_loadreg);
10157   }
10158   {
10159     INT out_loadreg = -1;
10160     out_loadreg = FLD (out_frf);
10161     cycles += model_u_set_fv_before (current_cpu, idesc, 7, out_loadreg);
10162   }
10163   {
10164     INT out_loadreg = -1;
10165     out_loadreg = FLD (out_frf);
10166     cycles += model_u_set_mtrx_before (current_cpu, idesc, 8, out_loadreg);
10167   }
10168   return cycles;
10169 #undef FLD
10170 }
10171
10172 UINT
10173 sh5_media_sh5_media_model::model_fmacs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
10174 {
10175 #define FLD(f) abuf->fields.sfmt_fmacs.f
10176   const sh5_media_scache* abuf = sem;
10177   const sh5_media_idesc* idesc = abuf->idesc;
10178   int cycles = 0;
10179   {
10180     int referenced = 0;
10181     unsigned long long insn_referenced = abuf->written;
10182     INT in_usereg = -1;
10183     in_usereg = FLD (in_frg);
10184     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
10185   }
10186   {
10187     int referenced = 0;
10188     unsigned long long insn_referenced = abuf->written;
10189     INT in_usereg = -1;
10190     in_usereg = FLD (in_frh);
10191     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
10192   }
10193   {
10194     int referenced = 0;
10195     unsigned long long insn_referenced = abuf->written;
10196     INT in_usereg = -1;
10197     in_usereg = FLD (in_frf);
10198     cycles += model_u_use_fr_after (current_cpu, idesc, 2, referenced, in_usereg);
10199   }
10200   {
10201     int referenced = 0;
10202     unsigned long long insn_referenced = abuf->written;
10203     cycles += model_u_fpu_after (current_cpu, idesc, 3, referenced);
10204   }
10205   {
10206     int referenced = 0;
10207     unsigned long long insn_referenced = abuf->written;
10208     INT out_loadreg = -1;
10209     out_loadreg = FLD (out_frf);
10210     cycles += model_u_set_fr_after (current_cpu, idesc, 4, referenced, out_loadreg);
10211   }
10212   {
10213     int referenced = 0;
10214     unsigned long long insn_referenced = abuf->written;
10215     INT out_loadreg = -1;
10216     out_loadreg = FLD (out_frf);
10217     cycles += model_u_set_dr_after (current_cpu, idesc, 5, referenced, out_loadreg);
10218   }
10219   {
10220     int referenced = 0;
10221     unsigned long long insn_referenced = abuf->written;
10222     INT out_loadreg = -1;
10223     out_loadreg = FLD (out_frf);
10224     cycles += model_u_set_fp_after (current_cpu, idesc, 6, referenced, out_loadreg);
10225   }
10226   {
10227     int referenced = 0;
10228     unsigned long long insn_referenced = abuf->written;
10229     INT out_loadreg = -1;
10230     out_loadreg = FLD (out_frf);
10231     cycles += model_u_set_fv_after (current_cpu, idesc, 7, referenced, out_loadreg);
10232   }
10233   {
10234     int referenced = 0;
10235     unsigned long long insn_referenced = abuf->written;
10236     INT out_loadreg = -1;
10237     out_loadreg = FLD (out_frf);
10238     cycles += model_u_set_mtrx_after (current_cpu, idesc, 8, referenced, out_loadreg);
10239   }
10240   return cycles;
10241 #undef FLD
10242 }
10243
10244 UINT
10245 sh5_media_sh5_media_model::model_fmovd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
10246 {
10247 #define FLD(f) abuf->fields.sfmt_fabsd.f
10248   const sh5_media_scache* abuf = sem;
10249   const sh5_media_idesc* idesc = abuf->idesc;
10250   int cycles = 0;
10251   {
10252     INT in_usereg = -1;
10253     in_usereg = FLD (in_drgh);
10254     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
10255   }
10256   {
10257     cycles += model_u_fpu_before (current_cpu, idesc, 1);
10258   }
10259   {
10260     INT out_loadreg = -1;
10261     out_loadreg = FLD (out_drf);
10262     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
10263   }
10264   {
10265     INT out_loadreg = -1;
10266     out_loadreg = FLD (out_drf);
10267     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
10268   }
10269   {
10270     INT out_loadreg = -1;
10271     out_loadreg = FLD (out_drf);
10272     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
10273   }
10274   {
10275     INT out_loadreg = -1;
10276     out_loadreg = FLD (out_drf);
10277     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
10278   }
10279   {
10280     INT out_loadreg = -1;
10281     out_loadreg = FLD (out_drf);
10282     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
10283   }
10284   return cycles;
10285 #undef FLD
10286 }
10287
10288 UINT
10289 sh5_media_sh5_media_model::model_fmovd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
10290 {
10291 #define FLD(f) abuf->fields.sfmt_fabsd.f
10292   const sh5_media_scache* abuf = sem;
10293   const sh5_media_idesc* idesc = abuf->idesc;
10294   int cycles = 0;
10295   {
10296     int referenced = 0;
10297     unsigned long long insn_referenced = abuf->written;
10298     INT in_usereg = -1;
10299     in_usereg = FLD (in_drgh);
10300     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
10301   }
10302   {
10303     int referenced = 0;
10304     unsigned long long insn_referenced = abuf->written;
10305     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
10306   }
10307   {
10308     int referenced = 0;
10309     unsigned long long insn_referenced = abuf->written;
10310     INT out_loadreg = -1;
10311     out_loadreg = FLD (out_drf);
10312     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
10313   }
10314   {
10315     int referenced = 0;
10316     unsigned long long insn_referenced = abuf->written;
10317     INT out_loadreg = -1;
10318     out_loadreg = FLD (out_drf);
10319     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
10320   }
10321   {
10322     int referenced = 0;
10323     unsigned long long insn_referenced = abuf->written;
10324     INT out_loadreg = -1;
10325     out_loadreg = FLD (out_drf);
10326     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
10327   }
10328   {
10329     int referenced = 0;
10330     unsigned long long insn_referenced = abuf->written;
10331     INT out_loadreg = -1;
10332     out_loadreg = FLD (out_drf);
10333     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
10334   }
10335   {
10336     int referenced = 0;
10337     unsigned long long insn_referenced = abuf->written;
10338     INT out_loadreg = -1;
10339     out_loadreg = FLD (out_drf);
10340     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
10341   }
10342   return cycles;
10343 #undef FLD
10344 }
10345
10346 UINT
10347 sh5_media_sh5_media_model::model_fmovdq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
10348 {
10349 #define FLD(f) abuf->fields.sfmt_fmovdq.f
10350   const sh5_media_scache* abuf = sem;
10351   const sh5_media_idesc* idesc = abuf->idesc;
10352   int cycles = 0;
10353   {
10354     cycles += model_u_fpu_before (current_cpu, idesc, 0);
10355   }
10356   {
10357     INT out_loadreg = -1;
10358     out_loadreg = FLD (out_rd);
10359     cycles += model_u_set_gr_before (current_cpu, idesc, 1, out_loadreg);
10360   }
10361   return cycles;
10362 #undef FLD
10363 }
10364
10365 UINT
10366 sh5_media_sh5_media_model::model_fmovdq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
10367 {
10368 #define FLD(f) abuf->fields.sfmt_fmovdq.f
10369   const sh5_media_scache* abuf = sem;
10370   const sh5_media_idesc* idesc = abuf->idesc;
10371   int cycles = 0;
10372   {
10373     int referenced = 0;
10374     unsigned long long insn_referenced = abuf->written;
10375     cycles += model_u_fpu_after (current_cpu, idesc, 0, referenced);
10376   }
10377   {
10378     int referenced = 0;
10379     unsigned long long insn_referenced = abuf->written;
10380     INT out_loadreg = -1;
10381     out_loadreg = FLD (out_rd);
10382     cycles += model_u_set_gr_after (current_cpu, idesc, 1, referenced, out_loadreg);
10383   }
10384   return cycles;
10385 #undef FLD
10386 }
10387
10388 UINT
10389 sh5_media_sh5_media_model::model_fmovls_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
10390 {
10391 #define FLD(f) abuf->fields.sfmt_flds.f
10392   const sh5_media_scache* abuf = sem;
10393   const sh5_media_idesc* idesc = abuf->idesc;
10394   int cycles = 0;
10395   {
10396     INT in_usereg = -1;
10397     in_usereg = FLD (in_rm);
10398     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
10399   }
10400   {
10401     cycles += model_u_fpu_before (current_cpu, idesc, 1);
10402   }
10403   {
10404     INT out_loadreg = -1;
10405     out_loadreg = FLD (out_frf);
10406     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
10407   }
10408   {
10409     INT out_loadreg = -1;
10410     out_loadreg = FLD (out_frf);
10411     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
10412   }
10413   {
10414     INT out_loadreg = -1;
10415     out_loadreg = FLD (out_frf);
10416     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
10417   }
10418   {
10419     INT out_loadreg = -1;
10420     out_loadreg = FLD (out_frf);
10421     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
10422   }
10423   {
10424     INT out_loadreg = -1;
10425     out_loadreg = FLD (out_frf);
10426     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
10427   }
10428   return cycles;
10429 #undef FLD
10430 }
10431
10432 UINT
10433 sh5_media_sh5_media_model::model_fmovls_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
10434 {
10435 #define FLD(f) abuf->fields.sfmt_flds.f
10436   const sh5_media_scache* abuf = sem;
10437   const sh5_media_idesc* idesc = abuf->idesc;
10438   int cycles = 0;
10439   {
10440     int referenced = 0;
10441     unsigned long long insn_referenced = abuf->written;
10442     INT in_usereg = -1;
10443     in_usereg = FLD (in_rm);
10444     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
10445   }
10446   {
10447     int referenced = 0;
10448     unsigned long long insn_referenced = abuf->written;
10449     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
10450   }
10451   {
10452     int referenced = 0;
10453     unsigned long long insn_referenced = abuf->written;
10454     INT out_loadreg = -1;
10455     out_loadreg = FLD (out_frf);
10456     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
10457   }
10458   {
10459     int referenced = 0;
10460     unsigned long long insn_referenced = abuf->written;
10461     INT out_loadreg = -1;
10462     out_loadreg = FLD (out_frf);
10463     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
10464   }
10465   {
10466     int referenced = 0;
10467     unsigned long long insn_referenced = abuf->written;
10468     INT out_loadreg = -1;
10469     out_loadreg = FLD (out_frf);
10470     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
10471   }
10472   {
10473     int referenced = 0;
10474     unsigned long long insn_referenced = abuf->written;
10475     INT out_loadreg = -1;
10476     out_loadreg = FLD (out_frf);
10477     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
10478   }
10479   {
10480     int referenced = 0;
10481     unsigned long long insn_referenced = abuf->written;
10482     INT out_loadreg = -1;
10483     out_loadreg = FLD (out_frf);
10484     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
10485   }
10486   return cycles;
10487 #undef FLD
10488 }
10489
10490 UINT
10491 sh5_media_sh5_media_model::model_fmovqd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
10492 {
10493 #define FLD(f) abuf->fields.sfmt_fldd.f
10494   const sh5_media_scache* abuf = sem;
10495   const sh5_media_idesc* idesc = abuf->idesc;
10496   int cycles = 0;
10497   {
10498     INT in_usereg = -1;
10499     in_usereg = FLD (in_rm);
10500     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
10501   }
10502   {
10503     cycles += model_u_fpu_before (current_cpu, idesc, 1);
10504   }
10505   {
10506     INT out_loadreg = -1;
10507     out_loadreg = FLD (out_drf);
10508     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
10509   }
10510   {
10511     INT out_loadreg = -1;
10512     out_loadreg = FLD (out_drf);
10513     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
10514   }
10515   {
10516     INT out_loadreg = -1;
10517     out_loadreg = FLD (out_drf);
10518     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
10519   }
10520   {
10521     INT out_loadreg = -1;
10522     out_loadreg = FLD (out_drf);
10523     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
10524   }
10525   {
10526     INT out_loadreg = -1;
10527     out_loadreg = FLD (out_drf);
10528     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
10529   }
10530   return cycles;
10531 #undef FLD
10532 }
10533
10534 UINT
10535 sh5_media_sh5_media_model::model_fmovqd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
10536 {
10537 #define FLD(f) abuf->fields.sfmt_fldd.f
10538   const sh5_media_scache* abuf = sem;
10539   const sh5_media_idesc* idesc = abuf->idesc;
10540   int cycles = 0;
10541   {
10542     int referenced = 0;
10543     unsigned long long insn_referenced = abuf->written;
10544     INT in_usereg = -1;
10545     in_usereg = FLD (in_rm);
10546     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
10547   }
10548   {
10549     int referenced = 0;
10550     unsigned long long insn_referenced = abuf->written;
10551     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
10552   }
10553   {
10554     int referenced = 0;
10555     unsigned long long insn_referenced = abuf->written;
10556     INT out_loadreg = -1;
10557     out_loadreg = FLD (out_drf);
10558     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
10559   }
10560   {
10561     int referenced = 0;
10562     unsigned long long insn_referenced = abuf->written;
10563     INT out_loadreg = -1;
10564     out_loadreg = FLD (out_drf);
10565     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
10566   }
10567   {
10568     int referenced = 0;
10569     unsigned long long insn_referenced = abuf->written;
10570     INT out_loadreg = -1;
10571     out_loadreg = FLD (out_drf);
10572     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
10573   }
10574   {
10575     int referenced = 0;
10576     unsigned long long insn_referenced = abuf->written;
10577     INT out_loadreg = -1;
10578     out_loadreg = FLD (out_drf);
10579     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
10580   }
10581   {
10582     int referenced = 0;
10583     unsigned long long insn_referenced = abuf->written;
10584     INT out_loadreg = -1;
10585     out_loadreg = FLD (out_drf);
10586     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
10587   }
10588   return cycles;
10589 #undef FLD
10590 }
10591
10592 UINT
10593 sh5_media_sh5_media_model::model_fmovs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
10594 {
10595 #define FLD(f) abuf->fields.sfmt_fabss.f
10596   const sh5_media_scache* abuf = sem;
10597   const sh5_media_idesc* idesc = abuf->idesc;
10598   int cycles = 0;
10599   {
10600     INT in_usereg = -1;
10601     in_usereg = FLD (in_frgh);
10602     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
10603   }
10604   {
10605     cycles += model_u_fpu_before (current_cpu, idesc, 1);
10606   }
10607   {
10608     INT out_loadreg = -1;
10609     out_loadreg = FLD (out_frf);
10610     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
10611   }
10612   {
10613     INT out_loadreg = -1;
10614     out_loadreg = FLD (out_frf);
10615     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
10616   }
10617   {
10618     INT out_loadreg = -1;
10619     out_loadreg = FLD (out_frf);
10620     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
10621   }
10622   {
10623     INT out_loadreg = -1;
10624     out_loadreg = FLD (out_frf);
10625     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
10626   }
10627   {
10628     INT out_loadreg = -1;
10629     out_loadreg = FLD (out_frf);
10630     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
10631   }
10632   return cycles;
10633 #undef FLD
10634 }
10635
10636 UINT
10637 sh5_media_sh5_media_model::model_fmovs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
10638 {
10639 #define FLD(f) abuf->fields.sfmt_fabss.f
10640   const sh5_media_scache* abuf = sem;
10641   const sh5_media_idesc* idesc = abuf->idesc;
10642   int cycles = 0;
10643   {
10644     int referenced = 0;
10645     unsigned long long insn_referenced = abuf->written;
10646     INT in_usereg = -1;
10647     in_usereg = FLD (in_frgh);
10648     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
10649   }
10650   {
10651     int referenced = 0;
10652     unsigned long long insn_referenced = abuf->written;
10653     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
10654   }
10655   {
10656     int referenced = 0;
10657     unsigned long long insn_referenced = abuf->written;
10658     INT out_loadreg = -1;
10659     out_loadreg = FLD (out_frf);
10660     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
10661   }
10662   {
10663     int referenced = 0;
10664     unsigned long long insn_referenced = abuf->written;
10665     INT out_loadreg = -1;
10666     out_loadreg = FLD (out_frf);
10667     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
10668   }
10669   {
10670     int referenced = 0;
10671     unsigned long long insn_referenced = abuf->written;
10672     INT out_loadreg = -1;
10673     out_loadreg = FLD (out_frf);
10674     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
10675   }
10676   {
10677     int referenced = 0;
10678     unsigned long long insn_referenced = abuf->written;
10679     INT out_loadreg = -1;
10680     out_loadreg = FLD (out_frf);
10681     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
10682   }
10683   {
10684     int referenced = 0;
10685     unsigned long long insn_referenced = abuf->written;
10686     INT out_loadreg = -1;
10687     out_loadreg = FLD (out_frf);
10688     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
10689   }
10690   return cycles;
10691 #undef FLD
10692 }
10693
10694 UINT
10695 sh5_media_sh5_media_model::model_fmovsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
10696 {
10697 #define FLD(f) abuf->fields.sfmt_fmovsl.f
10698   const sh5_media_scache* abuf = sem;
10699   const sh5_media_idesc* idesc = abuf->idesc;
10700   int cycles = 0;
10701   {
10702     INT in_usereg = -1;
10703     in_usereg = FLD (in_frgh);
10704     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
10705   }
10706   {
10707     cycles += model_u_fpu_before (current_cpu, idesc, 1);
10708   }
10709   {
10710     INT out_loadreg = -1;
10711     out_loadreg = FLD (out_rd);
10712     cycles += model_u_set_gr_before (current_cpu, idesc, 2, out_loadreg);
10713   }
10714   return cycles;
10715 #undef FLD
10716 }
10717
10718 UINT
10719 sh5_media_sh5_media_model::model_fmovsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
10720 {
10721 #define FLD(f) abuf->fields.sfmt_fmovsl.f
10722   const sh5_media_scache* abuf = sem;
10723   const sh5_media_idesc* idesc = abuf->idesc;
10724   int cycles = 0;
10725   {
10726     int referenced = 0;
10727     unsigned long long insn_referenced = abuf->written;
10728     INT in_usereg = -1;
10729     in_usereg = FLD (in_frgh);
10730     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
10731   }
10732   {
10733     int referenced = 0;
10734     unsigned long long insn_referenced = abuf->written;
10735     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
10736   }
10737   {
10738     int referenced = 0;
10739     unsigned long long insn_referenced = abuf->written;
10740     INT out_loadreg = -1;
10741     out_loadreg = FLD (out_rd);
10742     cycles += model_u_set_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
10743   }
10744   return cycles;
10745 #undef FLD
10746 }
10747
10748 UINT
10749 sh5_media_sh5_media_model::model_fmuld_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
10750 {
10751 #define FLD(f) abuf->fields.sfmt_faddd.f
10752   const sh5_media_scache* abuf = sem;
10753   const sh5_media_idesc* idesc = abuf->idesc;
10754   int cycles = 0;
10755   {
10756     INT in_usereg = -1;
10757     in_usereg = FLD (in_drg);
10758     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
10759   }
10760   {
10761     INT in_usereg = -1;
10762     in_usereg = FLD (in_drh);
10763     cycles += model_u_use_dr_before (current_cpu, idesc, 1, in_usereg);
10764   }
10765   {
10766     cycles += model_u_fpu_before (current_cpu, idesc, 2);
10767   }
10768   {
10769     INT out_loadreg = -1;
10770     out_loadreg = FLD (out_drf);
10771     cycles += model_u_set_fr_before (current_cpu, idesc, 3, out_loadreg);
10772   }
10773   {
10774     INT out_loadreg = -1;
10775     out_loadreg = FLD (out_drf);
10776     cycles += model_u_set_dr_before (current_cpu, idesc, 4, out_loadreg);
10777   }
10778   {
10779     INT out_loadreg = -1;
10780     out_loadreg = FLD (out_drf);
10781     cycles += model_u_set_fp_before (current_cpu, idesc, 5, out_loadreg);
10782   }
10783   {
10784     INT out_loadreg = -1;
10785     out_loadreg = FLD (out_drf);
10786     cycles += model_u_set_fv_before (current_cpu, idesc, 6, out_loadreg);
10787   }
10788   {
10789     INT out_loadreg = -1;
10790     out_loadreg = FLD (out_drf);
10791     cycles += model_u_set_mtrx_before (current_cpu, idesc, 7, out_loadreg);
10792   }
10793   return cycles;
10794 #undef FLD
10795 }
10796
10797 UINT
10798 sh5_media_sh5_media_model::model_fmuld_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
10799 {
10800 #define FLD(f) abuf->fields.sfmt_faddd.f
10801   const sh5_media_scache* abuf = sem;
10802   const sh5_media_idesc* idesc = abuf->idesc;
10803   int cycles = 0;
10804   {
10805     int referenced = 0;
10806     unsigned long long insn_referenced = abuf->written;
10807     INT in_usereg = -1;
10808     in_usereg = FLD (in_drg);
10809     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
10810   }
10811   {
10812     int referenced = 0;
10813     unsigned long long insn_referenced = abuf->written;
10814     INT in_usereg = -1;
10815     in_usereg = FLD (in_drh);
10816     cycles += model_u_use_dr_after (current_cpu, idesc, 1, referenced, in_usereg);
10817   }
10818   {
10819     int referenced = 0;
10820     unsigned long long insn_referenced = abuf->written;
10821     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
10822   }
10823   {
10824     int referenced = 0;
10825     unsigned long long insn_referenced = abuf->written;
10826     INT out_loadreg = -1;
10827     out_loadreg = FLD (out_drf);
10828     cycles += model_u_set_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
10829   }
10830   {
10831     int referenced = 0;
10832     unsigned long long insn_referenced = abuf->written;
10833     INT out_loadreg = -1;
10834     out_loadreg = FLD (out_drf);
10835     cycles += model_u_set_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
10836   }
10837   {
10838     int referenced = 0;
10839     unsigned long long insn_referenced = abuf->written;
10840     INT out_loadreg = -1;
10841     out_loadreg = FLD (out_drf);
10842     cycles += model_u_set_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
10843   }
10844   {
10845     int referenced = 0;
10846     unsigned long long insn_referenced = abuf->written;
10847     INT out_loadreg = -1;
10848     out_loadreg = FLD (out_drf);
10849     cycles += model_u_set_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
10850   }
10851   {
10852     int referenced = 0;
10853     unsigned long long insn_referenced = abuf->written;
10854     INT out_loadreg = -1;
10855     out_loadreg = FLD (out_drf);
10856     cycles += model_u_set_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
10857   }
10858   return cycles;
10859 #undef FLD
10860 }
10861
10862 UINT
10863 sh5_media_sh5_media_model::model_fmuls_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
10864 {
10865 #define FLD(f) abuf->fields.sfmt_fmacs.f
10866   const sh5_media_scache* abuf = sem;
10867   const sh5_media_idesc* idesc = abuf->idesc;
10868   int cycles = 0;
10869   {
10870     INT in_usereg = -1;
10871     in_usereg = FLD (in_frg);
10872     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
10873   }
10874   {
10875     INT in_usereg = -1;
10876     in_usereg = FLD (in_frh);
10877     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
10878   }
10879   {
10880     cycles += model_u_fpu_before (current_cpu, idesc, 2);
10881   }
10882   {
10883     INT out_loadreg = -1;
10884     out_loadreg = FLD (out_frf);
10885     cycles += model_u_set_fr_before (current_cpu, idesc, 3, out_loadreg);
10886   }
10887   {
10888     INT out_loadreg = -1;
10889     out_loadreg = FLD (out_frf);
10890     cycles += model_u_set_dr_before (current_cpu, idesc, 4, out_loadreg);
10891   }
10892   {
10893     INT out_loadreg = -1;
10894     out_loadreg = FLD (out_frf);
10895     cycles += model_u_set_fp_before (current_cpu, idesc, 5, out_loadreg);
10896   }
10897   {
10898     INT out_loadreg = -1;
10899     out_loadreg = FLD (out_frf);
10900     cycles += model_u_set_fv_before (current_cpu, idesc, 6, out_loadreg);
10901   }
10902   {
10903     INT out_loadreg = -1;
10904     out_loadreg = FLD (out_frf);
10905     cycles += model_u_set_mtrx_before (current_cpu, idesc, 7, out_loadreg);
10906   }
10907   return cycles;
10908 #undef FLD
10909 }
10910
10911 UINT
10912 sh5_media_sh5_media_model::model_fmuls_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
10913 {
10914 #define FLD(f) abuf->fields.sfmt_fmacs.f
10915   const sh5_media_scache* abuf = sem;
10916   const sh5_media_idesc* idesc = abuf->idesc;
10917   int cycles = 0;
10918   {
10919     int referenced = 0;
10920     unsigned long long insn_referenced = abuf->written;
10921     INT in_usereg = -1;
10922     in_usereg = FLD (in_frg);
10923     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
10924   }
10925   {
10926     int referenced = 0;
10927     unsigned long long insn_referenced = abuf->written;
10928     INT in_usereg = -1;
10929     in_usereg = FLD (in_frh);
10930     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
10931   }
10932   {
10933     int referenced = 0;
10934     unsigned long long insn_referenced = abuf->written;
10935     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
10936   }
10937   {
10938     int referenced = 0;
10939     unsigned long long insn_referenced = abuf->written;
10940     INT out_loadreg = -1;
10941     out_loadreg = FLD (out_frf);
10942     cycles += model_u_set_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
10943   }
10944   {
10945     int referenced = 0;
10946     unsigned long long insn_referenced = abuf->written;
10947     INT out_loadreg = -1;
10948     out_loadreg = FLD (out_frf);
10949     cycles += model_u_set_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
10950   }
10951   {
10952     int referenced = 0;
10953     unsigned long long insn_referenced = abuf->written;
10954     INT out_loadreg = -1;
10955     out_loadreg = FLD (out_frf);
10956     cycles += model_u_set_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
10957   }
10958   {
10959     int referenced = 0;
10960     unsigned long long insn_referenced = abuf->written;
10961     INT out_loadreg = -1;
10962     out_loadreg = FLD (out_frf);
10963     cycles += model_u_set_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
10964   }
10965   {
10966     int referenced = 0;
10967     unsigned long long insn_referenced = abuf->written;
10968     INT out_loadreg = -1;
10969     out_loadreg = FLD (out_frf);
10970     cycles += model_u_set_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
10971   }
10972   return cycles;
10973 #undef FLD
10974 }
10975
10976 UINT
10977 sh5_media_sh5_media_model::model_fnegd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
10978 {
10979 #define FLD(f) abuf->fields.sfmt_fabsd.f
10980   const sh5_media_scache* abuf = sem;
10981   const sh5_media_idesc* idesc = abuf->idesc;
10982   int cycles = 0;
10983   {
10984     INT in_usereg = -1;
10985     in_usereg = FLD (in_drgh);
10986     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
10987   }
10988   {
10989     cycles += model_u_fpu_before (current_cpu, idesc, 1);
10990   }
10991   {
10992     INT out_loadreg = -1;
10993     out_loadreg = FLD (out_drf);
10994     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
10995   }
10996   {
10997     INT out_loadreg = -1;
10998     out_loadreg = FLD (out_drf);
10999     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
11000   }
11001   {
11002     INT out_loadreg = -1;
11003     out_loadreg = FLD (out_drf);
11004     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
11005   }
11006   {
11007     INT out_loadreg = -1;
11008     out_loadreg = FLD (out_drf);
11009     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
11010   }
11011   {
11012     INT out_loadreg = -1;
11013     out_loadreg = FLD (out_drf);
11014     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
11015   }
11016   return cycles;
11017 #undef FLD
11018 }
11019
11020 UINT
11021 sh5_media_sh5_media_model::model_fnegd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11022 {
11023 #define FLD(f) abuf->fields.sfmt_fabsd.f
11024   const sh5_media_scache* abuf = sem;
11025   const sh5_media_idesc* idesc = abuf->idesc;
11026   int cycles = 0;
11027   {
11028     int referenced = 0;
11029     unsigned long long insn_referenced = abuf->written;
11030     INT in_usereg = -1;
11031     in_usereg = FLD (in_drgh);
11032     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
11033   }
11034   {
11035     int referenced = 0;
11036     unsigned long long insn_referenced = abuf->written;
11037     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
11038   }
11039   {
11040     int referenced = 0;
11041     unsigned long long insn_referenced = abuf->written;
11042     INT out_loadreg = -1;
11043     out_loadreg = FLD (out_drf);
11044     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
11045   }
11046   {
11047     int referenced = 0;
11048     unsigned long long insn_referenced = abuf->written;
11049     INT out_loadreg = -1;
11050     out_loadreg = FLD (out_drf);
11051     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
11052   }
11053   {
11054     int referenced = 0;
11055     unsigned long long insn_referenced = abuf->written;
11056     INT out_loadreg = -1;
11057     out_loadreg = FLD (out_drf);
11058     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
11059   }
11060   {
11061     int referenced = 0;
11062     unsigned long long insn_referenced = abuf->written;
11063     INT out_loadreg = -1;
11064     out_loadreg = FLD (out_drf);
11065     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
11066   }
11067   {
11068     int referenced = 0;
11069     unsigned long long insn_referenced = abuf->written;
11070     INT out_loadreg = -1;
11071     out_loadreg = FLD (out_drf);
11072     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
11073   }
11074   return cycles;
11075 #undef FLD
11076 }
11077
11078 UINT
11079 sh5_media_sh5_media_model::model_fnegs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11080 {
11081 #define FLD(f) abuf->fields.sfmt_fabss.f
11082   const sh5_media_scache* abuf = sem;
11083   const sh5_media_idesc* idesc = abuf->idesc;
11084   int cycles = 0;
11085   {
11086     INT in_usereg = -1;
11087     in_usereg = FLD (in_frgh);
11088     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
11089   }
11090   {
11091     cycles += model_u_fpu_before (current_cpu, idesc, 1);
11092   }
11093   {
11094     INT out_loadreg = -1;
11095     out_loadreg = FLD (out_frf);
11096     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
11097   }
11098   {
11099     INT out_loadreg = -1;
11100     out_loadreg = FLD (out_frf);
11101     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
11102   }
11103   {
11104     INT out_loadreg = -1;
11105     out_loadreg = FLD (out_frf);
11106     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
11107   }
11108   {
11109     INT out_loadreg = -1;
11110     out_loadreg = FLD (out_frf);
11111     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
11112   }
11113   {
11114     INT out_loadreg = -1;
11115     out_loadreg = FLD (out_frf);
11116     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
11117   }
11118   return cycles;
11119 #undef FLD
11120 }
11121
11122 UINT
11123 sh5_media_sh5_media_model::model_fnegs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11124 {
11125 #define FLD(f) abuf->fields.sfmt_fabss.f
11126   const sh5_media_scache* abuf = sem;
11127   const sh5_media_idesc* idesc = abuf->idesc;
11128   int cycles = 0;
11129   {
11130     int referenced = 0;
11131     unsigned long long insn_referenced = abuf->written;
11132     INT in_usereg = -1;
11133     in_usereg = FLD (in_frgh);
11134     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
11135   }
11136   {
11137     int referenced = 0;
11138     unsigned long long insn_referenced = abuf->written;
11139     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
11140   }
11141   {
11142     int referenced = 0;
11143     unsigned long long insn_referenced = abuf->written;
11144     INT out_loadreg = -1;
11145     out_loadreg = FLD (out_frf);
11146     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
11147   }
11148   {
11149     int referenced = 0;
11150     unsigned long long insn_referenced = abuf->written;
11151     INT out_loadreg = -1;
11152     out_loadreg = FLD (out_frf);
11153     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
11154   }
11155   {
11156     int referenced = 0;
11157     unsigned long long insn_referenced = abuf->written;
11158     INT out_loadreg = -1;
11159     out_loadreg = FLD (out_frf);
11160     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
11161   }
11162   {
11163     int referenced = 0;
11164     unsigned long long insn_referenced = abuf->written;
11165     INT out_loadreg = -1;
11166     out_loadreg = FLD (out_frf);
11167     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
11168   }
11169   {
11170     int referenced = 0;
11171     unsigned long long insn_referenced = abuf->written;
11172     INT out_loadreg = -1;
11173     out_loadreg = FLD (out_frf);
11174     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
11175   }
11176   return cycles;
11177 #undef FLD
11178 }
11179
11180 UINT
11181 sh5_media_sh5_media_model::model_fputscr_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11182 {
11183 #define FLD(f) abuf->fields.sfmt_fmovsl.f
11184   const sh5_media_scache* abuf = sem;
11185   const sh5_media_idesc* idesc = abuf->idesc;
11186   int cycles = 0;
11187   {
11188     cycles += model_u_exec_before (current_cpu, idesc, 0);
11189   }
11190   return cycles;
11191 #undef FLD
11192 }
11193
11194 UINT
11195 sh5_media_sh5_media_model::model_fputscr_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11196 {
11197 #define FLD(f) abuf->fields.sfmt_fmovsl.f
11198   const sh5_media_scache* abuf = sem;
11199   const sh5_media_idesc* idesc = abuf->idesc;
11200   int cycles = 0;
11201   {
11202     int referenced = 0;
11203     unsigned long long insn_referenced = abuf->written;
11204     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
11205   }
11206   return cycles;
11207 #undef FLD
11208 }
11209
11210 UINT
11211 sh5_media_sh5_media_model::model_fsqrtd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11212 {
11213 #define FLD(f) abuf->fields.sfmt_fabsd.f
11214   const sh5_media_scache* abuf = sem;
11215   const sh5_media_idesc* idesc = abuf->idesc;
11216   int cycles = 0;
11217   {
11218     INT in_usereg = -1;
11219     in_usereg = FLD (in_drgh);
11220     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
11221   }
11222   {
11223     INT out_loadreg = -1;
11224     out_loadreg = FLD (out_drf);
11225     cycles += model_u_fsqrtd_before (current_cpu, idesc, 1, out_loadreg);
11226   }
11227   {
11228     INT out_loadreg = -1;
11229     out_loadreg = FLD (out_drf);
11230     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
11231   }
11232   {
11233     INT out_loadreg = -1;
11234     out_loadreg = FLD (out_drf);
11235     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
11236   }
11237   {
11238     INT out_loadreg = -1;
11239     out_loadreg = FLD (out_drf);
11240     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
11241   }
11242   {
11243     INT out_loadreg = -1;
11244     out_loadreg = FLD (out_drf);
11245     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
11246   }
11247   {
11248     INT out_loadreg = -1;
11249     out_loadreg = FLD (out_drf);
11250     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
11251   }
11252   return cycles;
11253 #undef FLD
11254 }
11255
11256 UINT
11257 sh5_media_sh5_media_model::model_fsqrtd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11258 {
11259 #define FLD(f) abuf->fields.sfmt_fabsd.f
11260   const sh5_media_scache* abuf = sem;
11261   const sh5_media_idesc* idesc = abuf->idesc;
11262   int cycles = 0;
11263   {
11264     int referenced = 0;
11265     unsigned long long insn_referenced = abuf->written;
11266     INT in_usereg = -1;
11267     in_usereg = FLD (in_drgh);
11268     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
11269   }
11270   {
11271     int referenced = 0;
11272     unsigned long long insn_referenced = abuf->written;
11273     INT out_loadreg = -1;
11274     out_loadreg = FLD (out_drf);
11275     cycles += model_u_fsqrtd_after (current_cpu, idesc, 1, referenced, out_loadreg);
11276   }
11277   {
11278     int referenced = 0;
11279     unsigned long long insn_referenced = abuf->written;
11280     INT out_loadreg = -1;
11281     out_loadreg = FLD (out_drf);
11282     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
11283   }
11284   {
11285     int referenced = 0;
11286     unsigned long long insn_referenced = abuf->written;
11287     INT out_loadreg = -1;
11288     out_loadreg = FLD (out_drf);
11289     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
11290   }
11291   {
11292     int referenced = 0;
11293     unsigned long long insn_referenced = abuf->written;
11294     INT out_loadreg = -1;
11295     out_loadreg = FLD (out_drf);
11296     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
11297   }
11298   {
11299     int referenced = 0;
11300     unsigned long long insn_referenced = abuf->written;
11301     INT out_loadreg = -1;
11302     out_loadreg = FLD (out_drf);
11303     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
11304   }
11305   {
11306     int referenced = 0;
11307     unsigned long long insn_referenced = abuf->written;
11308     INT out_loadreg = -1;
11309     out_loadreg = FLD (out_drf);
11310     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
11311   }
11312   return cycles;
11313 #undef FLD
11314 }
11315
11316 UINT
11317 sh5_media_sh5_media_model::model_fsqrts_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11318 {
11319 #define FLD(f) abuf->fields.sfmt_fabss.f
11320   const sh5_media_scache* abuf = sem;
11321   const sh5_media_idesc* idesc = abuf->idesc;
11322   int cycles = 0;
11323   {
11324     INT in_usereg = -1;
11325     in_usereg = FLD (in_frgh);
11326     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
11327   }
11328   {
11329     INT out_loadreg = -1;
11330     out_loadreg = FLD (out_frf);
11331     cycles += model_u_fsqrt_before (current_cpu, idesc, 1, out_loadreg);
11332   }
11333   {
11334     INT out_loadreg = -1;
11335     out_loadreg = FLD (out_frf);
11336     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
11337   }
11338   {
11339     INT out_loadreg = -1;
11340     out_loadreg = FLD (out_frf);
11341     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
11342   }
11343   {
11344     INT out_loadreg = -1;
11345     out_loadreg = FLD (out_frf);
11346     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
11347   }
11348   {
11349     INT out_loadreg = -1;
11350     out_loadreg = FLD (out_frf);
11351     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
11352   }
11353   {
11354     INT out_loadreg = -1;
11355     out_loadreg = FLD (out_frf);
11356     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
11357   }
11358   return cycles;
11359 #undef FLD
11360 }
11361
11362 UINT
11363 sh5_media_sh5_media_model::model_fsqrts_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11364 {
11365 #define FLD(f) abuf->fields.sfmt_fabss.f
11366   const sh5_media_scache* abuf = sem;
11367   const sh5_media_idesc* idesc = abuf->idesc;
11368   int cycles = 0;
11369   {
11370     int referenced = 0;
11371     unsigned long long insn_referenced = abuf->written;
11372     INT in_usereg = -1;
11373     in_usereg = FLD (in_frgh);
11374     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
11375   }
11376   {
11377     int referenced = 0;
11378     unsigned long long insn_referenced = abuf->written;
11379     INT out_loadreg = -1;
11380     out_loadreg = FLD (out_frf);
11381     cycles += model_u_fsqrt_after (current_cpu, idesc, 1, referenced, out_loadreg);
11382   }
11383   {
11384     int referenced = 0;
11385     unsigned long long insn_referenced = abuf->written;
11386     INT out_loadreg = -1;
11387     out_loadreg = FLD (out_frf);
11388     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
11389   }
11390   {
11391     int referenced = 0;
11392     unsigned long long insn_referenced = abuf->written;
11393     INT out_loadreg = -1;
11394     out_loadreg = FLD (out_frf);
11395     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
11396   }
11397   {
11398     int referenced = 0;
11399     unsigned long long insn_referenced = abuf->written;
11400     INT out_loadreg = -1;
11401     out_loadreg = FLD (out_frf);
11402     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
11403   }
11404   {
11405     int referenced = 0;
11406     unsigned long long insn_referenced = abuf->written;
11407     INT out_loadreg = -1;
11408     out_loadreg = FLD (out_frf);
11409     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
11410   }
11411   {
11412     int referenced = 0;
11413     unsigned long long insn_referenced = abuf->written;
11414     INT out_loadreg = -1;
11415     out_loadreg = FLD (out_frf);
11416     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
11417   }
11418   return cycles;
11419 #undef FLD
11420 }
11421
11422 UINT
11423 sh5_media_sh5_media_model::model_fstd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11424 {
11425 #define FLD(f) abuf->fields.sfmt_fstd.f
11426   const sh5_media_scache* abuf = sem;
11427   const sh5_media_idesc* idesc = abuf->idesc;
11428   int cycles = 0;
11429   {
11430     INT in_usereg = -1;
11431     in_usereg = FLD (in_rm);
11432     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
11433   }
11434   {
11435     INT in_usereg = -1;
11436     in_usereg = FLD (in_drf);
11437     cycles += model_u_use_dr_before (current_cpu, idesc, 1, in_usereg);
11438   }
11439   {
11440     cycles += model_u_exec_before (current_cpu, idesc, 2);
11441   }
11442   return cycles;
11443 #undef FLD
11444 }
11445
11446 UINT
11447 sh5_media_sh5_media_model::model_fstd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11448 {
11449 #define FLD(f) abuf->fields.sfmt_fstd.f
11450   const sh5_media_scache* abuf = sem;
11451   const sh5_media_idesc* idesc = abuf->idesc;
11452   int cycles = 0;
11453   {
11454     int referenced = 0;
11455     unsigned long long insn_referenced = abuf->written;
11456     INT in_usereg = -1;
11457     in_usereg = FLD (in_rm);
11458     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
11459   }
11460   {
11461     int referenced = 0;
11462     unsigned long long insn_referenced = abuf->written;
11463     INT in_usereg = -1;
11464     in_usereg = FLD (in_drf);
11465     cycles += model_u_use_dr_after (current_cpu, idesc, 1, referenced, in_usereg);
11466   }
11467   {
11468     int referenced = 0;
11469     unsigned long long insn_referenced = abuf->written;
11470     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
11471   }
11472   return cycles;
11473 #undef FLD
11474 }
11475
11476 UINT
11477 sh5_media_sh5_media_model::model_fstp_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11478 {
11479 #define FLD(f) abuf->fields.sfmt_fldp.f
11480   const sh5_media_scache* abuf = sem;
11481   const sh5_media_idesc* idesc = abuf->idesc;
11482   int cycles = 0;
11483   {
11484     INT in_usereg = -1;
11485     in_usereg = FLD (in_rm);
11486     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
11487   }
11488   {
11489     INT in_usereg = -1;
11490     in_usereg = FLD (in_fpf);
11491     cycles += model_u_use_fp_before (current_cpu, idesc, 1, in_usereg);
11492   }
11493   {
11494     cycles += model_u_exec_before (current_cpu, idesc, 2);
11495   }
11496   return cycles;
11497 #undef FLD
11498 }
11499
11500 UINT
11501 sh5_media_sh5_media_model::model_fstp_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11502 {
11503 #define FLD(f) abuf->fields.sfmt_fldp.f
11504   const sh5_media_scache* abuf = sem;
11505   const sh5_media_idesc* idesc = abuf->idesc;
11506   int cycles = 0;
11507   {
11508     int referenced = 0;
11509     unsigned long long insn_referenced = abuf->written;
11510     INT in_usereg = -1;
11511     in_usereg = FLD (in_rm);
11512     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
11513   }
11514   {
11515     int referenced = 0;
11516     unsigned long long insn_referenced = abuf->written;
11517     INT in_usereg = -1;
11518     in_usereg = FLD (in_fpf);
11519     cycles += model_u_use_fp_after (current_cpu, idesc, 1, referenced, in_usereg);
11520   }
11521   {
11522     int referenced = 0;
11523     unsigned long long insn_referenced = abuf->written;
11524     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
11525   }
11526   return cycles;
11527 #undef FLD
11528 }
11529
11530 UINT
11531 sh5_media_sh5_media_model::model_fsts_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11532 {
11533 #define FLD(f) abuf->fields.sfmt_fsts.f
11534   const sh5_media_scache* abuf = sem;
11535   const sh5_media_idesc* idesc = abuf->idesc;
11536   int cycles = 0;
11537   {
11538     INT in_usereg = -1;
11539     in_usereg = FLD (in_rm);
11540     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
11541   }
11542   {
11543     INT in_usereg = -1;
11544     in_usereg = FLD (in_frf);
11545     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
11546   }
11547   {
11548     cycles += model_u_exec_before (current_cpu, idesc, 2);
11549   }
11550   return cycles;
11551 #undef FLD
11552 }
11553
11554 UINT
11555 sh5_media_sh5_media_model::model_fsts_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11556 {
11557 #define FLD(f) abuf->fields.sfmt_fsts.f
11558   const sh5_media_scache* abuf = sem;
11559   const sh5_media_idesc* idesc = abuf->idesc;
11560   int cycles = 0;
11561   {
11562     int referenced = 0;
11563     unsigned long long insn_referenced = abuf->written;
11564     INT in_usereg = -1;
11565     in_usereg = FLD (in_rm);
11566     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
11567   }
11568   {
11569     int referenced = 0;
11570     unsigned long long insn_referenced = abuf->written;
11571     INT in_usereg = -1;
11572     in_usereg = FLD (in_frf);
11573     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
11574   }
11575   {
11576     int referenced = 0;
11577     unsigned long long insn_referenced = abuf->written;
11578     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
11579   }
11580   return cycles;
11581 #undef FLD
11582 }
11583
11584 UINT
11585 sh5_media_sh5_media_model::model_fstxd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11586 {
11587 #define FLD(f) abuf->fields.sfmt_fstxd.f
11588   const sh5_media_scache* abuf = sem;
11589   const sh5_media_idesc* idesc = abuf->idesc;
11590   int cycles = 0;
11591   {
11592     INT in_usereg = -1;
11593     in_usereg = FLD (in_rm);
11594     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
11595   }
11596   {
11597     INT in_usereg = -1;
11598     in_usereg = FLD (in_rn);
11599     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
11600   }
11601   {
11602     INT in_usereg = -1;
11603     in_usereg = FLD (in_drf);
11604     cycles += model_u_use_dr_before (current_cpu, idesc, 2, in_usereg);
11605   }
11606   {
11607     cycles += model_u_exec_before (current_cpu, idesc, 3);
11608   }
11609   return cycles;
11610 #undef FLD
11611 }
11612
11613 UINT
11614 sh5_media_sh5_media_model::model_fstxd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11615 {
11616 #define FLD(f) abuf->fields.sfmt_fstxd.f
11617   const sh5_media_scache* abuf = sem;
11618   const sh5_media_idesc* idesc = abuf->idesc;
11619   int cycles = 0;
11620   {
11621     int referenced = 0;
11622     unsigned long long insn_referenced = abuf->written;
11623     INT in_usereg = -1;
11624     in_usereg = FLD (in_rm);
11625     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
11626   }
11627   {
11628     int referenced = 0;
11629     unsigned long long insn_referenced = abuf->written;
11630     INT in_usereg = -1;
11631     in_usereg = FLD (in_rn);
11632     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
11633   }
11634   {
11635     int referenced = 0;
11636     unsigned long long insn_referenced = abuf->written;
11637     INT in_usereg = -1;
11638     in_usereg = FLD (in_drf);
11639     cycles += model_u_use_dr_after (current_cpu, idesc, 2, referenced, in_usereg);
11640   }
11641   {
11642     int referenced = 0;
11643     unsigned long long insn_referenced = abuf->written;
11644     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
11645   }
11646   return cycles;
11647 #undef FLD
11648 }
11649
11650 UINT
11651 sh5_media_sh5_media_model::model_fstxp_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11652 {
11653 #define FLD(f) abuf->fields.sfmt_fldxp.f
11654   const sh5_media_scache* abuf = sem;
11655   const sh5_media_idesc* idesc = abuf->idesc;
11656   int cycles = 0;
11657   {
11658     INT in_usereg = -1;
11659     in_usereg = FLD (in_rm);
11660     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
11661   }
11662   {
11663     INT in_usereg = -1;
11664     in_usereg = FLD (in_rn);
11665     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
11666   }
11667   {
11668     INT in_usereg = -1;
11669     in_usereg = FLD (in_fpf);
11670     cycles += model_u_use_fp_before (current_cpu, idesc, 2, in_usereg);
11671   }
11672   {
11673     cycles += model_u_exec_before (current_cpu, idesc, 3);
11674   }
11675   return cycles;
11676 #undef FLD
11677 }
11678
11679 UINT
11680 sh5_media_sh5_media_model::model_fstxp_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11681 {
11682 #define FLD(f) abuf->fields.sfmt_fldxp.f
11683   const sh5_media_scache* abuf = sem;
11684   const sh5_media_idesc* idesc = abuf->idesc;
11685   int cycles = 0;
11686   {
11687     int referenced = 0;
11688     unsigned long long insn_referenced = abuf->written;
11689     INT in_usereg = -1;
11690     in_usereg = FLD (in_rm);
11691     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
11692   }
11693   {
11694     int referenced = 0;
11695     unsigned long long insn_referenced = abuf->written;
11696     INT in_usereg = -1;
11697     in_usereg = FLD (in_rn);
11698     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
11699   }
11700   {
11701     int referenced = 0;
11702     unsigned long long insn_referenced = abuf->written;
11703     INT in_usereg = -1;
11704     in_usereg = FLD (in_fpf);
11705     cycles += model_u_use_fp_after (current_cpu, idesc, 2, referenced, in_usereg);
11706   }
11707   {
11708     int referenced = 0;
11709     unsigned long long insn_referenced = abuf->written;
11710     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
11711   }
11712   return cycles;
11713 #undef FLD
11714 }
11715
11716 UINT
11717 sh5_media_sh5_media_model::model_fstxs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11718 {
11719 #define FLD(f) abuf->fields.sfmt_fstxs.f
11720   const sh5_media_scache* abuf = sem;
11721   const sh5_media_idesc* idesc = abuf->idesc;
11722   int cycles = 0;
11723   {
11724     INT in_usereg = -1;
11725     in_usereg = FLD (in_rm);
11726     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
11727   }
11728   {
11729     INT in_usereg = -1;
11730     in_usereg = FLD (in_rn);
11731     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
11732   }
11733   {
11734     INT in_usereg = -1;
11735     in_usereg = FLD (in_frf);
11736     cycles += model_u_use_fr_before (current_cpu, idesc, 2, in_usereg);
11737   }
11738   {
11739     cycles += model_u_exec_before (current_cpu, idesc, 3);
11740   }
11741   return cycles;
11742 #undef FLD
11743 }
11744
11745 UINT
11746 sh5_media_sh5_media_model::model_fstxs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11747 {
11748 #define FLD(f) abuf->fields.sfmt_fstxs.f
11749   const sh5_media_scache* abuf = sem;
11750   const sh5_media_idesc* idesc = abuf->idesc;
11751   int cycles = 0;
11752   {
11753     int referenced = 0;
11754     unsigned long long insn_referenced = abuf->written;
11755     INT in_usereg = -1;
11756     in_usereg = FLD (in_rm);
11757     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
11758   }
11759   {
11760     int referenced = 0;
11761     unsigned long long insn_referenced = abuf->written;
11762     INT in_usereg = -1;
11763     in_usereg = FLD (in_rn);
11764     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
11765   }
11766   {
11767     int referenced = 0;
11768     unsigned long long insn_referenced = abuf->written;
11769     INT in_usereg = -1;
11770     in_usereg = FLD (in_frf);
11771     cycles += model_u_use_fr_after (current_cpu, idesc, 2, referenced, in_usereg);
11772   }
11773   {
11774     int referenced = 0;
11775     unsigned long long insn_referenced = abuf->written;
11776     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
11777   }
11778   return cycles;
11779 #undef FLD
11780 }
11781
11782 UINT
11783 sh5_media_sh5_media_model::model_fsubd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11784 {
11785 #define FLD(f) abuf->fields.sfmt_faddd.f
11786   const sh5_media_scache* abuf = sem;
11787   const sh5_media_idesc* idesc = abuf->idesc;
11788   int cycles = 0;
11789   {
11790     INT in_usereg = -1;
11791     in_usereg = FLD (in_drg);
11792     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
11793   }
11794   {
11795     INT in_usereg = -1;
11796     in_usereg = FLD (in_drh);
11797     cycles += model_u_use_dr_before (current_cpu, idesc, 1, in_usereg);
11798   }
11799   {
11800     cycles += model_u_fpu_before (current_cpu, idesc, 2);
11801   }
11802   {
11803     INT out_loadreg = -1;
11804     out_loadreg = FLD (out_drf);
11805     cycles += model_u_set_fr_before (current_cpu, idesc, 3, out_loadreg);
11806   }
11807   {
11808     INT out_loadreg = -1;
11809     out_loadreg = FLD (out_drf);
11810     cycles += model_u_set_dr_before (current_cpu, idesc, 4, out_loadreg);
11811   }
11812   {
11813     INT out_loadreg = -1;
11814     out_loadreg = FLD (out_drf);
11815     cycles += model_u_set_fp_before (current_cpu, idesc, 5, out_loadreg);
11816   }
11817   {
11818     INT out_loadreg = -1;
11819     out_loadreg = FLD (out_drf);
11820     cycles += model_u_set_fv_before (current_cpu, idesc, 6, out_loadreg);
11821   }
11822   {
11823     INT out_loadreg = -1;
11824     out_loadreg = FLD (out_drf);
11825     cycles += model_u_set_mtrx_before (current_cpu, idesc, 7, out_loadreg);
11826   }
11827   return cycles;
11828 #undef FLD
11829 }
11830
11831 UINT
11832 sh5_media_sh5_media_model::model_fsubd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11833 {
11834 #define FLD(f) abuf->fields.sfmt_faddd.f
11835   const sh5_media_scache* abuf = sem;
11836   const sh5_media_idesc* idesc = abuf->idesc;
11837   int cycles = 0;
11838   {
11839     int referenced = 0;
11840     unsigned long long insn_referenced = abuf->written;
11841     INT in_usereg = -1;
11842     in_usereg = FLD (in_drg);
11843     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
11844   }
11845   {
11846     int referenced = 0;
11847     unsigned long long insn_referenced = abuf->written;
11848     INT in_usereg = -1;
11849     in_usereg = FLD (in_drh);
11850     cycles += model_u_use_dr_after (current_cpu, idesc, 1, referenced, in_usereg);
11851   }
11852   {
11853     int referenced = 0;
11854     unsigned long long insn_referenced = abuf->written;
11855     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
11856   }
11857   {
11858     int referenced = 0;
11859     unsigned long long insn_referenced = abuf->written;
11860     INT out_loadreg = -1;
11861     out_loadreg = FLD (out_drf);
11862     cycles += model_u_set_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
11863   }
11864   {
11865     int referenced = 0;
11866     unsigned long long insn_referenced = abuf->written;
11867     INT out_loadreg = -1;
11868     out_loadreg = FLD (out_drf);
11869     cycles += model_u_set_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
11870   }
11871   {
11872     int referenced = 0;
11873     unsigned long long insn_referenced = abuf->written;
11874     INT out_loadreg = -1;
11875     out_loadreg = FLD (out_drf);
11876     cycles += model_u_set_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
11877   }
11878   {
11879     int referenced = 0;
11880     unsigned long long insn_referenced = abuf->written;
11881     INT out_loadreg = -1;
11882     out_loadreg = FLD (out_drf);
11883     cycles += model_u_set_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
11884   }
11885   {
11886     int referenced = 0;
11887     unsigned long long insn_referenced = abuf->written;
11888     INT out_loadreg = -1;
11889     out_loadreg = FLD (out_drf);
11890     cycles += model_u_set_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
11891   }
11892   return cycles;
11893 #undef FLD
11894 }
11895
11896 UINT
11897 sh5_media_sh5_media_model::model_fsubs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
11898 {
11899 #define FLD(f) abuf->fields.sfmt_fmacs.f
11900   const sh5_media_scache* abuf = sem;
11901   const sh5_media_idesc* idesc = abuf->idesc;
11902   int cycles = 0;
11903   {
11904     INT in_usereg = -1;
11905     in_usereg = FLD (in_frg);
11906     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
11907   }
11908   {
11909     INT in_usereg = -1;
11910     in_usereg = FLD (in_frh);
11911     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
11912   }
11913   {
11914     cycles += model_u_fpu_before (current_cpu, idesc, 2);
11915   }
11916   {
11917     INT out_loadreg = -1;
11918     out_loadreg = FLD (out_frf);
11919     cycles += model_u_set_fr_before (current_cpu, idesc, 3, out_loadreg);
11920   }
11921   {
11922     INT out_loadreg = -1;
11923     out_loadreg = FLD (out_frf);
11924     cycles += model_u_set_dr_before (current_cpu, idesc, 4, out_loadreg);
11925   }
11926   {
11927     INT out_loadreg = -1;
11928     out_loadreg = FLD (out_frf);
11929     cycles += model_u_set_fp_before (current_cpu, idesc, 5, out_loadreg);
11930   }
11931   {
11932     INT out_loadreg = -1;
11933     out_loadreg = FLD (out_frf);
11934     cycles += model_u_set_fv_before (current_cpu, idesc, 6, out_loadreg);
11935   }
11936   {
11937     INT out_loadreg = -1;
11938     out_loadreg = FLD (out_frf);
11939     cycles += model_u_set_mtrx_before (current_cpu, idesc, 7, out_loadreg);
11940   }
11941   return cycles;
11942 #undef FLD
11943 }
11944
11945 UINT
11946 sh5_media_sh5_media_model::model_fsubs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
11947 {
11948 #define FLD(f) abuf->fields.sfmt_fmacs.f
11949   const sh5_media_scache* abuf = sem;
11950   const sh5_media_idesc* idesc = abuf->idesc;
11951   int cycles = 0;
11952   {
11953     int referenced = 0;
11954     unsigned long long insn_referenced = abuf->written;
11955     INT in_usereg = -1;
11956     in_usereg = FLD (in_frg);
11957     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
11958   }
11959   {
11960     int referenced = 0;
11961     unsigned long long insn_referenced = abuf->written;
11962     INT in_usereg = -1;
11963     in_usereg = FLD (in_frh);
11964     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
11965   }
11966   {
11967     int referenced = 0;
11968     unsigned long long insn_referenced = abuf->written;
11969     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
11970   }
11971   {
11972     int referenced = 0;
11973     unsigned long long insn_referenced = abuf->written;
11974     INT out_loadreg = -1;
11975     out_loadreg = FLD (out_frf);
11976     cycles += model_u_set_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
11977   }
11978   {
11979     int referenced = 0;
11980     unsigned long long insn_referenced = abuf->written;
11981     INT out_loadreg = -1;
11982     out_loadreg = FLD (out_frf);
11983     cycles += model_u_set_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
11984   }
11985   {
11986     int referenced = 0;
11987     unsigned long long insn_referenced = abuf->written;
11988     INT out_loadreg = -1;
11989     out_loadreg = FLD (out_frf);
11990     cycles += model_u_set_fp_after (current_cpu, idesc, 5, referenced, out_loadreg);
11991   }
11992   {
11993     int referenced = 0;
11994     unsigned long long insn_referenced = abuf->written;
11995     INT out_loadreg = -1;
11996     out_loadreg = FLD (out_frf);
11997     cycles += model_u_set_fv_after (current_cpu, idesc, 6, referenced, out_loadreg);
11998   }
11999   {
12000     int referenced = 0;
12001     unsigned long long insn_referenced = abuf->written;
12002     INT out_loadreg = -1;
12003     out_loadreg = FLD (out_frf);
12004     cycles += model_u_set_mtrx_after (current_cpu, idesc, 7, referenced, out_loadreg);
12005   }
12006   return cycles;
12007 #undef FLD
12008 }
12009
12010 UINT
12011 sh5_media_sh5_media_model::model_ftrcdl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12012 {
12013 #define FLD(f) abuf->fields.sfmt_fcnvds.f
12014   const sh5_media_scache* abuf = sem;
12015   const sh5_media_idesc* idesc = abuf->idesc;
12016   int cycles = 0;
12017   {
12018     INT in_usereg = -1;
12019     in_usereg = FLD (in_drgh);
12020     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
12021   }
12022   {
12023     cycles += model_u_fpu_before (current_cpu, idesc, 1);
12024   }
12025   {
12026     INT out_loadreg = -1;
12027     out_loadreg = FLD (out_frf);
12028     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
12029   }
12030   {
12031     INT out_loadreg = -1;
12032     out_loadreg = FLD (out_frf);
12033     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
12034   }
12035   {
12036     INT out_loadreg = -1;
12037     out_loadreg = FLD (out_frf);
12038     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
12039   }
12040   {
12041     INT out_loadreg = -1;
12042     out_loadreg = FLD (out_frf);
12043     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
12044   }
12045   {
12046     INT out_loadreg = -1;
12047     out_loadreg = FLD (out_frf);
12048     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
12049   }
12050   return cycles;
12051 #undef FLD
12052 }
12053
12054 UINT
12055 sh5_media_sh5_media_model::model_ftrcdl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12056 {
12057 #define FLD(f) abuf->fields.sfmt_fcnvds.f
12058   const sh5_media_scache* abuf = sem;
12059   const sh5_media_idesc* idesc = abuf->idesc;
12060   int cycles = 0;
12061   {
12062     int referenced = 0;
12063     unsigned long long insn_referenced = abuf->written;
12064     INT in_usereg = -1;
12065     in_usereg = FLD (in_drgh);
12066     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
12067   }
12068   {
12069     int referenced = 0;
12070     unsigned long long insn_referenced = abuf->written;
12071     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
12072   }
12073   {
12074     int referenced = 0;
12075     unsigned long long insn_referenced = abuf->written;
12076     INT out_loadreg = -1;
12077     out_loadreg = FLD (out_frf);
12078     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
12079   }
12080   {
12081     int referenced = 0;
12082     unsigned long long insn_referenced = abuf->written;
12083     INT out_loadreg = -1;
12084     out_loadreg = FLD (out_frf);
12085     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
12086   }
12087   {
12088     int referenced = 0;
12089     unsigned long long insn_referenced = abuf->written;
12090     INT out_loadreg = -1;
12091     out_loadreg = FLD (out_frf);
12092     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
12093   }
12094   {
12095     int referenced = 0;
12096     unsigned long long insn_referenced = abuf->written;
12097     INT out_loadreg = -1;
12098     out_loadreg = FLD (out_frf);
12099     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
12100   }
12101   {
12102     int referenced = 0;
12103     unsigned long long insn_referenced = abuf->written;
12104     INT out_loadreg = -1;
12105     out_loadreg = FLD (out_frf);
12106     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
12107   }
12108   return cycles;
12109 #undef FLD
12110 }
12111
12112 UINT
12113 sh5_media_sh5_media_model::model_ftrcsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12114 {
12115 #define FLD(f) abuf->fields.sfmt_fabss.f
12116   const sh5_media_scache* abuf = sem;
12117   const sh5_media_idesc* idesc = abuf->idesc;
12118   int cycles = 0;
12119   {
12120     INT in_usereg = -1;
12121     in_usereg = FLD (in_frgh);
12122     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
12123   }
12124   {
12125     cycles += model_u_fpu_before (current_cpu, idesc, 1);
12126   }
12127   {
12128     INT out_loadreg = -1;
12129     out_loadreg = FLD (out_frf);
12130     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
12131   }
12132   {
12133     INT out_loadreg = -1;
12134     out_loadreg = FLD (out_frf);
12135     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
12136   }
12137   {
12138     INT out_loadreg = -1;
12139     out_loadreg = FLD (out_frf);
12140     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
12141   }
12142   {
12143     INT out_loadreg = -1;
12144     out_loadreg = FLD (out_frf);
12145     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
12146   }
12147   {
12148     INT out_loadreg = -1;
12149     out_loadreg = FLD (out_frf);
12150     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
12151   }
12152   return cycles;
12153 #undef FLD
12154 }
12155
12156 UINT
12157 sh5_media_sh5_media_model::model_ftrcsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12158 {
12159 #define FLD(f) abuf->fields.sfmt_fabss.f
12160   const sh5_media_scache* abuf = sem;
12161   const sh5_media_idesc* idesc = abuf->idesc;
12162   int cycles = 0;
12163   {
12164     int referenced = 0;
12165     unsigned long long insn_referenced = abuf->written;
12166     INT in_usereg = -1;
12167     in_usereg = FLD (in_frgh);
12168     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
12169   }
12170   {
12171     int referenced = 0;
12172     unsigned long long insn_referenced = abuf->written;
12173     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
12174   }
12175   {
12176     int referenced = 0;
12177     unsigned long long insn_referenced = abuf->written;
12178     INT out_loadreg = -1;
12179     out_loadreg = FLD (out_frf);
12180     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
12181   }
12182   {
12183     int referenced = 0;
12184     unsigned long long insn_referenced = abuf->written;
12185     INT out_loadreg = -1;
12186     out_loadreg = FLD (out_frf);
12187     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
12188   }
12189   {
12190     int referenced = 0;
12191     unsigned long long insn_referenced = abuf->written;
12192     INT out_loadreg = -1;
12193     out_loadreg = FLD (out_frf);
12194     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
12195   }
12196   {
12197     int referenced = 0;
12198     unsigned long long insn_referenced = abuf->written;
12199     INT out_loadreg = -1;
12200     out_loadreg = FLD (out_frf);
12201     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
12202   }
12203   {
12204     int referenced = 0;
12205     unsigned long long insn_referenced = abuf->written;
12206     INT out_loadreg = -1;
12207     out_loadreg = FLD (out_frf);
12208     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
12209   }
12210   return cycles;
12211 #undef FLD
12212 }
12213
12214 UINT
12215 sh5_media_sh5_media_model::model_ftrcdq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12216 {
12217 #define FLD(f) abuf->fields.sfmt_fabsd.f
12218   const sh5_media_scache* abuf = sem;
12219   const sh5_media_idesc* idesc = abuf->idesc;
12220   int cycles = 0;
12221   {
12222     INT in_usereg = -1;
12223     in_usereg = FLD (in_drgh);
12224     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
12225   }
12226   {
12227     cycles += model_u_fpu_before (current_cpu, idesc, 1);
12228   }
12229   {
12230     INT out_loadreg = -1;
12231     out_loadreg = FLD (out_drf);
12232     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
12233   }
12234   {
12235     INT out_loadreg = -1;
12236     out_loadreg = FLD (out_drf);
12237     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
12238   }
12239   {
12240     INT out_loadreg = -1;
12241     out_loadreg = FLD (out_drf);
12242     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
12243   }
12244   {
12245     INT out_loadreg = -1;
12246     out_loadreg = FLD (out_drf);
12247     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
12248   }
12249   {
12250     INT out_loadreg = -1;
12251     out_loadreg = FLD (out_drf);
12252     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
12253   }
12254   return cycles;
12255 #undef FLD
12256 }
12257
12258 UINT
12259 sh5_media_sh5_media_model::model_ftrcdq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12260 {
12261 #define FLD(f) abuf->fields.sfmt_fabsd.f
12262   const sh5_media_scache* abuf = sem;
12263   const sh5_media_idesc* idesc = abuf->idesc;
12264   int cycles = 0;
12265   {
12266     int referenced = 0;
12267     unsigned long long insn_referenced = abuf->written;
12268     INT in_usereg = -1;
12269     in_usereg = FLD (in_drgh);
12270     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
12271   }
12272   {
12273     int referenced = 0;
12274     unsigned long long insn_referenced = abuf->written;
12275     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
12276   }
12277   {
12278     int referenced = 0;
12279     unsigned long long insn_referenced = abuf->written;
12280     INT out_loadreg = -1;
12281     out_loadreg = FLD (out_drf);
12282     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
12283   }
12284   {
12285     int referenced = 0;
12286     unsigned long long insn_referenced = abuf->written;
12287     INT out_loadreg = -1;
12288     out_loadreg = FLD (out_drf);
12289     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
12290   }
12291   {
12292     int referenced = 0;
12293     unsigned long long insn_referenced = abuf->written;
12294     INT out_loadreg = -1;
12295     out_loadreg = FLD (out_drf);
12296     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
12297   }
12298   {
12299     int referenced = 0;
12300     unsigned long long insn_referenced = abuf->written;
12301     INT out_loadreg = -1;
12302     out_loadreg = FLD (out_drf);
12303     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
12304   }
12305   {
12306     int referenced = 0;
12307     unsigned long long insn_referenced = abuf->written;
12308     INT out_loadreg = -1;
12309     out_loadreg = FLD (out_drf);
12310     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
12311   }
12312   return cycles;
12313 #undef FLD
12314 }
12315
12316 UINT
12317 sh5_media_sh5_media_model::model_ftrcsq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12318 {
12319 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
12320   const sh5_media_scache* abuf = sem;
12321   const sh5_media_idesc* idesc = abuf->idesc;
12322   int cycles = 0;
12323   {
12324     INT in_usereg = -1;
12325     in_usereg = FLD (in_frgh);
12326     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
12327   }
12328   {
12329     cycles += model_u_fpu_before (current_cpu, idesc, 1);
12330   }
12331   {
12332     INT out_loadreg = -1;
12333     out_loadreg = FLD (out_drf);
12334     cycles += model_u_set_fr_before (current_cpu, idesc, 2, out_loadreg);
12335   }
12336   {
12337     INT out_loadreg = -1;
12338     out_loadreg = FLD (out_drf);
12339     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
12340   }
12341   {
12342     INT out_loadreg = -1;
12343     out_loadreg = FLD (out_drf);
12344     cycles += model_u_set_fp_before (current_cpu, idesc, 4, out_loadreg);
12345   }
12346   {
12347     INT out_loadreg = -1;
12348     out_loadreg = FLD (out_drf);
12349     cycles += model_u_set_fv_before (current_cpu, idesc, 5, out_loadreg);
12350   }
12351   {
12352     INT out_loadreg = -1;
12353     out_loadreg = FLD (out_drf);
12354     cycles += model_u_set_mtrx_before (current_cpu, idesc, 6, out_loadreg);
12355   }
12356   return cycles;
12357 #undef FLD
12358 }
12359
12360 UINT
12361 sh5_media_sh5_media_model::model_ftrcsq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12362 {
12363 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
12364   const sh5_media_scache* abuf = sem;
12365   const sh5_media_idesc* idesc = abuf->idesc;
12366   int cycles = 0;
12367   {
12368     int referenced = 0;
12369     unsigned long long insn_referenced = abuf->written;
12370     INT in_usereg = -1;
12371     in_usereg = FLD (in_frgh);
12372     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
12373   }
12374   {
12375     int referenced = 0;
12376     unsigned long long insn_referenced = abuf->written;
12377     cycles += model_u_fpu_after (current_cpu, idesc, 1, referenced);
12378   }
12379   {
12380     int referenced = 0;
12381     unsigned long long insn_referenced = abuf->written;
12382     INT out_loadreg = -1;
12383     out_loadreg = FLD (out_drf);
12384     cycles += model_u_set_fr_after (current_cpu, idesc, 2, referenced, out_loadreg);
12385   }
12386   {
12387     int referenced = 0;
12388     unsigned long long insn_referenced = abuf->written;
12389     INT out_loadreg = -1;
12390     out_loadreg = FLD (out_drf);
12391     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
12392   }
12393   {
12394     int referenced = 0;
12395     unsigned long long insn_referenced = abuf->written;
12396     INT out_loadreg = -1;
12397     out_loadreg = FLD (out_drf);
12398     cycles += model_u_set_fp_after (current_cpu, idesc, 4, referenced, out_loadreg);
12399   }
12400   {
12401     int referenced = 0;
12402     unsigned long long insn_referenced = abuf->written;
12403     INT out_loadreg = -1;
12404     out_loadreg = FLD (out_drf);
12405     cycles += model_u_set_fv_after (current_cpu, idesc, 5, referenced, out_loadreg);
12406   }
12407   {
12408     int referenced = 0;
12409     unsigned long long insn_referenced = abuf->written;
12410     INT out_loadreg = -1;
12411     out_loadreg = FLD (out_drf);
12412     cycles += model_u_set_mtrx_after (current_cpu, idesc, 6, referenced, out_loadreg);
12413   }
12414   return cycles;
12415 #undef FLD
12416 }
12417
12418 UINT
12419 sh5_media_sh5_media_model::model_ftrvs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12420 {
12421 #define FLD(f) abuf->fields.sfmt_ftrvs.f
12422   const sh5_media_scache* abuf = sem;
12423   const sh5_media_idesc* idesc = abuf->idesc;
12424   int cycles = 0;
12425   {
12426     INT in_usereg = -1;
12427     in_usereg = FLD (in_mtrxg);
12428     cycles += model_u_use_mtrx_before (current_cpu, idesc, 0, in_usereg);
12429   }
12430   {
12431     INT in_usereg = -1;
12432     in_usereg = FLD (in_fvh);
12433     cycles += model_u_use_fv_before (current_cpu, idesc, 1, in_usereg);
12434   }
12435   {
12436     cycles += model_u_fpu_before (current_cpu, idesc, 2);
12437   }
12438   {
12439     INT out_loadreg = -1;
12440     out_loadreg = FLD (out_fvf);
12441     cycles += model_u_ftrvs_before (current_cpu, idesc, 3, out_loadreg);
12442   }
12443   return cycles;
12444 #undef FLD
12445 }
12446
12447 UINT
12448 sh5_media_sh5_media_model::model_ftrvs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12449 {
12450 #define FLD(f) abuf->fields.sfmt_ftrvs.f
12451   const sh5_media_scache* abuf = sem;
12452   const sh5_media_idesc* idesc = abuf->idesc;
12453   int cycles = 0;
12454   {
12455     int referenced = 0;
12456     unsigned long long insn_referenced = abuf->written;
12457     INT in_usereg = -1;
12458     in_usereg = FLD (in_mtrxg);
12459     cycles += model_u_use_mtrx_after (current_cpu, idesc, 0, referenced, in_usereg);
12460   }
12461   {
12462     int referenced = 0;
12463     unsigned long long insn_referenced = abuf->written;
12464     INT in_usereg = -1;
12465     in_usereg = FLD (in_fvh);
12466     cycles += model_u_use_fv_after (current_cpu, idesc, 1, referenced, in_usereg);
12467   }
12468   {
12469     int referenced = 0;
12470     unsigned long long insn_referenced = abuf->written;
12471     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
12472   }
12473   {
12474     int referenced = 0;
12475     unsigned long long insn_referenced = abuf->written;
12476     INT out_loadreg = -1;
12477     out_loadreg = FLD (out_fvf);
12478     cycles += model_u_ftrvs_after (current_cpu, idesc, 3, referenced, out_loadreg);
12479   }
12480   return cycles;
12481 #undef FLD
12482 }
12483
12484 UINT
12485 sh5_media_sh5_media_model::model_getcfg_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12486 {
12487 #define FLD(f) abuf->fields.sfmt_getcfg.f
12488   const sh5_media_scache* abuf = sem;
12489   const sh5_media_idesc* idesc = abuf->idesc;
12490   int cycles = 0;
12491   {
12492     INT in_usereg = -1;
12493     in_usereg = FLD (in_rm);
12494     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
12495   }
12496   {
12497     cycles += model_u_getcfg_before (current_cpu, idesc, 1);
12498   }
12499   return cycles;
12500 #undef FLD
12501 }
12502
12503 UINT
12504 sh5_media_sh5_media_model::model_getcfg_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12505 {
12506 #define FLD(f) abuf->fields.sfmt_getcfg.f
12507   const sh5_media_scache* abuf = sem;
12508   const sh5_media_idesc* idesc = abuf->idesc;
12509   int cycles = 0;
12510   {
12511     int referenced = 0;
12512     unsigned long long insn_referenced = abuf->written;
12513     INT in_usereg = -1;
12514     in_usereg = FLD (in_rm);
12515     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
12516   }
12517   {
12518     int referenced = 0;
12519     unsigned long long insn_referenced = abuf->written;
12520     cycles += model_u_getcfg_after (current_cpu, idesc, 1, referenced);
12521   }
12522   return cycles;
12523 #undef FLD
12524 }
12525
12526 UINT
12527 sh5_media_sh5_media_model::model_getcon_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12528 {
12529 #define FLD(f) abuf->fields.sfmt_xori.f
12530   const sh5_media_scache* abuf = sem;
12531   const sh5_media_idesc* idesc = abuf->idesc;
12532   int cycles = 0;
12533   {
12534     cycles += model_u_exec_before (current_cpu, idesc, 0);
12535   }
12536   {
12537     INT out_loadreg = -1;
12538     out_loadreg = FLD (out_rd);
12539     cycles += model_u_set_gr_before (current_cpu, idesc, 1, out_loadreg);
12540   }
12541   return cycles;
12542 #undef FLD
12543 }
12544
12545 UINT
12546 sh5_media_sh5_media_model::model_getcon_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12547 {
12548 #define FLD(f) abuf->fields.sfmt_xori.f
12549   const sh5_media_scache* abuf = sem;
12550   const sh5_media_idesc* idesc = abuf->idesc;
12551   int cycles = 0;
12552   {
12553     int referenced = 0;
12554     unsigned long long insn_referenced = abuf->written;
12555     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
12556   }
12557   {
12558     int referenced = 0;
12559     unsigned long long insn_referenced = abuf->written;
12560     INT out_loadreg = -1;
12561     out_loadreg = FLD (out_rd);
12562     cycles += model_u_set_gr_after (current_cpu, idesc, 1, referenced, out_loadreg);
12563   }
12564   return cycles;
12565 #undef FLD
12566 }
12567
12568 UINT
12569 sh5_media_sh5_media_model::model_gettr_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12570 {
12571 #define FLD(f) abuf->fields.sfmt_blink.f
12572   const sh5_media_scache* abuf = sem;
12573   const sh5_media_idesc* idesc = abuf->idesc;
12574   int cycles = 0;
12575   {
12576     INT in_usereg = -1;
12577     in_usereg = FLD (in_trb);
12578     cycles += model_u_use_tr_before (current_cpu, idesc, 0, in_usereg);
12579   }
12580   {
12581     cycles += model_u_exec_before (current_cpu, idesc, 1);
12582   }
12583   return cycles;
12584 #undef FLD
12585 }
12586
12587 UINT
12588 sh5_media_sh5_media_model::model_gettr_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12589 {
12590 #define FLD(f) abuf->fields.sfmt_blink.f
12591   const sh5_media_scache* abuf = sem;
12592   const sh5_media_idesc* idesc = abuf->idesc;
12593   int cycles = 0;
12594   {
12595     int referenced = 0;
12596     unsigned long long insn_referenced = abuf->written;
12597     INT in_usereg = -1;
12598     in_usereg = FLD (in_trb);
12599     cycles += model_u_use_tr_after (current_cpu, idesc, 0, referenced, in_usereg);
12600   }
12601   {
12602     int referenced = 0;
12603     unsigned long long insn_referenced = abuf->written;
12604     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
12605   }
12606   return cycles;
12607 #undef FLD
12608 }
12609
12610 UINT
12611 sh5_media_sh5_media_model::model_icbi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12612 {
12613 #define FLD(f) abuf->fields.sfmt_alloco.f
12614   const sh5_media_scache* abuf = sem;
12615   const sh5_media_idesc* idesc = abuf->idesc;
12616   int cycles = 0;
12617   {
12618     INT in_usereg = -1;
12619     in_usereg = FLD (in_rm);
12620     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
12621   }
12622   {
12623     cycles += model_u_exec_before (current_cpu, idesc, 1);
12624   }
12625   return cycles;
12626 #undef FLD
12627 }
12628
12629 UINT
12630 sh5_media_sh5_media_model::model_icbi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12631 {
12632 #define FLD(f) abuf->fields.sfmt_alloco.f
12633   const sh5_media_scache* abuf = sem;
12634   const sh5_media_idesc* idesc = abuf->idesc;
12635   int cycles = 0;
12636   {
12637     int referenced = 0;
12638     unsigned long long insn_referenced = abuf->written;
12639     INT in_usereg = -1;
12640     in_usereg = FLD (in_rm);
12641     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
12642   }
12643   {
12644     int referenced = 0;
12645     unsigned long long insn_referenced = abuf->written;
12646     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
12647   }
12648   return cycles;
12649 #undef FLD
12650 }
12651
12652 UINT
12653 sh5_media_sh5_media_model::model_ldb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12654 {
12655 #define FLD(f) abuf->fields.sfmt_addi.f
12656   const sh5_media_scache* abuf = sem;
12657   const sh5_media_idesc* idesc = abuf->idesc;
12658   int cycles = 0;
12659   {
12660     INT in_usereg = -1;
12661     in_usereg = FLD (in_rm);
12662     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
12663   }
12664   {
12665     cycles += model_u_exec_before (current_cpu, idesc, 1);
12666   }
12667   {
12668     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
12669   }
12670   {
12671     INT out_loadreg = -1;
12672     out_loadreg = FLD (out_rd);
12673     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
12674   }
12675   return cycles;
12676 #undef FLD
12677 }
12678
12679 UINT
12680 sh5_media_sh5_media_model::model_ldb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12681 {
12682 #define FLD(f) abuf->fields.sfmt_addi.f
12683   const sh5_media_scache* abuf = sem;
12684   const sh5_media_idesc* idesc = abuf->idesc;
12685   int cycles = 0;
12686   {
12687     int referenced = 0;
12688     unsigned long long insn_referenced = abuf->written;
12689     INT in_usereg = -1;
12690     in_usereg = FLD (in_rm);
12691     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
12692   }
12693   {
12694     int referenced = 0;
12695     unsigned long long insn_referenced = abuf->written;
12696     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
12697   }
12698   {
12699     int referenced = 0;
12700     unsigned long long insn_referenced = abuf->written;
12701     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
12702   }
12703   {
12704     int referenced = 0;
12705     unsigned long long insn_referenced = abuf->written;
12706     INT out_loadreg = -1;
12707     out_loadreg = FLD (out_rd);
12708     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
12709   }
12710   return cycles;
12711 #undef FLD
12712 }
12713
12714 UINT
12715 sh5_media_sh5_media_model::model_ldl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12716 {
12717 #define FLD(f) abuf->fields.sfmt_ldl.f
12718   const sh5_media_scache* abuf = sem;
12719   const sh5_media_idesc* idesc = abuf->idesc;
12720   int cycles = 0;
12721   {
12722     INT in_usereg = -1;
12723     in_usereg = FLD (in_rm);
12724     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
12725   }
12726   {
12727     cycles += model_u_exec_before (current_cpu, idesc, 1);
12728   }
12729   {
12730     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
12731   }
12732   {
12733     INT out_loadreg = -1;
12734     out_loadreg = FLD (out_rd);
12735     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
12736   }
12737   return cycles;
12738 #undef FLD
12739 }
12740
12741 UINT
12742 sh5_media_sh5_media_model::model_ldl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12743 {
12744 #define FLD(f) abuf->fields.sfmt_ldl.f
12745   const sh5_media_scache* abuf = sem;
12746   const sh5_media_idesc* idesc = abuf->idesc;
12747   int cycles = 0;
12748   {
12749     int referenced = 0;
12750     unsigned long long insn_referenced = abuf->written;
12751     INT in_usereg = -1;
12752     in_usereg = FLD (in_rm);
12753     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
12754   }
12755   {
12756     int referenced = 0;
12757     unsigned long long insn_referenced = abuf->written;
12758     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
12759   }
12760   {
12761     int referenced = 0;
12762     unsigned long long insn_referenced = abuf->written;
12763     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
12764   }
12765   {
12766     int referenced = 0;
12767     unsigned long long insn_referenced = abuf->written;
12768     INT out_loadreg = -1;
12769     out_loadreg = FLD (out_rd);
12770     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
12771   }
12772   return cycles;
12773 #undef FLD
12774 }
12775
12776 UINT
12777 sh5_media_sh5_media_model::model_ldq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12778 {
12779 #define FLD(f) abuf->fields.sfmt_ldq.f
12780   const sh5_media_scache* abuf = sem;
12781   const sh5_media_idesc* idesc = abuf->idesc;
12782   int cycles = 0;
12783   {
12784     INT in_usereg = -1;
12785     in_usereg = FLD (in_rm);
12786     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
12787   }
12788   {
12789     cycles += model_u_exec_before (current_cpu, idesc, 1);
12790   }
12791   {
12792     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
12793   }
12794   {
12795     INT out_loadreg = -1;
12796     out_loadreg = FLD (out_rd);
12797     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
12798   }
12799   return cycles;
12800 #undef FLD
12801 }
12802
12803 UINT
12804 sh5_media_sh5_media_model::model_ldq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12805 {
12806 #define FLD(f) abuf->fields.sfmt_ldq.f
12807   const sh5_media_scache* abuf = sem;
12808   const sh5_media_idesc* idesc = abuf->idesc;
12809   int cycles = 0;
12810   {
12811     int referenced = 0;
12812     unsigned long long insn_referenced = abuf->written;
12813     INT in_usereg = -1;
12814     in_usereg = FLD (in_rm);
12815     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
12816   }
12817   {
12818     int referenced = 0;
12819     unsigned long long insn_referenced = abuf->written;
12820     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
12821   }
12822   {
12823     int referenced = 0;
12824     unsigned long long insn_referenced = abuf->written;
12825     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
12826   }
12827   {
12828     int referenced = 0;
12829     unsigned long long insn_referenced = abuf->written;
12830     INT out_loadreg = -1;
12831     out_loadreg = FLD (out_rd);
12832     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
12833   }
12834   return cycles;
12835 #undef FLD
12836 }
12837
12838 UINT
12839 sh5_media_sh5_media_model::model_ldub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12840 {
12841 #define FLD(f) abuf->fields.sfmt_addi.f
12842   const sh5_media_scache* abuf = sem;
12843   const sh5_media_idesc* idesc = abuf->idesc;
12844   int cycles = 0;
12845   {
12846     INT in_usereg = -1;
12847     in_usereg = FLD (in_rm);
12848     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
12849   }
12850   {
12851     cycles += model_u_exec_before (current_cpu, idesc, 1);
12852   }
12853   {
12854     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
12855   }
12856   {
12857     INT out_loadreg = -1;
12858     out_loadreg = FLD (out_rd);
12859     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
12860   }
12861   return cycles;
12862 #undef FLD
12863 }
12864
12865 UINT
12866 sh5_media_sh5_media_model::model_ldub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12867 {
12868 #define FLD(f) abuf->fields.sfmt_addi.f
12869   const sh5_media_scache* abuf = sem;
12870   const sh5_media_idesc* idesc = abuf->idesc;
12871   int cycles = 0;
12872   {
12873     int referenced = 0;
12874     unsigned long long insn_referenced = abuf->written;
12875     INT in_usereg = -1;
12876     in_usereg = FLD (in_rm);
12877     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
12878   }
12879   {
12880     int referenced = 0;
12881     unsigned long long insn_referenced = abuf->written;
12882     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
12883   }
12884   {
12885     int referenced = 0;
12886     unsigned long long insn_referenced = abuf->written;
12887     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
12888   }
12889   {
12890     int referenced = 0;
12891     unsigned long long insn_referenced = abuf->written;
12892     INT out_loadreg = -1;
12893     out_loadreg = FLD (out_rd);
12894     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
12895   }
12896   return cycles;
12897 #undef FLD
12898 }
12899
12900 UINT
12901 sh5_media_sh5_media_model::model_lduw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12902 {
12903 #define FLD(f) abuf->fields.sfmt_lduw.f
12904   const sh5_media_scache* abuf = sem;
12905   const sh5_media_idesc* idesc = abuf->idesc;
12906   int cycles = 0;
12907   {
12908     INT in_usereg = -1;
12909     in_usereg = FLD (in_rm);
12910     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
12911   }
12912   {
12913     cycles += model_u_exec_before (current_cpu, idesc, 1);
12914   }
12915   {
12916     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
12917   }
12918   {
12919     INT out_loadreg = -1;
12920     out_loadreg = FLD (out_rd);
12921     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
12922   }
12923   return cycles;
12924 #undef FLD
12925 }
12926
12927 UINT
12928 sh5_media_sh5_media_model::model_lduw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12929 {
12930 #define FLD(f) abuf->fields.sfmt_lduw.f
12931   const sh5_media_scache* abuf = sem;
12932   const sh5_media_idesc* idesc = abuf->idesc;
12933   int cycles = 0;
12934   {
12935     int referenced = 0;
12936     unsigned long long insn_referenced = abuf->written;
12937     INT in_usereg = -1;
12938     in_usereg = FLD (in_rm);
12939     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
12940   }
12941   {
12942     int referenced = 0;
12943     unsigned long long insn_referenced = abuf->written;
12944     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
12945   }
12946   {
12947     int referenced = 0;
12948     unsigned long long insn_referenced = abuf->written;
12949     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
12950   }
12951   {
12952     int referenced = 0;
12953     unsigned long long insn_referenced = abuf->written;
12954     INT out_loadreg = -1;
12955     out_loadreg = FLD (out_rd);
12956     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
12957   }
12958   return cycles;
12959 #undef FLD
12960 }
12961
12962 UINT
12963 sh5_media_sh5_media_model::model_ldw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
12964 {
12965 #define FLD(f) abuf->fields.sfmt_lduw.f
12966   const sh5_media_scache* abuf = sem;
12967   const sh5_media_idesc* idesc = abuf->idesc;
12968   int cycles = 0;
12969   {
12970     INT in_usereg = -1;
12971     in_usereg = FLD (in_rm);
12972     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
12973   }
12974   {
12975     cycles += model_u_exec_before (current_cpu, idesc, 1);
12976   }
12977   {
12978     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
12979   }
12980   {
12981     INT out_loadreg = -1;
12982     out_loadreg = FLD (out_rd);
12983     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
12984   }
12985   return cycles;
12986 #undef FLD
12987 }
12988
12989 UINT
12990 sh5_media_sh5_media_model::model_ldw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
12991 {
12992 #define FLD(f) abuf->fields.sfmt_lduw.f
12993   const sh5_media_scache* abuf = sem;
12994   const sh5_media_idesc* idesc = abuf->idesc;
12995   int cycles = 0;
12996   {
12997     int referenced = 0;
12998     unsigned long long insn_referenced = abuf->written;
12999     INT in_usereg = -1;
13000     in_usereg = FLD (in_rm);
13001     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13002   }
13003   {
13004     int referenced = 0;
13005     unsigned long long insn_referenced = abuf->written;
13006     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
13007   }
13008   {
13009     int referenced = 0;
13010     unsigned long long insn_referenced = abuf->written;
13011     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
13012   }
13013   {
13014     int referenced = 0;
13015     unsigned long long insn_referenced = abuf->written;
13016     INT out_loadreg = -1;
13017     out_loadreg = FLD (out_rd);
13018     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
13019   }
13020   return cycles;
13021 #undef FLD
13022 }
13023
13024 UINT
13025 sh5_media_sh5_media_model::model_ldhil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13026 {
13027 #define FLD(f) abuf->fields.sfmt_getcfg.f
13028   const sh5_media_scache* abuf = sem;
13029   const sh5_media_idesc* idesc = abuf->idesc;
13030   int cycles = 0;
13031   {
13032     INT in_usereg = -1;
13033     in_usereg = FLD (in_rm);
13034     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13035   }
13036   {
13037     cycles += model_u_exec_before (current_cpu, idesc, 1);
13038   }
13039   {
13040     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
13041   }
13042   {
13043     INT out_loadreg = -1;
13044     out_loadreg = FLD (out_rd);
13045     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
13046   }
13047   return cycles;
13048 #undef FLD
13049 }
13050
13051 UINT
13052 sh5_media_sh5_media_model::model_ldhil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13053 {
13054 #define FLD(f) abuf->fields.sfmt_getcfg.f
13055   const sh5_media_scache* abuf = sem;
13056   const sh5_media_idesc* idesc = abuf->idesc;
13057   int cycles = 0;
13058   {
13059     int referenced = 0;
13060     unsigned long long insn_referenced = abuf->written;
13061     INT in_usereg = -1;
13062     in_usereg = FLD (in_rm);
13063     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13064   }
13065   {
13066     int referenced = 0;
13067     unsigned long long insn_referenced = abuf->written;
13068     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
13069   }
13070   {
13071     int referenced = 0;
13072     unsigned long long insn_referenced = abuf->written;
13073     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
13074   }
13075   {
13076     int referenced = 0;
13077     unsigned long long insn_referenced = abuf->written;
13078     INT out_loadreg = -1;
13079     out_loadreg = FLD (out_rd);
13080     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
13081   }
13082   return cycles;
13083 #undef FLD
13084 }
13085
13086 UINT
13087 sh5_media_sh5_media_model::model_ldhiq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13088 {
13089 #define FLD(f) abuf->fields.sfmt_getcfg.f
13090   const sh5_media_scache* abuf = sem;
13091   const sh5_media_idesc* idesc = abuf->idesc;
13092   int cycles = 0;
13093   {
13094     INT in_usereg = -1;
13095     in_usereg = FLD (in_rm);
13096     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13097   }
13098   {
13099     cycles += model_u_exec_before (current_cpu, idesc, 1);
13100   }
13101   {
13102     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
13103   }
13104   {
13105     INT out_loadreg = -1;
13106     out_loadreg = FLD (out_rd);
13107     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
13108   }
13109   return cycles;
13110 #undef FLD
13111 }
13112
13113 UINT
13114 sh5_media_sh5_media_model::model_ldhiq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13115 {
13116 #define FLD(f) abuf->fields.sfmt_getcfg.f
13117   const sh5_media_scache* abuf = sem;
13118   const sh5_media_idesc* idesc = abuf->idesc;
13119   int cycles = 0;
13120   {
13121     int referenced = 0;
13122     unsigned long long insn_referenced = abuf->written;
13123     INT in_usereg = -1;
13124     in_usereg = FLD (in_rm);
13125     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13126   }
13127   {
13128     int referenced = 0;
13129     unsigned long long insn_referenced = abuf->written;
13130     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
13131   }
13132   {
13133     int referenced = 0;
13134     unsigned long long insn_referenced = abuf->written;
13135     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
13136   }
13137   {
13138     int referenced = 0;
13139     unsigned long long insn_referenced = abuf->written;
13140     INT out_loadreg = -1;
13141     out_loadreg = FLD (out_rd);
13142     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
13143   }
13144   return cycles;
13145 #undef FLD
13146 }
13147
13148 UINT
13149 sh5_media_sh5_media_model::model_ldlol_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13150 {
13151 #define FLD(f) abuf->fields.sfmt_getcfg.f
13152   const sh5_media_scache* abuf = sem;
13153   const sh5_media_idesc* idesc = abuf->idesc;
13154   int cycles = 0;
13155   {
13156     INT in_usereg = -1;
13157     in_usereg = FLD (in_rm);
13158     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13159   }
13160   {
13161     cycles += model_u_exec_before (current_cpu, idesc, 1);
13162   }
13163   {
13164     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
13165   }
13166   {
13167     INT out_loadreg = -1;
13168     out_loadreg = FLD (out_rd);
13169     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
13170   }
13171   return cycles;
13172 #undef FLD
13173 }
13174
13175 UINT
13176 sh5_media_sh5_media_model::model_ldlol_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13177 {
13178 #define FLD(f) abuf->fields.sfmt_getcfg.f
13179   const sh5_media_scache* abuf = sem;
13180   const sh5_media_idesc* idesc = abuf->idesc;
13181   int cycles = 0;
13182   {
13183     int referenced = 0;
13184     unsigned long long insn_referenced = abuf->written;
13185     INT in_usereg = -1;
13186     in_usereg = FLD (in_rm);
13187     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13188   }
13189   {
13190     int referenced = 0;
13191     unsigned long long insn_referenced = abuf->written;
13192     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
13193   }
13194   {
13195     int referenced = 0;
13196     unsigned long long insn_referenced = abuf->written;
13197     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
13198   }
13199   {
13200     int referenced = 0;
13201     unsigned long long insn_referenced = abuf->written;
13202     INT out_loadreg = -1;
13203     out_loadreg = FLD (out_rd);
13204     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
13205   }
13206   return cycles;
13207 #undef FLD
13208 }
13209
13210 UINT
13211 sh5_media_sh5_media_model::model_ldloq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13212 {
13213 #define FLD(f) abuf->fields.sfmt_getcfg.f
13214   const sh5_media_scache* abuf = sem;
13215   const sh5_media_idesc* idesc = abuf->idesc;
13216   int cycles = 0;
13217   {
13218     INT in_usereg = -1;
13219     in_usereg = FLD (in_rm);
13220     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13221   }
13222   {
13223     cycles += model_u_exec_before (current_cpu, idesc, 1);
13224   }
13225   {
13226     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
13227   }
13228   {
13229     INT out_loadreg = -1;
13230     out_loadreg = FLD (out_rd);
13231     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
13232   }
13233   return cycles;
13234 #undef FLD
13235 }
13236
13237 UINT
13238 sh5_media_sh5_media_model::model_ldloq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13239 {
13240 #define FLD(f) abuf->fields.sfmt_getcfg.f
13241   const sh5_media_scache* abuf = sem;
13242   const sh5_media_idesc* idesc = abuf->idesc;
13243   int cycles = 0;
13244   {
13245     int referenced = 0;
13246     unsigned long long insn_referenced = abuf->written;
13247     INT in_usereg = -1;
13248     in_usereg = FLD (in_rm);
13249     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13250   }
13251   {
13252     int referenced = 0;
13253     unsigned long long insn_referenced = abuf->written;
13254     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
13255   }
13256   {
13257     int referenced = 0;
13258     unsigned long long insn_referenced = abuf->written;
13259     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
13260   }
13261   {
13262     int referenced = 0;
13263     unsigned long long insn_referenced = abuf->written;
13264     INT out_loadreg = -1;
13265     out_loadreg = FLD (out_rd);
13266     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
13267   }
13268   return cycles;
13269 #undef FLD
13270 }
13271
13272 UINT
13273 sh5_media_sh5_media_model::model_ldxb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13274 {
13275 #define FLD(f) abuf->fields.sfmt_mcmv.f
13276   const sh5_media_scache* abuf = sem;
13277   const sh5_media_idesc* idesc = abuf->idesc;
13278   int cycles = 0;
13279   {
13280     INT in_usereg = -1;
13281     in_usereg = FLD (in_rm);
13282     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13283   }
13284   {
13285     INT in_usereg = -1;
13286     in_usereg = FLD (in_rn);
13287     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
13288   }
13289   {
13290     cycles += model_u_exec_before (current_cpu, idesc, 2);
13291   }
13292   {
13293     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
13294   }
13295   {
13296     INT out_loadreg = -1;
13297     out_loadreg = FLD (out_rd);
13298     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
13299   }
13300   return cycles;
13301 #undef FLD
13302 }
13303
13304 UINT
13305 sh5_media_sh5_media_model::model_ldxb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13306 {
13307 #define FLD(f) abuf->fields.sfmt_mcmv.f
13308   const sh5_media_scache* abuf = sem;
13309   const sh5_media_idesc* idesc = abuf->idesc;
13310   int cycles = 0;
13311   {
13312     int referenced = 0;
13313     unsigned long long insn_referenced = abuf->written;
13314     INT in_usereg = -1;
13315     in_usereg = FLD (in_rm);
13316     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13317   }
13318   {
13319     int referenced = 0;
13320     unsigned long long insn_referenced = abuf->written;
13321     INT in_usereg = -1;
13322     in_usereg = FLD (in_rn);
13323     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
13324   }
13325   {
13326     int referenced = 0;
13327     unsigned long long insn_referenced = abuf->written;
13328     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
13329   }
13330   {
13331     int referenced = 0;
13332     unsigned long long insn_referenced = abuf->written;
13333     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
13334   }
13335   {
13336     int referenced = 0;
13337     unsigned long long insn_referenced = abuf->written;
13338     INT out_loadreg = -1;
13339     out_loadreg = FLD (out_rd);
13340     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
13341   }
13342   return cycles;
13343 #undef FLD
13344 }
13345
13346 UINT
13347 sh5_media_sh5_media_model::model_ldxl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13348 {
13349 #define FLD(f) abuf->fields.sfmt_mcmv.f
13350   const sh5_media_scache* abuf = sem;
13351   const sh5_media_idesc* idesc = abuf->idesc;
13352   int cycles = 0;
13353   {
13354     INT in_usereg = -1;
13355     in_usereg = FLD (in_rm);
13356     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13357   }
13358   {
13359     INT in_usereg = -1;
13360     in_usereg = FLD (in_rn);
13361     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
13362   }
13363   {
13364     cycles += model_u_exec_before (current_cpu, idesc, 2);
13365   }
13366   {
13367     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
13368   }
13369   {
13370     INT out_loadreg = -1;
13371     out_loadreg = FLD (out_rd);
13372     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
13373   }
13374   return cycles;
13375 #undef FLD
13376 }
13377
13378 UINT
13379 sh5_media_sh5_media_model::model_ldxl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13380 {
13381 #define FLD(f) abuf->fields.sfmt_mcmv.f
13382   const sh5_media_scache* abuf = sem;
13383   const sh5_media_idesc* idesc = abuf->idesc;
13384   int cycles = 0;
13385   {
13386     int referenced = 0;
13387     unsigned long long insn_referenced = abuf->written;
13388     INT in_usereg = -1;
13389     in_usereg = FLD (in_rm);
13390     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13391   }
13392   {
13393     int referenced = 0;
13394     unsigned long long insn_referenced = abuf->written;
13395     INT in_usereg = -1;
13396     in_usereg = FLD (in_rn);
13397     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
13398   }
13399   {
13400     int referenced = 0;
13401     unsigned long long insn_referenced = abuf->written;
13402     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
13403   }
13404   {
13405     int referenced = 0;
13406     unsigned long long insn_referenced = abuf->written;
13407     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
13408   }
13409   {
13410     int referenced = 0;
13411     unsigned long long insn_referenced = abuf->written;
13412     INT out_loadreg = -1;
13413     out_loadreg = FLD (out_rd);
13414     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
13415   }
13416   return cycles;
13417 #undef FLD
13418 }
13419
13420 UINT
13421 sh5_media_sh5_media_model::model_ldxq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13422 {
13423 #define FLD(f) abuf->fields.sfmt_mcmv.f
13424   const sh5_media_scache* abuf = sem;
13425   const sh5_media_idesc* idesc = abuf->idesc;
13426   int cycles = 0;
13427   {
13428     INT in_usereg = -1;
13429     in_usereg = FLD (in_rm);
13430     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13431   }
13432   {
13433     INT in_usereg = -1;
13434     in_usereg = FLD (in_rn);
13435     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
13436   }
13437   {
13438     cycles += model_u_exec_before (current_cpu, idesc, 2);
13439   }
13440   {
13441     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
13442   }
13443   {
13444     INT out_loadreg = -1;
13445     out_loadreg = FLD (out_rd);
13446     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
13447   }
13448   return cycles;
13449 #undef FLD
13450 }
13451
13452 UINT
13453 sh5_media_sh5_media_model::model_ldxq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13454 {
13455 #define FLD(f) abuf->fields.sfmt_mcmv.f
13456   const sh5_media_scache* abuf = sem;
13457   const sh5_media_idesc* idesc = abuf->idesc;
13458   int cycles = 0;
13459   {
13460     int referenced = 0;
13461     unsigned long long insn_referenced = abuf->written;
13462     INT in_usereg = -1;
13463     in_usereg = FLD (in_rm);
13464     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13465   }
13466   {
13467     int referenced = 0;
13468     unsigned long long insn_referenced = abuf->written;
13469     INT in_usereg = -1;
13470     in_usereg = FLD (in_rn);
13471     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
13472   }
13473   {
13474     int referenced = 0;
13475     unsigned long long insn_referenced = abuf->written;
13476     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
13477   }
13478   {
13479     int referenced = 0;
13480     unsigned long long insn_referenced = abuf->written;
13481     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
13482   }
13483   {
13484     int referenced = 0;
13485     unsigned long long insn_referenced = abuf->written;
13486     INT out_loadreg = -1;
13487     out_loadreg = FLD (out_rd);
13488     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
13489   }
13490   return cycles;
13491 #undef FLD
13492 }
13493
13494 UINT
13495 sh5_media_sh5_media_model::model_ldxub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13496 {
13497 #define FLD(f) abuf->fields.sfmt_mcmv.f
13498   const sh5_media_scache* abuf = sem;
13499   const sh5_media_idesc* idesc = abuf->idesc;
13500   int cycles = 0;
13501   {
13502     INT in_usereg = -1;
13503     in_usereg = FLD (in_rm);
13504     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13505   }
13506   {
13507     INT in_usereg = -1;
13508     in_usereg = FLD (in_rn);
13509     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
13510   }
13511   {
13512     cycles += model_u_exec_before (current_cpu, idesc, 2);
13513   }
13514   {
13515     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
13516   }
13517   {
13518     INT out_loadreg = -1;
13519     out_loadreg = FLD (out_rd);
13520     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
13521   }
13522   return cycles;
13523 #undef FLD
13524 }
13525
13526 UINT
13527 sh5_media_sh5_media_model::model_ldxub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13528 {
13529 #define FLD(f) abuf->fields.sfmt_mcmv.f
13530   const sh5_media_scache* abuf = sem;
13531   const sh5_media_idesc* idesc = abuf->idesc;
13532   int cycles = 0;
13533   {
13534     int referenced = 0;
13535     unsigned long long insn_referenced = abuf->written;
13536     INT in_usereg = -1;
13537     in_usereg = FLD (in_rm);
13538     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13539   }
13540   {
13541     int referenced = 0;
13542     unsigned long long insn_referenced = abuf->written;
13543     INT in_usereg = -1;
13544     in_usereg = FLD (in_rn);
13545     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
13546   }
13547   {
13548     int referenced = 0;
13549     unsigned long long insn_referenced = abuf->written;
13550     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
13551   }
13552   {
13553     int referenced = 0;
13554     unsigned long long insn_referenced = abuf->written;
13555     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
13556   }
13557   {
13558     int referenced = 0;
13559     unsigned long long insn_referenced = abuf->written;
13560     INT out_loadreg = -1;
13561     out_loadreg = FLD (out_rd);
13562     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
13563   }
13564   return cycles;
13565 #undef FLD
13566 }
13567
13568 UINT
13569 sh5_media_sh5_media_model::model_ldxuw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13570 {
13571 #define FLD(f) abuf->fields.sfmt_mcmv.f
13572   const sh5_media_scache* abuf = sem;
13573   const sh5_media_idesc* idesc = abuf->idesc;
13574   int cycles = 0;
13575   {
13576     INT in_usereg = -1;
13577     in_usereg = FLD (in_rm);
13578     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13579   }
13580   {
13581     INT in_usereg = -1;
13582     in_usereg = FLD (in_rn);
13583     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
13584   }
13585   {
13586     cycles += model_u_exec_before (current_cpu, idesc, 2);
13587   }
13588   {
13589     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
13590   }
13591   {
13592     INT out_loadreg = -1;
13593     out_loadreg = FLD (out_rd);
13594     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
13595   }
13596   return cycles;
13597 #undef FLD
13598 }
13599
13600 UINT
13601 sh5_media_sh5_media_model::model_ldxuw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13602 {
13603 #define FLD(f) abuf->fields.sfmt_mcmv.f
13604   const sh5_media_scache* abuf = sem;
13605   const sh5_media_idesc* idesc = abuf->idesc;
13606   int cycles = 0;
13607   {
13608     int referenced = 0;
13609     unsigned long long insn_referenced = abuf->written;
13610     INT in_usereg = -1;
13611     in_usereg = FLD (in_rm);
13612     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13613   }
13614   {
13615     int referenced = 0;
13616     unsigned long long insn_referenced = abuf->written;
13617     INT in_usereg = -1;
13618     in_usereg = FLD (in_rn);
13619     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
13620   }
13621   {
13622     int referenced = 0;
13623     unsigned long long insn_referenced = abuf->written;
13624     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
13625   }
13626   {
13627     int referenced = 0;
13628     unsigned long long insn_referenced = abuf->written;
13629     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
13630   }
13631   {
13632     int referenced = 0;
13633     unsigned long long insn_referenced = abuf->written;
13634     INT out_loadreg = -1;
13635     out_loadreg = FLD (out_rd);
13636     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
13637   }
13638   return cycles;
13639 #undef FLD
13640 }
13641
13642 UINT
13643 sh5_media_sh5_media_model::model_ldxw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13644 {
13645 #define FLD(f) abuf->fields.sfmt_mcmv.f
13646   const sh5_media_scache* abuf = sem;
13647   const sh5_media_idesc* idesc = abuf->idesc;
13648   int cycles = 0;
13649   {
13650     INT in_usereg = -1;
13651     in_usereg = FLD (in_rm);
13652     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13653   }
13654   {
13655     INT in_usereg = -1;
13656     in_usereg = FLD (in_rn);
13657     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
13658   }
13659   {
13660     cycles += model_u_exec_before (current_cpu, idesc, 2);
13661   }
13662   {
13663     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
13664   }
13665   {
13666     INT out_loadreg = -1;
13667     out_loadreg = FLD (out_rd);
13668     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
13669   }
13670   return cycles;
13671 #undef FLD
13672 }
13673
13674 UINT
13675 sh5_media_sh5_media_model::model_ldxw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13676 {
13677 #define FLD(f) abuf->fields.sfmt_mcmv.f
13678   const sh5_media_scache* abuf = sem;
13679   const sh5_media_idesc* idesc = abuf->idesc;
13680   int cycles = 0;
13681   {
13682     int referenced = 0;
13683     unsigned long long insn_referenced = abuf->written;
13684     INT in_usereg = -1;
13685     in_usereg = FLD (in_rm);
13686     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13687   }
13688   {
13689     int referenced = 0;
13690     unsigned long long insn_referenced = abuf->written;
13691     INT in_usereg = -1;
13692     in_usereg = FLD (in_rn);
13693     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
13694   }
13695   {
13696     int referenced = 0;
13697     unsigned long long insn_referenced = abuf->written;
13698     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
13699   }
13700   {
13701     int referenced = 0;
13702     unsigned long long insn_referenced = abuf->written;
13703     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
13704   }
13705   {
13706     int referenced = 0;
13707     unsigned long long insn_referenced = abuf->written;
13708     INT out_loadreg = -1;
13709     out_loadreg = FLD (out_rd);
13710     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
13711   }
13712   return cycles;
13713 #undef FLD
13714 }
13715
13716 UINT
13717 sh5_media_sh5_media_model::model_mabsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13718 {
13719 #define FLD(f) abuf->fields.sfmt_xori.f
13720   const sh5_media_scache* abuf = sem;
13721   const sh5_media_idesc* idesc = abuf->idesc;
13722   int cycles = 0;
13723   {
13724     INT in_usereg = -1;
13725     in_usereg = FLD (in_rm);
13726     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13727   }
13728   {
13729     cycles += model_u_exec_before (current_cpu, idesc, 1);
13730   }
13731   {
13732     INT out_loadreg = -1;
13733     out_loadreg = FLD (out_rd);
13734     cycles += model_u_set_gr_before (current_cpu, idesc, 2, out_loadreg);
13735   }
13736   return cycles;
13737 #undef FLD
13738 }
13739
13740 UINT
13741 sh5_media_sh5_media_model::model_mabsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13742 {
13743 #define FLD(f) abuf->fields.sfmt_xori.f
13744   const sh5_media_scache* abuf = sem;
13745   const sh5_media_idesc* idesc = abuf->idesc;
13746   int cycles = 0;
13747   {
13748     int referenced = 0;
13749     unsigned long long insn_referenced = abuf->written;
13750     INT in_usereg = -1;
13751     in_usereg = FLD (in_rm);
13752     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13753   }
13754   {
13755     int referenced = 0;
13756     unsigned long long insn_referenced = abuf->written;
13757     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
13758   }
13759   {
13760     int referenced = 0;
13761     unsigned long long insn_referenced = abuf->written;
13762     INT out_loadreg = -1;
13763     out_loadreg = FLD (out_rd);
13764     cycles += model_u_set_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
13765   }
13766   return cycles;
13767 #undef FLD
13768 }
13769
13770 UINT
13771 sh5_media_sh5_media_model::model_mabsw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13772 {
13773 #define FLD(f) abuf->fields.sfmt_xori.f
13774   const sh5_media_scache* abuf = sem;
13775   const sh5_media_idesc* idesc = abuf->idesc;
13776   int cycles = 0;
13777   {
13778     INT in_usereg = -1;
13779     in_usereg = FLD (in_rm);
13780     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13781   }
13782   {
13783     cycles += model_u_exec_before (current_cpu, idesc, 1);
13784   }
13785   {
13786     INT out_loadreg = -1;
13787     out_loadreg = FLD (out_rd);
13788     cycles += model_u_set_gr_before (current_cpu, idesc, 2, out_loadreg);
13789   }
13790   return cycles;
13791 #undef FLD
13792 }
13793
13794 UINT
13795 sh5_media_sh5_media_model::model_mabsw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13796 {
13797 #define FLD(f) abuf->fields.sfmt_xori.f
13798   const sh5_media_scache* abuf = sem;
13799   const sh5_media_idesc* idesc = abuf->idesc;
13800   int cycles = 0;
13801   {
13802     int referenced = 0;
13803     unsigned long long insn_referenced = abuf->written;
13804     INT in_usereg = -1;
13805     in_usereg = FLD (in_rm);
13806     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13807   }
13808   {
13809     int referenced = 0;
13810     unsigned long long insn_referenced = abuf->written;
13811     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
13812   }
13813   {
13814     int referenced = 0;
13815     unsigned long long insn_referenced = abuf->written;
13816     INT out_loadreg = -1;
13817     out_loadreg = FLD (out_rd);
13818     cycles += model_u_set_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
13819   }
13820   return cycles;
13821 #undef FLD
13822 }
13823
13824 UINT
13825 sh5_media_sh5_media_model::model_maddl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13826 {
13827 #define FLD(f) abuf->fields.sfmt_mcmv.f
13828   const sh5_media_scache* abuf = sem;
13829   const sh5_media_idesc* idesc = abuf->idesc;
13830   int cycles = 0;
13831   {
13832     INT in_usereg = -1;
13833     in_usereg = FLD (in_rm);
13834     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13835   }
13836   {
13837     INT in_usereg = -1;
13838     in_usereg = FLD (in_rn);
13839     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
13840   }
13841   {
13842     cycles += model_u_exec_before (current_cpu, idesc, 2);
13843   }
13844   return cycles;
13845 #undef FLD
13846 }
13847
13848 UINT
13849 sh5_media_sh5_media_model::model_maddl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13850 {
13851 #define FLD(f) abuf->fields.sfmt_mcmv.f
13852   const sh5_media_scache* abuf = sem;
13853   const sh5_media_idesc* idesc = abuf->idesc;
13854   int cycles = 0;
13855   {
13856     int referenced = 0;
13857     unsigned long long insn_referenced = abuf->written;
13858     INT in_usereg = -1;
13859     in_usereg = FLD (in_rm);
13860     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13861   }
13862   {
13863     int referenced = 0;
13864     unsigned long long insn_referenced = abuf->written;
13865     INT in_usereg = -1;
13866     in_usereg = FLD (in_rn);
13867     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
13868   }
13869   {
13870     int referenced = 0;
13871     unsigned long long insn_referenced = abuf->written;
13872     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
13873   }
13874   return cycles;
13875 #undef FLD
13876 }
13877
13878 UINT
13879 sh5_media_sh5_media_model::model_maddw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13880 {
13881 #define FLD(f) abuf->fields.sfmt_mcmv.f
13882   const sh5_media_scache* abuf = sem;
13883   const sh5_media_idesc* idesc = abuf->idesc;
13884   int cycles = 0;
13885   {
13886     INT in_usereg = -1;
13887     in_usereg = FLD (in_rm);
13888     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13889   }
13890   {
13891     INT in_usereg = -1;
13892     in_usereg = FLD (in_rn);
13893     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
13894   }
13895   {
13896     cycles += model_u_exec_before (current_cpu, idesc, 2);
13897   }
13898   return cycles;
13899 #undef FLD
13900 }
13901
13902 UINT
13903 sh5_media_sh5_media_model::model_maddw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13904 {
13905 #define FLD(f) abuf->fields.sfmt_mcmv.f
13906   const sh5_media_scache* abuf = sem;
13907   const sh5_media_idesc* idesc = abuf->idesc;
13908   int cycles = 0;
13909   {
13910     int referenced = 0;
13911     unsigned long long insn_referenced = abuf->written;
13912     INT in_usereg = -1;
13913     in_usereg = FLD (in_rm);
13914     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13915   }
13916   {
13917     int referenced = 0;
13918     unsigned long long insn_referenced = abuf->written;
13919     INT in_usereg = -1;
13920     in_usereg = FLD (in_rn);
13921     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
13922   }
13923   {
13924     int referenced = 0;
13925     unsigned long long insn_referenced = abuf->written;
13926     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
13927   }
13928   return cycles;
13929 #undef FLD
13930 }
13931
13932 UINT
13933 sh5_media_sh5_media_model::model_maddsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
13934 {
13935 #define FLD(f) abuf->fields.sfmt_mcmv.f
13936   const sh5_media_scache* abuf = sem;
13937   const sh5_media_idesc* idesc = abuf->idesc;
13938   int cycles = 0;
13939   {
13940     INT in_usereg = -1;
13941     in_usereg = FLD (in_rm);
13942     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
13943   }
13944   {
13945     INT in_usereg = -1;
13946     in_usereg = FLD (in_rn);
13947     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
13948   }
13949   {
13950     cycles += model_u_exec_before (current_cpu, idesc, 2);
13951   }
13952   {
13953     INT out_loadreg = -1;
13954     out_loadreg = FLD (out_rd);
13955     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
13956   }
13957   return cycles;
13958 #undef FLD
13959 }
13960
13961 UINT
13962 sh5_media_sh5_media_model::model_maddsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
13963 {
13964 #define FLD(f) abuf->fields.sfmt_mcmv.f
13965   const sh5_media_scache* abuf = sem;
13966   const sh5_media_idesc* idesc = abuf->idesc;
13967   int cycles = 0;
13968   {
13969     int referenced = 0;
13970     unsigned long long insn_referenced = abuf->written;
13971     INT in_usereg = -1;
13972     in_usereg = FLD (in_rm);
13973     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
13974   }
13975   {
13976     int referenced = 0;
13977     unsigned long long insn_referenced = abuf->written;
13978     INT in_usereg = -1;
13979     in_usereg = FLD (in_rn);
13980     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
13981   }
13982   {
13983     int referenced = 0;
13984     unsigned long long insn_referenced = abuf->written;
13985     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
13986   }
13987   {
13988     int referenced = 0;
13989     unsigned long long insn_referenced = abuf->written;
13990     INT out_loadreg = -1;
13991     out_loadreg = FLD (out_rd);
13992     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
13993   }
13994   return cycles;
13995 #undef FLD
13996 }
13997
13998 UINT
13999 sh5_media_sh5_media_model::model_maddsub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14000 {
14001 #define FLD(f) abuf->fields.sfmt_mcmv.f
14002   const sh5_media_scache* abuf = sem;
14003   const sh5_media_idesc* idesc = abuf->idesc;
14004   int cycles = 0;
14005   {
14006     INT in_usereg = -1;
14007     in_usereg = FLD (in_rm);
14008     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14009   }
14010   {
14011     INT in_usereg = -1;
14012     in_usereg = FLD (in_rn);
14013     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14014   }
14015   {
14016     cycles += model_u_exec_before (current_cpu, idesc, 2);
14017   }
14018   {
14019     INT out_loadreg = -1;
14020     out_loadreg = FLD (out_rd);
14021     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
14022   }
14023   return cycles;
14024 #undef FLD
14025 }
14026
14027 UINT
14028 sh5_media_sh5_media_model::model_maddsub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14029 {
14030 #define FLD(f) abuf->fields.sfmt_mcmv.f
14031   const sh5_media_scache* abuf = sem;
14032   const sh5_media_idesc* idesc = abuf->idesc;
14033   int cycles = 0;
14034   {
14035     int referenced = 0;
14036     unsigned long long insn_referenced = abuf->written;
14037     INT in_usereg = -1;
14038     in_usereg = FLD (in_rm);
14039     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14040   }
14041   {
14042     int referenced = 0;
14043     unsigned long long insn_referenced = abuf->written;
14044     INT in_usereg = -1;
14045     in_usereg = FLD (in_rn);
14046     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14047   }
14048   {
14049     int referenced = 0;
14050     unsigned long long insn_referenced = abuf->written;
14051     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14052   }
14053   {
14054     int referenced = 0;
14055     unsigned long long insn_referenced = abuf->written;
14056     INT out_loadreg = -1;
14057     out_loadreg = FLD (out_rd);
14058     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
14059   }
14060   return cycles;
14061 #undef FLD
14062 }
14063
14064 UINT
14065 sh5_media_sh5_media_model::model_maddsw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14066 {
14067 #define FLD(f) abuf->fields.sfmt_mcmv.f
14068   const sh5_media_scache* abuf = sem;
14069   const sh5_media_idesc* idesc = abuf->idesc;
14070   int cycles = 0;
14071   {
14072     INT in_usereg = -1;
14073     in_usereg = FLD (in_rm);
14074     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14075   }
14076   {
14077     INT in_usereg = -1;
14078     in_usereg = FLD (in_rn);
14079     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14080   }
14081   {
14082     cycles += model_u_exec_before (current_cpu, idesc, 2);
14083   }
14084   {
14085     INT out_loadreg = -1;
14086     out_loadreg = FLD (out_rd);
14087     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
14088   }
14089   return cycles;
14090 #undef FLD
14091 }
14092
14093 UINT
14094 sh5_media_sh5_media_model::model_maddsw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14095 {
14096 #define FLD(f) abuf->fields.sfmt_mcmv.f
14097   const sh5_media_scache* abuf = sem;
14098   const sh5_media_idesc* idesc = abuf->idesc;
14099   int cycles = 0;
14100   {
14101     int referenced = 0;
14102     unsigned long long insn_referenced = abuf->written;
14103     INT in_usereg = -1;
14104     in_usereg = FLD (in_rm);
14105     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14106   }
14107   {
14108     int referenced = 0;
14109     unsigned long long insn_referenced = abuf->written;
14110     INT in_usereg = -1;
14111     in_usereg = FLD (in_rn);
14112     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14113   }
14114   {
14115     int referenced = 0;
14116     unsigned long long insn_referenced = abuf->written;
14117     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14118   }
14119   {
14120     int referenced = 0;
14121     unsigned long long insn_referenced = abuf->written;
14122     INT out_loadreg = -1;
14123     out_loadreg = FLD (out_rd);
14124     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
14125   }
14126   return cycles;
14127 #undef FLD
14128 }
14129
14130 UINT
14131 sh5_media_sh5_media_model::model_mcmpeqb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14132 {
14133 #define FLD(f) abuf->fields.sfmt_mcmv.f
14134   const sh5_media_scache* abuf = sem;
14135   const sh5_media_idesc* idesc = abuf->idesc;
14136   int cycles = 0;
14137   {
14138     INT in_usereg = -1;
14139     in_usereg = FLD (in_rm);
14140     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14141   }
14142   {
14143     INT in_usereg = -1;
14144     in_usereg = FLD (in_rn);
14145     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14146   }
14147   {
14148     cycles += model_u_exec_before (current_cpu, idesc, 2);
14149   }
14150   {
14151     INT out_loadreg = -1;
14152     out_loadreg = FLD (out_rd);
14153     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
14154   }
14155   return cycles;
14156 #undef FLD
14157 }
14158
14159 UINT
14160 sh5_media_sh5_media_model::model_mcmpeqb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14161 {
14162 #define FLD(f) abuf->fields.sfmt_mcmv.f
14163   const sh5_media_scache* abuf = sem;
14164   const sh5_media_idesc* idesc = abuf->idesc;
14165   int cycles = 0;
14166   {
14167     int referenced = 0;
14168     unsigned long long insn_referenced = abuf->written;
14169     INT in_usereg = -1;
14170     in_usereg = FLD (in_rm);
14171     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14172   }
14173   {
14174     int referenced = 0;
14175     unsigned long long insn_referenced = abuf->written;
14176     INT in_usereg = -1;
14177     in_usereg = FLD (in_rn);
14178     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14179   }
14180   {
14181     int referenced = 0;
14182     unsigned long long insn_referenced = abuf->written;
14183     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14184   }
14185   {
14186     int referenced = 0;
14187     unsigned long long insn_referenced = abuf->written;
14188     INT out_loadreg = -1;
14189     out_loadreg = FLD (out_rd);
14190     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
14191   }
14192   return cycles;
14193 #undef FLD
14194 }
14195
14196 UINT
14197 sh5_media_sh5_media_model::model_mcmpeql_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14198 {
14199 #define FLD(f) abuf->fields.sfmt_mcmv.f
14200   const sh5_media_scache* abuf = sem;
14201   const sh5_media_idesc* idesc = abuf->idesc;
14202   int cycles = 0;
14203   {
14204     INT in_usereg = -1;
14205     in_usereg = FLD (in_rm);
14206     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14207   }
14208   {
14209     INT in_usereg = -1;
14210     in_usereg = FLD (in_rn);
14211     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14212   }
14213   {
14214     cycles += model_u_exec_before (current_cpu, idesc, 2);
14215   }
14216   {
14217     INT out_loadreg = -1;
14218     out_loadreg = FLD (out_rd);
14219     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
14220   }
14221   return cycles;
14222 #undef FLD
14223 }
14224
14225 UINT
14226 sh5_media_sh5_media_model::model_mcmpeql_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14227 {
14228 #define FLD(f) abuf->fields.sfmt_mcmv.f
14229   const sh5_media_scache* abuf = sem;
14230   const sh5_media_idesc* idesc = abuf->idesc;
14231   int cycles = 0;
14232   {
14233     int referenced = 0;
14234     unsigned long long insn_referenced = abuf->written;
14235     INT in_usereg = -1;
14236     in_usereg = FLD (in_rm);
14237     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14238   }
14239   {
14240     int referenced = 0;
14241     unsigned long long insn_referenced = abuf->written;
14242     INT in_usereg = -1;
14243     in_usereg = FLD (in_rn);
14244     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14245   }
14246   {
14247     int referenced = 0;
14248     unsigned long long insn_referenced = abuf->written;
14249     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14250   }
14251   {
14252     int referenced = 0;
14253     unsigned long long insn_referenced = abuf->written;
14254     INT out_loadreg = -1;
14255     out_loadreg = FLD (out_rd);
14256     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
14257   }
14258   return cycles;
14259 #undef FLD
14260 }
14261
14262 UINT
14263 sh5_media_sh5_media_model::model_mcmpeqw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14264 {
14265 #define FLD(f) abuf->fields.sfmt_mcmv.f
14266   const sh5_media_scache* abuf = sem;
14267   const sh5_media_idesc* idesc = abuf->idesc;
14268   int cycles = 0;
14269   {
14270     INT in_usereg = -1;
14271     in_usereg = FLD (in_rm);
14272     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14273   }
14274   {
14275     INT in_usereg = -1;
14276     in_usereg = FLD (in_rn);
14277     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14278   }
14279   {
14280     cycles += model_u_exec_before (current_cpu, idesc, 2);
14281   }
14282   {
14283     INT out_loadreg = -1;
14284     out_loadreg = FLD (out_rd);
14285     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
14286   }
14287   return cycles;
14288 #undef FLD
14289 }
14290
14291 UINT
14292 sh5_media_sh5_media_model::model_mcmpeqw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14293 {
14294 #define FLD(f) abuf->fields.sfmt_mcmv.f
14295   const sh5_media_scache* abuf = sem;
14296   const sh5_media_idesc* idesc = abuf->idesc;
14297   int cycles = 0;
14298   {
14299     int referenced = 0;
14300     unsigned long long insn_referenced = abuf->written;
14301     INT in_usereg = -1;
14302     in_usereg = FLD (in_rm);
14303     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14304   }
14305   {
14306     int referenced = 0;
14307     unsigned long long insn_referenced = abuf->written;
14308     INT in_usereg = -1;
14309     in_usereg = FLD (in_rn);
14310     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14311   }
14312   {
14313     int referenced = 0;
14314     unsigned long long insn_referenced = abuf->written;
14315     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14316   }
14317   {
14318     int referenced = 0;
14319     unsigned long long insn_referenced = abuf->written;
14320     INT out_loadreg = -1;
14321     out_loadreg = FLD (out_rd);
14322     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
14323   }
14324   return cycles;
14325 #undef FLD
14326 }
14327
14328 UINT
14329 sh5_media_sh5_media_model::model_mcmpgtl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14330 {
14331 #define FLD(f) abuf->fields.sfmt_mcmv.f
14332   const sh5_media_scache* abuf = sem;
14333   const sh5_media_idesc* idesc = abuf->idesc;
14334   int cycles = 0;
14335   {
14336     INT in_usereg = -1;
14337     in_usereg = FLD (in_rm);
14338     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14339   }
14340   {
14341     INT in_usereg = -1;
14342     in_usereg = FLD (in_rn);
14343     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14344   }
14345   {
14346     cycles += model_u_exec_before (current_cpu, idesc, 2);
14347   }
14348   {
14349     INT out_loadreg = -1;
14350     out_loadreg = FLD (out_rd);
14351     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
14352   }
14353   return cycles;
14354 #undef FLD
14355 }
14356
14357 UINT
14358 sh5_media_sh5_media_model::model_mcmpgtl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14359 {
14360 #define FLD(f) abuf->fields.sfmt_mcmv.f
14361   const sh5_media_scache* abuf = sem;
14362   const sh5_media_idesc* idesc = abuf->idesc;
14363   int cycles = 0;
14364   {
14365     int referenced = 0;
14366     unsigned long long insn_referenced = abuf->written;
14367     INT in_usereg = -1;
14368     in_usereg = FLD (in_rm);
14369     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14370   }
14371   {
14372     int referenced = 0;
14373     unsigned long long insn_referenced = abuf->written;
14374     INT in_usereg = -1;
14375     in_usereg = FLD (in_rn);
14376     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14377   }
14378   {
14379     int referenced = 0;
14380     unsigned long long insn_referenced = abuf->written;
14381     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14382   }
14383   {
14384     int referenced = 0;
14385     unsigned long long insn_referenced = abuf->written;
14386     INT out_loadreg = -1;
14387     out_loadreg = FLD (out_rd);
14388     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
14389   }
14390   return cycles;
14391 #undef FLD
14392 }
14393
14394 UINT
14395 sh5_media_sh5_media_model::model_mcmpgtub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14396 {
14397 #define FLD(f) abuf->fields.sfmt_mcmv.f
14398   const sh5_media_scache* abuf = sem;
14399   const sh5_media_idesc* idesc = abuf->idesc;
14400   int cycles = 0;
14401   {
14402     INT in_usereg = -1;
14403     in_usereg = FLD (in_rm);
14404     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14405   }
14406   {
14407     INT in_usereg = -1;
14408     in_usereg = FLD (in_rn);
14409     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14410   }
14411   {
14412     cycles += model_u_exec_before (current_cpu, idesc, 2);
14413   }
14414   {
14415     INT out_loadreg = -1;
14416     out_loadreg = FLD (out_rd);
14417     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
14418   }
14419   return cycles;
14420 #undef FLD
14421 }
14422
14423 UINT
14424 sh5_media_sh5_media_model::model_mcmpgtub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14425 {
14426 #define FLD(f) abuf->fields.sfmt_mcmv.f
14427   const sh5_media_scache* abuf = sem;
14428   const sh5_media_idesc* idesc = abuf->idesc;
14429   int cycles = 0;
14430   {
14431     int referenced = 0;
14432     unsigned long long insn_referenced = abuf->written;
14433     INT in_usereg = -1;
14434     in_usereg = FLD (in_rm);
14435     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14436   }
14437   {
14438     int referenced = 0;
14439     unsigned long long insn_referenced = abuf->written;
14440     INT in_usereg = -1;
14441     in_usereg = FLD (in_rn);
14442     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14443   }
14444   {
14445     int referenced = 0;
14446     unsigned long long insn_referenced = abuf->written;
14447     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14448   }
14449   {
14450     int referenced = 0;
14451     unsigned long long insn_referenced = abuf->written;
14452     INT out_loadreg = -1;
14453     out_loadreg = FLD (out_rd);
14454     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
14455   }
14456   return cycles;
14457 #undef FLD
14458 }
14459
14460 UINT
14461 sh5_media_sh5_media_model::model_mcmpgtw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14462 {
14463 #define FLD(f) abuf->fields.sfmt_mcmv.f
14464   const sh5_media_scache* abuf = sem;
14465   const sh5_media_idesc* idesc = abuf->idesc;
14466   int cycles = 0;
14467   {
14468     INT in_usereg = -1;
14469     in_usereg = FLD (in_rm);
14470     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14471   }
14472   {
14473     INT in_usereg = -1;
14474     in_usereg = FLD (in_rn);
14475     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14476   }
14477   {
14478     cycles += model_u_exec_before (current_cpu, idesc, 2);
14479   }
14480   {
14481     INT out_loadreg = -1;
14482     out_loadreg = FLD (out_rd);
14483     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
14484   }
14485   return cycles;
14486 #undef FLD
14487 }
14488
14489 UINT
14490 sh5_media_sh5_media_model::model_mcmpgtw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14491 {
14492 #define FLD(f) abuf->fields.sfmt_mcmv.f
14493   const sh5_media_scache* abuf = sem;
14494   const sh5_media_idesc* idesc = abuf->idesc;
14495   int cycles = 0;
14496   {
14497     int referenced = 0;
14498     unsigned long long insn_referenced = abuf->written;
14499     INT in_usereg = -1;
14500     in_usereg = FLD (in_rm);
14501     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14502   }
14503   {
14504     int referenced = 0;
14505     unsigned long long insn_referenced = abuf->written;
14506     INT in_usereg = -1;
14507     in_usereg = FLD (in_rn);
14508     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14509   }
14510   {
14511     int referenced = 0;
14512     unsigned long long insn_referenced = abuf->written;
14513     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14514   }
14515   {
14516     int referenced = 0;
14517     unsigned long long insn_referenced = abuf->written;
14518     INT out_loadreg = -1;
14519     out_loadreg = FLD (out_rd);
14520     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
14521   }
14522   return cycles;
14523 #undef FLD
14524 }
14525
14526 UINT
14527 sh5_media_sh5_media_model::model_mcmv_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14528 {
14529 #define FLD(f) abuf->fields.sfmt_mcmv.f
14530   const sh5_media_scache* abuf = sem;
14531   const sh5_media_idesc* idesc = abuf->idesc;
14532   int cycles = 0;
14533   {
14534     INT in_usereg = -1;
14535     in_usereg = FLD (in_rm);
14536     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14537   }
14538   {
14539     INT in_usereg = -1;
14540     in_usereg = FLD (in_rn);
14541     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14542   }
14543   {
14544     cycles += model_u_exec_before (current_cpu, idesc, 2);
14545   }
14546   return cycles;
14547 #undef FLD
14548 }
14549
14550 UINT
14551 sh5_media_sh5_media_model::model_mcmv_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14552 {
14553 #define FLD(f) abuf->fields.sfmt_mcmv.f
14554   const sh5_media_scache* abuf = sem;
14555   const sh5_media_idesc* idesc = abuf->idesc;
14556   int cycles = 0;
14557   {
14558     int referenced = 0;
14559     unsigned long long insn_referenced = abuf->written;
14560     INT in_usereg = -1;
14561     in_usereg = FLD (in_rm);
14562     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14563   }
14564   {
14565     int referenced = 0;
14566     unsigned long long insn_referenced = abuf->written;
14567     INT in_usereg = -1;
14568     in_usereg = FLD (in_rn);
14569     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14570   }
14571   {
14572     int referenced = 0;
14573     unsigned long long insn_referenced = abuf->written;
14574     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14575   }
14576   return cycles;
14577 #undef FLD
14578 }
14579
14580 UINT
14581 sh5_media_sh5_media_model::model_mcnvslw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14582 {
14583 #define FLD(f) abuf->fields.sfmt_mcmv.f
14584   const sh5_media_scache* abuf = sem;
14585   const sh5_media_idesc* idesc = abuf->idesc;
14586   int cycles = 0;
14587   {
14588     INT in_usereg = -1;
14589     in_usereg = FLD (in_rm);
14590     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14591   }
14592   {
14593     INT in_usereg = -1;
14594     in_usereg = FLD (in_rn);
14595     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14596   }
14597   {
14598     cycles += model_u_exec_before (current_cpu, idesc, 2);
14599   }
14600   {
14601     INT out_loadreg = -1;
14602     out_loadreg = FLD (out_rd);
14603     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
14604   }
14605   return cycles;
14606 #undef FLD
14607 }
14608
14609 UINT
14610 sh5_media_sh5_media_model::model_mcnvslw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14611 {
14612 #define FLD(f) abuf->fields.sfmt_mcmv.f
14613   const sh5_media_scache* abuf = sem;
14614   const sh5_media_idesc* idesc = abuf->idesc;
14615   int cycles = 0;
14616   {
14617     int referenced = 0;
14618     unsigned long long insn_referenced = abuf->written;
14619     INT in_usereg = -1;
14620     in_usereg = FLD (in_rm);
14621     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14622   }
14623   {
14624     int referenced = 0;
14625     unsigned long long insn_referenced = abuf->written;
14626     INT in_usereg = -1;
14627     in_usereg = FLD (in_rn);
14628     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14629   }
14630   {
14631     int referenced = 0;
14632     unsigned long long insn_referenced = abuf->written;
14633     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14634   }
14635   {
14636     int referenced = 0;
14637     unsigned long long insn_referenced = abuf->written;
14638     INT out_loadreg = -1;
14639     out_loadreg = FLD (out_rd);
14640     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
14641   }
14642   return cycles;
14643 #undef FLD
14644 }
14645
14646 UINT
14647 sh5_media_sh5_media_model::model_mcnvswb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14648 {
14649 #define FLD(f) abuf->fields.sfmt_mcmv.f
14650   const sh5_media_scache* abuf = sem;
14651   const sh5_media_idesc* idesc = abuf->idesc;
14652   int cycles = 0;
14653   {
14654     INT in_usereg = -1;
14655     in_usereg = FLD (in_rm);
14656     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14657   }
14658   {
14659     INT in_usereg = -1;
14660     in_usereg = FLD (in_rn);
14661     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14662   }
14663   {
14664     cycles += model_u_exec_before (current_cpu, idesc, 2);
14665   }
14666   {
14667     INT out_loadreg = -1;
14668     out_loadreg = FLD (out_rd);
14669     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
14670   }
14671   return cycles;
14672 #undef FLD
14673 }
14674
14675 UINT
14676 sh5_media_sh5_media_model::model_mcnvswb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14677 {
14678 #define FLD(f) abuf->fields.sfmt_mcmv.f
14679   const sh5_media_scache* abuf = sem;
14680   const sh5_media_idesc* idesc = abuf->idesc;
14681   int cycles = 0;
14682   {
14683     int referenced = 0;
14684     unsigned long long insn_referenced = abuf->written;
14685     INT in_usereg = -1;
14686     in_usereg = FLD (in_rm);
14687     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14688   }
14689   {
14690     int referenced = 0;
14691     unsigned long long insn_referenced = abuf->written;
14692     INT in_usereg = -1;
14693     in_usereg = FLD (in_rn);
14694     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14695   }
14696   {
14697     int referenced = 0;
14698     unsigned long long insn_referenced = abuf->written;
14699     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14700   }
14701   {
14702     int referenced = 0;
14703     unsigned long long insn_referenced = abuf->written;
14704     INT out_loadreg = -1;
14705     out_loadreg = FLD (out_rd);
14706     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
14707   }
14708   return cycles;
14709 #undef FLD
14710 }
14711
14712 UINT
14713 sh5_media_sh5_media_model::model_mcnvswub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14714 {
14715 #define FLD(f) abuf->fields.sfmt_mcmv.f
14716   const sh5_media_scache* abuf = sem;
14717   const sh5_media_idesc* idesc = abuf->idesc;
14718   int cycles = 0;
14719   {
14720     INT in_usereg = -1;
14721     in_usereg = FLD (in_rm);
14722     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14723   }
14724   {
14725     INT in_usereg = -1;
14726     in_usereg = FLD (in_rn);
14727     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14728   }
14729   {
14730     cycles += model_u_exec_before (current_cpu, idesc, 2);
14731   }
14732   {
14733     INT out_loadreg = -1;
14734     out_loadreg = FLD (out_rd);
14735     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
14736   }
14737   return cycles;
14738 #undef FLD
14739 }
14740
14741 UINT
14742 sh5_media_sh5_media_model::model_mcnvswub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14743 {
14744 #define FLD(f) abuf->fields.sfmt_mcmv.f
14745   const sh5_media_scache* abuf = sem;
14746   const sh5_media_idesc* idesc = abuf->idesc;
14747   int cycles = 0;
14748   {
14749     int referenced = 0;
14750     unsigned long long insn_referenced = abuf->written;
14751     INT in_usereg = -1;
14752     in_usereg = FLD (in_rm);
14753     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14754   }
14755   {
14756     int referenced = 0;
14757     unsigned long long insn_referenced = abuf->written;
14758     INT in_usereg = -1;
14759     in_usereg = FLD (in_rn);
14760     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14761   }
14762   {
14763     int referenced = 0;
14764     unsigned long long insn_referenced = abuf->written;
14765     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14766   }
14767   {
14768     int referenced = 0;
14769     unsigned long long insn_referenced = abuf->written;
14770     INT out_loadreg = -1;
14771     out_loadreg = FLD (out_rd);
14772     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
14773   }
14774   return cycles;
14775 #undef FLD
14776 }
14777
14778 UINT
14779 sh5_media_sh5_media_model::model_mextr1_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14780 {
14781 #define FLD(f) abuf->fields.sfmt_mcmv.f
14782   const sh5_media_scache* abuf = sem;
14783   const sh5_media_idesc* idesc = abuf->idesc;
14784   int cycles = 0;
14785   {
14786     INT in_usereg = -1;
14787     in_usereg = FLD (in_rm);
14788     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14789   }
14790   {
14791     INT in_usereg = -1;
14792     in_usereg = FLD (in_rn);
14793     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14794   }
14795   {
14796     cycles += model_u_exec_before (current_cpu, idesc, 2);
14797   }
14798   return cycles;
14799 #undef FLD
14800 }
14801
14802 UINT
14803 sh5_media_sh5_media_model::model_mextr1_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14804 {
14805 #define FLD(f) abuf->fields.sfmt_mcmv.f
14806   const sh5_media_scache* abuf = sem;
14807   const sh5_media_idesc* idesc = abuf->idesc;
14808   int cycles = 0;
14809   {
14810     int referenced = 0;
14811     unsigned long long insn_referenced = abuf->written;
14812     INT in_usereg = -1;
14813     in_usereg = FLD (in_rm);
14814     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14815   }
14816   {
14817     int referenced = 0;
14818     unsigned long long insn_referenced = abuf->written;
14819     INT in_usereg = -1;
14820     in_usereg = FLD (in_rn);
14821     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14822   }
14823   {
14824     int referenced = 0;
14825     unsigned long long insn_referenced = abuf->written;
14826     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14827   }
14828   return cycles;
14829 #undef FLD
14830 }
14831
14832 UINT
14833 sh5_media_sh5_media_model::model_mextr2_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14834 {
14835 #define FLD(f) abuf->fields.sfmt_mcmv.f
14836   const sh5_media_scache* abuf = sem;
14837   const sh5_media_idesc* idesc = abuf->idesc;
14838   int cycles = 0;
14839   {
14840     INT in_usereg = -1;
14841     in_usereg = FLD (in_rm);
14842     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14843   }
14844   {
14845     INT in_usereg = -1;
14846     in_usereg = FLD (in_rn);
14847     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14848   }
14849   {
14850     cycles += model_u_exec_before (current_cpu, idesc, 2);
14851   }
14852   return cycles;
14853 #undef FLD
14854 }
14855
14856 UINT
14857 sh5_media_sh5_media_model::model_mextr2_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14858 {
14859 #define FLD(f) abuf->fields.sfmt_mcmv.f
14860   const sh5_media_scache* abuf = sem;
14861   const sh5_media_idesc* idesc = abuf->idesc;
14862   int cycles = 0;
14863   {
14864     int referenced = 0;
14865     unsigned long long insn_referenced = abuf->written;
14866     INT in_usereg = -1;
14867     in_usereg = FLD (in_rm);
14868     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14869   }
14870   {
14871     int referenced = 0;
14872     unsigned long long insn_referenced = abuf->written;
14873     INT in_usereg = -1;
14874     in_usereg = FLD (in_rn);
14875     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14876   }
14877   {
14878     int referenced = 0;
14879     unsigned long long insn_referenced = abuf->written;
14880     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14881   }
14882   return cycles;
14883 #undef FLD
14884 }
14885
14886 UINT
14887 sh5_media_sh5_media_model::model_mextr3_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14888 {
14889 #define FLD(f) abuf->fields.sfmt_mcmv.f
14890   const sh5_media_scache* abuf = sem;
14891   const sh5_media_idesc* idesc = abuf->idesc;
14892   int cycles = 0;
14893   {
14894     INT in_usereg = -1;
14895     in_usereg = FLD (in_rm);
14896     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14897   }
14898   {
14899     INT in_usereg = -1;
14900     in_usereg = FLD (in_rn);
14901     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14902   }
14903   {
14904     cycles += model_u_exec_before (current_cpu, idesc, 2);
14905   }
14906   return cycles;
14907 #undef FLD
14908 }
14909
14910 UINT
14911 sh5_media_sh5_media_model::model_mextr3_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14912 {
14913 #define FLD(f) abuf->fields.sfmt_mcmv.f
14914   const sh5_media_scache* abuf = sem;
14915   const sh5_media_idesc* idesc = abuf->idesc;
14916   int cycles = 0;
14917   {
14918     int referenced = 0;
14919     unsigned long long insn_referenced = abuf->written;
14920     INT in_usereg = -1;
14921     in_usereg = FLD (in_rm);
14922     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14923   }
14924   {
14925     int referenced = 0;
14926     unsigned long long insn_referenced = abuf->written;
14927     INT in_usereg = -1;
14928     in_usereg = FLD (in_rn);
14929     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14930   }
14931   {
14932     int referenced = 0;
14933     unsigned long long insn_referenced = abuf->written;
14934     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14935   }
14936   return cycles;
14937 #undef FLD
14938 }
14939
14940 UINT
14941 sh5_media_sh5_media_model::model_mextr4_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14942 {
14943 #define FLD(f) abuf->fields.sfmt_mcmv.f
14944   const sh5_media_scache* abuf = sem;
14945   const sh5_media_idesc* idesc = abuf->idesc;
14946   int cycles = 0;
14947   {
14948     INT in_usereg = -1;
14949     in_usereg = FLD (in_rm);
14950     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
14951   }
14952   {
14953     INT in_usereg = -1;
14954     in_usereg = FLD (in_rn);
14955     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
14956   }
14957   {
14958     cycles += model_u_exec_before (current_cpu, idesc, 2);
14959   }
14960   return cycles;
14961 #undef FLD
14962 }
14963
14964 UINT
14965 sh5_media_sh5_media_model::model_mextr4_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
14966 {
14967 #define FLD(f) abuf->fields.sfmt_mcmv.f
14968   const sh5_media_scache* abuf = sem;
14969   const sh5_media_idesc* idesc = abuf->idesc;
14970   int cycles = 0;
14971   {
14972     int referenced = 0;
14973     unsigned long long insn_referenced = abuf->written;
14974     INT in_usereg = -1;
14975     in_usereg = FLD (in_rm);
14976     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
14977   }
14978   {
14979     int referenced = 0;
14980     unsigned long long insn_referenced = abuf->written;
14981     INT in_usereg = -1;
14982     in_usereg = FLD (in_rn);
14983     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
14984   }
14985   {
14986     int referenced = 0;
14987     unsigned long long insn_referenced = abuf->written;
14988     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
14989   }
14990   return cycles;
14991 #undef FLD
14992 }
14993
14994 UINT
14995 sh5_media_sh5_media_model::model_mextr5_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
14996 {
14997 #define FLD(f) abuf->fields.sfmt_mcmv.f
14998   const sh5_media_scache* abuf = sem;
14999   const sh5_media_idesc* idesc = abuf->idesc;
15000   int cycles = 0;
15001   {
15002     INT in_usereg = -1;
15003     in_usereg = FLD (in_rm);
15004     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15005   }
15006   {
15007     INT in_usereg = -1;
15008     in_usereg = FLD (in_rn);
15009     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15010   }
15011   {
15012     cycles += model_u_exec_before (current_cpu, idesc, 2);
15013   }
15014   return cycles;
15015 #undef FLD
15016 }
15017
15018 UINT
15019 sh5_media_sh5_media_model::model_mextr5_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15020 {
15021 #define FLD(f) abuf->fields.sfmt_mcmv.f
15022   const sh5_media_scache* abuf = sem;
15023   const sh5_media_idesc* idesc = abuf->idesc;
15024   int cycles = 0;
15025   {
15026     int referenced = 0;
15027     unsigned long long insn_referenced = abuf->written;
15028     INT in_usereg = -1;
15029     in_usereg = FLD (in_rm);
15030     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15031   }
15032   {
15033     int referenced = 0;
15034     unsigned long long insn_referenced = abuf->written;
15035     INT in_usereg = -1;
15036     in_usereg = FLD (in_rn);
15037     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15038   }
15039   {
15040     int referenced = 0;
15041     unsigned long long insn_referenced = abuf->written;
15042     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15043   }
15044   return cycles;
15045 #undef FLD
15046 }
15047
15048 UINT
15049 sh5_media_sh5_media_model::model_mextr6_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15050 {
15051 #define FLD(f) abuf->fields.sfmt_mcmv.f
15052   const sh5_media_scache* abuf = sem;
15053   const sh5_media_idesc* idesc = abuf->idesc;
15054   int cycles = 0;
15055   {
15056     INT in_usereg = -1;
15057     in_usereg = FLD (in_rm);
15058     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15059   }
15060   {
15061     INT in_usereg = -1;
15062     in_usereg = FLD (in_rn);
15063     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15064   }
15065   {
15066     cycles += model_u_exec_before (current_cpu, idesc, 2);
15067   }
15068   return cycles;
15069 #undef FLD
15070 }
15071
15072 UINT
15073 sh5_media_sh5_media_model::model_mextr6_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15074 {
15075 #define FLD(f) abuf->fields.sfmt_mcmv.f
15076   const sh5_media_scache* abuf = sem;
15077   const sh5_media_idesc* idesc = abuf->idesc;
15078   int cycles = 0;
15079   {
15080     int referenced = 0;
15081     unsigned long long insn_referenced = abuf->written;
15082     INT in_usereg = -1;
15083     in_usereg = FLD (in_rm);
15084     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15085   }
15086   {
15087     int referenced = 0;
15088     unsigned long long insn_referenced = abuf->written;
15089     INT in_usereg = -1;
15090     in_usereg = FLD (in_rn);
15091     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15092   }
15093   {
15094     int referenced = 0;
15095     unsigned long long insn_referenced = abuf->written;
15096     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15097   }
15098   return cycles;
15099 #undef FLD
15100 }
15101
15102 UINT
15103 sh5_media_sh5_media_model::model_mextr7_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15104 {
15105 #define FLD(f) abuf->fields.sfmt_mcmv.f
15106   const sh5_media_scache* abuf = sem;
15107   const sh5_media_idesc* idesc = abuf->idesc;
15108   int cycles = 0;
15109   {
15110     INT in_usereg = -1;
15111     in_usereg = FLD (in_rm);
15112     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15113   }
15114   {
15115     INT in_usereg = -1;
15116     in_usereg = FLD (in_rn);
15117     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15118   }
15119   {
15120     cycles += model_u_exec_before (current_cpu, idesc, 2);
15121   }
15122   return cycles;
15123 #undef FLD
15124 }
15125
15126 UINT
15127 sh5_media_sh5_media_model::model_mextr7_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15128 {
15129 #define FLD(f) abuf->fields.sfmt_mcmv.f
15130   const sh5_media_scache* abuf = sem;
15131   const sh5_media_idesc* idesc = abuf->idesc;
15132   int cycles = 0;
15133   {
15134     int referenced = 0;
15135     unsigned long long insn_referenced = abuf->written;
15136     INT in_usereg = -1;
15137     in_usereg = FLD (in_rm);
15138     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15139   }
15140   {
15141     int referenced = 0;
15142     unsigned long long insn_referenced = abuf->written;
15143     INT in_usereg = -1;
15144     in_usereg = FLD (in_rn);
15145     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15146   }
15147   {
15148     int referenced = 0;
15149     unsigned long long insn_referenced = abuf->written;
15150     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15151   }
15152   return cycles;
15153 #undef FLD
15154 }
15155
15156 UINT
15157 sh5_media_sh5_media_model::model_mmacfxwl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15158 {
15159 #define FLD(f) abuf->fields.sfmt_mcmv.f
15160   const sh5_media_scache* abuf = sem;
15161   const sh5_media_idesc* idesc = abuf->idesc;
15162   int cycles = 0;
15163   {
15164     INT in_usereg = -1;
15165     in_usereg = FLD (in_rm);
15166     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15167   }
15168   {
15169     INT in_usereg = -1;
15170     in_usereg = FLD (in_rn);
15171     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15172   }
15173   {
15174     cycles += model_u_exec_before (current_cpu, idesc, 2);
15175   }
15176   return cycles;
15177 #undef FLD
15178 }
15179
15180 UINT
15181 sh5_media_sh5_media_model::model_mmacfxwl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15182 {
15183 #define FLD(f) abuf->fields.sfmt_mcmv.f
15184   const sh5_media_scache* abuf = sem;
15185   const sh5_media_idesc* idesc = abuf->idesc;
15186   int cycles = 0;
15187   {
15188     int referenced = 0;
15189     unsigned long long insn_referenced = abuf->written;
15190     INT in_usereg = -1;
15191     in_usereg = FLD (in_rm);
15192     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15193   }
15194   {
15195     int referenced = 0;
15196     unsigned long long insn_referenced = abuf->written;
15197     INT in_usereg = -1;
15198     in_usereg = FLD (in_rn);
15199     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15200   }
15201   {
15202     int referenced = 0;
15203     unsigned long long insn_referenced = abuf->written;
15204     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15205   }
15206   return cycles;
15207 #undef FLD
15208 }
15209
15210 UINT
15211 sh5_media_sh5_media_model::model_mmacnfx_wl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15212 {
15213 #define FLD(f) abuf->fields.sfmt_mcmv.f
15214   const sh5_media_scache* abuf = sem;
15215   const sh5_media_idesc* idesc = abuf->idesc;
15216   int cycles = 0;
15217   {
15218     INT in_usereg = -1;
15219     in_usereg = FLD (in_rm);
15220     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15221   }
15222   {
15223     INT in_usereg = -1;
15224     in_usereg = FLD (in_rn);
15225     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15226   }
15227   {
15228     cycles += model_u_exec_before (current_cpu, idesc, 2);
15229   }
15230   return cycles;
15231 #undef FLD
15232 }
15233
15234 UINT
15235 sh5_media_sh5_media_model::model_mmacnfx_wl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15236 {
15237 #define FLD(f) abuf->fields.sfmt_mcmv.f
15238   const sh5_media_scache* abuf = sem;
15239   const sh5_media_idesc* idesc = abuf->idesc;
15240   int cycles = 0;
15241   {
15242     int referenced = 0;
15243     unsigned long long insn_referenced = abuf->written;
15244     INT in_usereg = -1;
15245     in_usereg = FLD (in_rm);
15246     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15247   }
15248   {
15249     int referenced = 0;
15250     unsigned long long insn_referenced = abuf->written;
15251     INT in_usereg = -1;
15252     in_usereg = FLD (in_rn);
15253     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15254   }
15255   {
15256     int referenced = 0;
15257     unsigned long long insn_referenced = abuf->written;
15258     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15259   }
15260   return cycles;
15261 #undef FLD
15262 }
15263
15264 UINT
15265 sh5_media_sh5_media_model::model_mmull_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15266 {
15267 #define FLD(f) abuf->fields.sfmt_mcmv.f
15268   const sh5_media_scache* abuf = sem;
15269   const sh5_media_idesc* idesc = abuf->idesc;
15270   int cycles = 0;
15271   {
15272     INT in_usereg = -1;
15273     in_usereg = FLD (in_rm);
15274     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15275   }
15276   {
15277     INT in_usereg = -1;
15278     in_usereg = FLD (in_rn);
15279     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15280   }
15281   {
15282     cycles += model_u_exec_before (current_cpu, idesc, 2);
15283   }
15284   {
15285     INT out_loadreg = -1;
15286     out_loadreg = FLD (out_rd);
15287     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
15288   }
15289   return cycles;
15290 #undef FLD
15291 }
15292
15293 UINT
15294 sh5_media_sh5_media_model::model_mmull_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15295 {
15296 #define FLD(f) abuf->fields.sfmt_mcmv.f
15297   const sh5_media_scache* abuf = sem;
15298   const sh5_media_idesc* idesc = abuf->idesc;
15299   int cycles = 0;
15300   {
15301     int referenced = 0;
15302     unsigned long long insn_referenced = abuf->written;
15303     INT in_usereg = -1;
15304     in_usereg = FLD (in_rm);
15305     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15306   }
15307   {
15308     int referenced = 0;
15309     unsigned long long insn_referenced = abuf->written;
15310     INT in_usereg = -1;
15311     in_usereg = FLD (in_rn);
15312     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15313   }
15314   {
15315     int referenced = 0;
15316     unsigned long long insn_referenced = abuf->written;
15317     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15318   }
15319   {
15320     int referenced = 0;
15321     unsigned long long insn_referenced = abuf->written;
15322     INT out_loadreg = -1;
15323     out_loadreg = FLD (out_rd);
15324     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
15325   }
15326   return cycles;
15327 #undef FLD
15328 }
15329
15330 UINT
15331 sh5_media_sh5_media_model::model_mmulw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15332 {
15333 #define FLD(f) abuf->fields.sfmt_mcmv.f
15334   const sh5_media_scache* abuf = sem;
15335   const sh5_media_idesc* idesc = abuf->idesc;
15336   int cycles = 0;
15337   {
15338     INT in_usereg = -1;
15339     in_usereg = FLD (in_rm);
15340     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15341   }
15342   {
15343     INT in_usereg = -1;
15344     in_usereg = FLD (in_rn);
15345     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15346   }
15347   {
15348     cycles += model_u_exec_before (current_cpu, idesc, 2);
15349   }
15350   {
15351     INT out_loadreg = -1;
15352     out_loadreg = FLD (out_rd);
15353     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
15354   }
15355   return cycles;
15356 #undef FLD
15357 }
15358
15359 UINT
15360 sh5_media_sh5_media_model::model_mmulw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15361 {
15362 #define FLD(f) abuf->fields.sfmt_mcmv.f
15363   const sh5_media_scache* abuf = sem;
15364   const sh5_media_idesc* idesc = abuf->idesc;
15365   int cycles = 0;
15366   {
15367     int referenced = 0;
15368     unsigned long long insn_referenced = abuf->written;
15369     INT in_usereg = -1;
15370     in_usereg = FLD (in_rm);
15371     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15372   }
15373   {
15374     int referenced = 0;
15375     unsigned long long insn_referenced = abuf->written;
15376     INT in_usereg = -1;
15377     in_usereg = FLD (in_rn);
15378     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15379   }
15380   {
15381     int referenced = 0;
15382     unsigned long long insn_referenced = abuf->written;
15383     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15384   }
15385   {
15386     int referenced = 0;
15387     unsigned long long insn_referenced = abuf->written;
15388     INT out_loadreg = -1;
15389     out_loadreg = FLD (out_rd);
15390     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
15391   }
15392   return cycles;
15393 #undef FLD
15394 }
15395
15396 UINT
15397 sh5_media_sh5_media_model::model_mmulfxl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15398 {
15399 #define FLD(f) abuf->fields.sfmt_mcmv.f
15400   const sh5_media_scache* abuf = sem;
15401   const sh5_media_idesc* idesc = abuf->idesc;
15402   int cycles = 0;
15403   {
15404     INT in_usereg = -1;
15405     in_usereg = FLD (in_rm);
15406     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15407   }
15408   {
15409     INT in_usereg = -1;
15410     in_usereg = FLD (in_rn);
15411     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15412   }
15413   {
15414     cycles += model_u_exec_before (current_cpu, idesc, 2);
15415   }
15416   {
15417     INT out_loadreg = -1;
15418     out_loadreg = FLD (out_rd);
15419     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
15420   }
15421   return cycles;
15422 #undef FLD
15423 }
15424
15425 UINT
15426 sh5_media_sh5_media_model::model_mmulfxl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15427 {
15428 #define FLD(f) abuf->fields.sfmt_mcmv.f
15429   const sh5_media_scache* abuf = sem;
15430   const sh5_media_idesc* idesc = abuf->idesc;
15431   int cycles = 0;
15432   {
15433     int referenced = 0;
15434     unsigned long long insn_referenced = abuf->written;
15435     INT in_usereg = -1;
15436     in_usereg = FLD (in_rm);
15437     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15438   }
15439   {
15440     int referenced = 0;
15441     unsigned long long insn_referenced = abuf->written;
15442     INT in_usereg = -1;
15443     in_usereg = FLD (in_rn);
15444     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15445   }
15446   {
15447     int referenced = 0;
15448     unsigned long long insn_referenced = abuf->written;
15449     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15450   }
15451   {
15452     int referenced = 0;
15453     unsigned long long insn_referenced = abuf->written;
15454     INT out_loadreg = -1;
15455     out_loadreg = FLD (out_rd);
15456     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
15457   }
15458   return cycles;
15459 #undef FLD
15460 }
15461
15462 UINT
15463 sh5_media_sh5_media_model::model_mmulfxw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15464 {
15465 #define FLD(f) abuf->fields.sfmt_mcmv.f
15466   const sh5_media_scache* abuf = sem;
15467   const sh5_media_idesc* idesc = abuf->idesc;
15468   int cycles = 0;
15469   {
15470     INT in_usereg = -1;
15471     in_usereg = FLD (in_rm);
15472     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15473   }
15474   {
15475     INT in_usereg = -1;
15476     in_usereg = FLD (in_rn);
15477     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15478   }
15479   {
15480     cycles += model_u_exec_before (current_cpu, idesc, 2);
15481   }
15482   {
15483     INT out_loadreg = -1;
15484     out_loadreg = FLD (out_rd);
15485     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
15486   }
15487   return cycles;
15488 #undef FLD
15489 }
15490
15491 UINT
15492 sh5_media_sh5_media_model::model_mmulfxw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15493 {
15494 #define FLD(f) abuf->fields.sfmt_mcmv.f
15495   const sh5_media_scache* abuf = sem;
15496   const sh5_media_idesc* idesc = abuf->idesc;
15497   int cycles = 0;
15498   {
15499     int referenced = 0;
15500     unsigned long long insn_referenced = abuf->written;
15501     INT in_usereg = -1;
15502     in_usereg = FLD (in_rm);
15503     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15504   }
15505   {
15506     int referenced = 0;
15507     unsigned long long insn_referenced = abuf->written;
15508     INT in_usereg = -1;
15509     in_usereg = FLD (in_rn);
15510     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15511   }
15512   {
15513     int referenced = 0;
15514     unsigned long long insn_referenced = abuf->written;
15515     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15516   }
15517   {
15518     int referenced = 0;
15519     unsigned long long insn_referenced = abuf->written;
15520     INT out_loadreg = -1;
15521     out_loadreg = FLD (out_rd);
15522     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
15523   }
15524   return cycles;
15525 #undef FLD
15526 }
15527
15528 UINT
15529 sh5_media_sh5_media_model::model_mmulfxrpw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15530 {
15531 #define FLD(f) abuf->fields.sfmt_mcmv.f
15532   const sh5_media_scache* abuf = sem;
15533   const sh5_media_idesc* idesc = abuf->idesc;
15534   int cycles = 0;
15535   {
15536     INT in_usereg = -1;
15537     in_usereg = FLD (in_rm);
15538     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15539   }
15540   {
15541     INT in_usereg = -1;
15542     in_usereg = FLD (in_rn);
15543     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15544   }
15545   {
15546     cycles += model_u_exec_before (current_cpu, idesc, 2);
15547   }
15548   {
15549     INT out_loadreg = -1;
15550     out_loadreg = FLD (out_rd);
15551     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
15552   }
15553   return cycles;
15554 #undef FLD
15555 }
15556
15557 UINT
15558 sh5_media_sh5_media_model::model_mmulfxrpw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15559 {
15560 #define FLD(f) abuf->fields.sfmt_mcmv.f
15561   const sh5_media_scache* abuf = sem;
15562   const sh5_media_idesc* idesc = abuf->idesc;
15563   int cycles = 0;
15564   {
15565     int referenced = 0;
15566     unsigned long long insn_referenced = abuf->written;
15567     INT in_usereg = -1;
15568     in_usereg = FLD (in_rm);
15569     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15570   }
15571   {
15572     int referenced = 0;
15573     unsigned long long insn_referenced = abuf->written;
15574     INT in_usereg = -1;
15575     in_usereg = FLD (in_rn);
15576     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15577   }
15578   {
15579     int referenced = 0;
15580     unsigned long long insn_referenced = abuf->written;
15581     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15582   }
15583   {
15584     int referenced = 0;
15585     unsigned long long insn_referenced = abuf->written;
15586     INT out_loadreg = -1;
15587     out_loadreg = FLD (out_rd);
15588     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
15589   }
15590   return cycles;
15591 #undef FLD
15592 }
15593
15594 UINT
15595 sh5_media_sh5_media_model::model_mmulhiwl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15596 {
15597 #define FLD(f) abuf->fields.sfmt_mcmv.f
15598   const sh5_media_scache* abuf = sem;
15599   const sh5_media_idesc* idesc = abuf->idesc;
15600   int cycles = 0;
15601   {
15602     INT in_usereg = -1;
15603     in_usereg = FLD (in_rm);
15604     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15605   }
15606   {
15607     INT in_usereg = -1;
15608     in_usereg = FLD (in_rn);
15609     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15610   }
15611   {
15612     cycles += model_u_exec_before (current_cpu, idesc, 2);
15613   }
15614   {
15615     INT out_loadreg = -1;
15616     out_loadreg = FLD (out_rd);
15617     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
15618   }
15619   return cycles;
15620 #undef FLD
15621 }
15622
15623 UINT
15624 sh5_media_sh5_media_model::model_mmulhiwl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15625 {
15626 #define FLD(f) abuf->fields.sfmt_mcmv.f
15627   const sh5_media_scache* abuf = sem;
15628   const sh5_media_idesc* idesc = abuf->idesc;
15629   int cycles = 0;
15630   {
15631     int referenced = 0;
15632     unsigned long long insn_referenced = abuf->written;
15633     INT in_usereg = -1;
15634     in_usereg = FLD (in_rm);
15635     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15636   }
15637   {
15638     int referenced = 0;
15639     unsigned long long insn_referenced = abuf->written;
15640     INT in_usereg = -1;
15641     in_usereg = FLD (in_rn);
15642     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15643   }
15644   {
15645     int referenced = 0;
15646     unsigned long long insn_referenced = abuf->written;
15647     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15648   }
15649   {
15650     int referenced = 0;
15651     unsigned long long insn_referenced = abuf->written;
15652     INT out_loadreg = -1;
15653     out_loadreg = FLD (out_rd);
15654     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
15655   }
15656   return cycles;
15657 #undef FLD
15658 }
15659
15660 UINT
15661 sh5_media_sh5_media_model::model_mmullowl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15662 {
15663 #define FLD(f) abuf->fields.sfmt_mcmv.f
15664   const sh5_media_scache* abuf = sem;
15665   const sh5_media_idesc* idesc = abuf->idesc;
15666   int cycles = 0;
15667   {
15668     INT in_usereg = -1;
15669     in_usereg = FLD (in_rm);
15670     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15671   }
15672   {
15673     INT in_usereg = -1;
15674     in_usereg = FLD (in_rn);
15675     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15676   }
15677   {
15678     cycles += model_u_exec_before (current_cpu, idesc, 2);
15679   }
15680   {
15681     INT out_loadreg = -1;
15682     out_loadreg = FLD (out_rd);
15683     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
15684   }
15685   return cycles;
15686 #undef FLD
15687 }
15688
15689 UINT
15690 sh5_media_sh5_media_model::model_mmullowl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15691 {
15692 #define FLD(f) abuf->fields.sfmt_mcmv.f
15693   const sh5_media_scache* abuf = sem;
15694   const sh5_media_idesc* idesc = abuf->idesc;
15695   int cycles = 0;
15696   {
15697     int referenced = 0;
15698     unsigned long long insn_referenced = abuf->written;
15699     INT in_usereg = -1;
15700     in_usereg = FLD (in_rm);
15701     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15702   }
15703   {
15704     int referenced = 0;
15705     unsigned long long insn_referenced = abuf->written;
15706     INT in_usereg = -1;
15707     in_usereg = FLD (in_rn);
15708     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15709   }
15710   {
15711     int referenced = 0;
15712     unsigned long long insn_referenced = abuf->written;
15713     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15714   }
15715   {
15716     int referenced = 0;
15717     unsigned long long insn_referenced = abuf->written;
15718     INT out_loadreg = -1;
15719     out_loadreg = FLD (out_rd);
15720     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
15721   }
15722   return cycles;
15723 #undef FLD
15724 }
15725
15726 UINT
15727 sh5_media_sh5_media_model::model_mmulsumwq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15728 {
15729 #define FLD(f) abuf->fields.sfmt_mcmv.f
15730   const sh5_media_scache* abuf = sem;
15731   const sh5_media_idesc* idesc = abuf->idesc;
15732   int cycles = 0;
15733   {
15734     INT in_usereg = -1;
15735     in_usereg = FLD (in_rm);
15736     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15737   }
15738   {
15739     INT in_usereg = -1;
15740     in_usereg = FLD (in_rn);
15741     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15742   }
15743   {
15744     cycles += model_u_exec_before (current_cpu, idesc, 2);
15745   }
15746   return cycles;
15747 #undef FLD
15748 }
15749
15750 UINT
15751 sh5_media_sh5_media_model::model_mmulsumwq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15752 {
15753 #define FLD(f) abuf->fields.sfmt_mcmv.f
15754   const sh5_media_scache* abuf = sem;
15755   const sh5_media_idesc* idesc = abuf->idesc;
15756   int cycles = 0;
15757   {
15758     int referenced = 0;
15759     unsigned long long insn_referenced = abuf->written;
15760     INT in_usereg = -1;
15761     in_usereg = FLD (in_rm);
15762     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15763   }
15764   {
15765     int referenced = 0;
15766     unsigned long long insn_referenced = abuf->written;
15767     INT in_usereg = -1;
15768     in_usereg = FLD (in_rn);
15769     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15770   }
15771   {
15772     int referenced = 0;
15773     unsigned long long insn_referenced = abuf->written;
15774     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15775   }
15776   return cycles;
15777 #undef FLD
15778 }
15779
15780 UINT
15781 sh5_media_sh5_media_model::model_movi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15782 {
15783 #define FLD(f) abuf->fields.sfmt_movi.f
15784   const sh5_media_scache* abuf = sem;
15785   const sh5_media_idesc* idesc = abuf->idesc;
15786   int cycles = 0;
15787   {
15788     cycles += model_u_exec_before (current_cpu, idesc, 0);
15789   }
15790   return cycles;
15791 #undef FLD
15792 }
15793
15794 UINT
15795 sh5_media_sh5_media_model::model_movi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15796 {
15797 #define FLD(f) abuf->fields.sfmt_movi.f
15798   const sh5_media_scache* abuf = sem;
15799   const sh5_media_idesc* idesc = abuf->idesc;
15800   int cycles = 0;
15801   {
15802     int referenced = 0;
15803     unsigned long long insn_referenced = abuf->written;
15804     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
15805   }
15806   return cycles;
15807 #undef FLD
15808 }
15809
15810 UINT
15811 sh5_media_sh5_media_model::model_mpermw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15812 {
15813 #define FLD(f) abuf->fields.sfmt_mcmv.f
15814   const sh5_media_scache* abuf = sem;
15815   const sh5_media_idesc* idesc = abuf->idesc;
15816   int cycles = 0;
15817   {
15818     INT in_usereg = -1;
15819     in_usereg = FLD (in_rm);
15820     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15821   }
15822   {
15823     INT in_usereg = -1;
15824     in_usereg = FLD (in_rn);
15825     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15826   }
15827   {
15828     cycles += model_u_exec_before (current_cpu, idesc, 2);
15829   }
15830   return cycles;
15831 #undef FLD
15832 }
15833
15834 UINT
15835 sh5_media_sh5_media_model::model_mpermw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15836 {
15837 #define FLD(f) abuf->fields.sfmt_mcmv.f
15838   const sh5_media_scache* abuf = sem;
15839   const sh5_media_idesc* idesc = abuf->idesc;
15840   int cycles = 0;
15841   {
15842     int referenced = 0;
15843     unsigned long long insn_referenced = abuf->written;
15844     INT in_usereg = -1;
15845     in_usereg = FLD (in_rm);
15846     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15847   }
15848   {
15849     int referenced = 0;
15850     unsigned long long insn_referenced = abuf->written;
15851     INT in_usereg = -1;
15852     in_usereg = FLD (in_rn);
15853     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15854   }
15855   {
15856     int referenced = 0;
15857     unsigned long long insn_referenced = abuf->written;
15858     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15859   }
15860   return cycles;
15861 #undef FLD
15862 }
15863
15864 UINT
15865 sh5_media_sh5_media_model::model_msadubq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15866 {
15867 #define FLD(f) abuf->fields.sfmt_mcmv.f
15868   const sh5_media_scache* abuf = sem;
15869   const sh5_media_idesc* idesc = abuf->idesc;
15870   int cycles = 0;
15871   {
15872     INT in_usereg = -1;
15873     in_usereg = FLD (in_rm);
15874     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15875   }
15876   {
15877     INT in_usereg = -1;
15878     in_usereg = FLD (in_rn);
15879     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15880   }
15881   {
15882     cycles += model_u_exec_before (current_cpu, idesc, 2);
15883   }
15884   return cycles;
15885 #undef FLD
15886 }
15887
15888 UINT
15889 sh5_media_sh5_media_model::model_msadubq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15890 {
15891 #define FLD(f) abuf->fields.sfmt_mcmv.f
15892   const sh5_media_scache* abuf = sem;
15893   const sh5_media_idesc* idesc = abuf->idesc;
15894   int cycles = 0;
15895   {
15896     int referenced = 0;
15897     unsigned long long insn_referenced = abuf->written;
15898     INT in_usereg = -1;
15899     in_usereg = FLD (in_rm);
15900     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15901   }
15902   {
15903     int referenced = 0;
15904     unsigned long long insn_referenced = abuf->written;
15905     INT in_usereg = -1;
15906     in_usereg = FLD (in_rn);
15907     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15908   }
15909   {
15910     int referenced = 0;
15911     unsigned long long insn_referenced = abuf->written;
15912     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15913   }
15914   return cycles;
15915 #undef FLD
15916 }
15917
15918 UINT
15919 sh5_media_sh5_media_model::model_mshaldsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15920 {
15921 #define FLD(f) abuf->fields.sfmt_mcmv.f
15922   const sh5_media_scache* abuf = sem;
15923   const sh5_media_idesc* idesc = abuf->idesc;
15924   int cycles = 0;
15925   {
15926     INT in_usereg = -1;
15927     in_usereg = FLD (in_rm);
15928     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15929   }
15930   {
15931     INT in_usereg = -1;
15932     in_usereg = FLD (in_rn);
15933     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
15934   }
15935   {
15936     cycles += model_u_exec_before (current_cpu, idesc, 2);
15937   }
15938   {
15939     INT out_loadreg = -1;
15940     out_loadreg = FLD (out_rd);
15941     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
15942   }
15943   return cycles;
15944 #undef FLD
15945 }
15946
15947 UINT
15948 sh5_media_sh5_media_model::model_mshaldsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
15949 {
15950 #define FLD(f) abuf->fields.sfmt_mcmv.f
15951   const sh5_media_scache* abuf = sem;
15952   const sh5_media_idesc* idesc = abuf->idesc;
15953   int cycles = 0;
15954   {
15955     int referenced = 0;
15956     unsigned long long insn_referenced = abuf->written;
15957     INT in_usereg = -1;
15958     in_usereg = FLD (in_rm);
15959     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
15960   }
15961   {
15962     int referenced = 0;
15963     unsigned long long insn_referenced = abuf->written;
15964     INT in_usereg = -1;
15965     in_usereg = FLD (in_rn);
15966     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
15967   }
15968   {
15969     int referenced = 0;
15970     unsigned long long insn_referenced = abuf->written;
15971     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
15972   }
15973   {
15974     int referenced = 0;
15975     unsigned long long insn_referenced = abuf->written;
15976     INT out_loadreg = -1;
15977     out_loadreg = FLD (out_rd);
15978     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
15979   }
15980   return cycles;
15981 #undef FLD
15982 }
15983
15984 UINT
15985 sh5_media_sh5_media_model::model_mshaldsw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
15986 {
15987 #define FLD(f) abuf->fields.sfmt_mcmv.f
15988   const sh5_media_scache* abuf = sem;
15989   const sh5_media_idesc* idesc = abuf->idesc;
15990   int cycles = 0;
15991   {
15992     INT in_usereg = -1;
15993     in_usereg = FLD (in_rm);
15994     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
15995   }
15996   {
15997     INT in_usereg = -1;
15998     in_usereg = FLD (in_rn);
15999     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16000   }
16001   {
16002     cycles += model_u_exec_before (current_cpu, idesc, 2);
16003   }
16004   {
16005     INT out_loadreg = -1;
16006     out_loadreg = FLD (out_rd);
16007     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
16008   }
16009   return cycles;
16010 #undef FLD
16011 }
16012
16013 UINT
16014 sh5_media_sh5_media_model::model_mshaldsw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16015 {
16016 #define FLD(f) abuf->fields.sfmt_mcmv.f
16017   const sh5_media_scache* abuf = sem;
16018   const sh5_media_idesc* idesc = abuf->idesc;
16019   int cycles = 0;
16020   {
16021     int referenced = 0;
16022     unsigned long long insn_referenced = abuf->written;
16023     INT in_usereg = -1;
16024     in_usereg = FLD (in_rm);
16025     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16026   }
16027   {
16028     int referenced = 0;
16029     unsigned long long insn_referenced = abuf->written;
16030     INT in_usereg = -1;
16031     in_usereg = FLD (in_rn);
16032     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16033   }
16034   {
16035     int referenced = 0;
16036     unsigned long long insn_referenced = abuf->written;
16037     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16038   }
16039   {
16040     int referenced = 0;
16041     unsigned long long insn_referenced = abuf->written;
16042     INT out_loadreg = -1;
16043     out_loadreg = FLD (out_rd);
16044     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
16045   }
16046   return cycles;
16047 #undef FLD
16048 }
16049
16050 UINT
16051 sh5_media_sh5_media_model::model_mshardl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16052 {
16053 #define FLD(f) abuf->fields.sfmt_mcmv.f
16054   const sh5_media_scache* abuf = sem;
16055   const sh5_media_idesc* idesc = abuf->idesc;
16056   int cycles = 0;
16057   {
16058     INT in_usereg = -1;
16059     in_usereg = FLD (in_rm);
16060     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16061   }
16062   {
16063     INT in_usereg = -1;
16064     in_usereg = FLD (in_rn);
16065     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16066   }
16067   {
16068     cycles += model_u_exec_before (current_cpu, idesc, 2);
16069   }
16070   return cycles;
16071 #undef FLD
16072 }
16073
16074 UINT
16075 sh5_media_sh5_media_model::model_mshardl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16076 {
16077 #define FLD(f) abuf->fields.sfmt_mcmv.f
16078   const sh5_media_scache* abuf = sem;
16079   const sh5_media_idesc* idesc = abuf->idesc;
16080   int cycles = 0;
16081   {
16082     int referenced = 0;
16083     unsigned long long insn_referenced = abuf->written;
16084     INT in_usereg = -1;
16085     in_usereg = FLD (in_rm);
16086     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16087   }
16088   {
16089     int referenced = 0;
16090     unsigned long long insn_referenced = abuf->written;
16091     INT in_usereg = -1;
16092     in_usereg = FLD (in_rn);
16093     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16094   }
16095   {
16096     int referenced = 0;
16097     unsigned long long insn_referenced = abuf->written;
16098     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16099   }
16100   return cycles;
16101 #undef FLD
16102 }
16103
16104 UINT
16105 sh5_media_sh5_media_model::model_mshardw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16106 {
16107 #define FLD(f) abuf->fields.sfmt_mcmv.f
16108   const sh5_media_scache* abuf = sem;
16109   const sh5_media_idesc* idesc = abuf->idesc;
16110   int cycles = 0;
16111   {
16112     INT in_usereg = -1;
16113     in_usereg = FLD (in_rm);
16114     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16115   }
16116   {
16117     INT in_usereg = -1;
16118     in_usereg = FLD (in_rn);
16119     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16120   }
16121   {
16122     cycles += model_u_exec_before (current_cpu, idesc, 2);
16123   }
16124   return cycles;
16125 #undef FLD
16126 }
16127
16128 UINT
16129 sh5_media_sh5_media_model::model_mshardw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16130 {
16131 #define FLD(f) abuf->fields.sfmt_mcmv.f
16132   const sh5_media_scache* abuf = sem;
16133   const sh5_media_idesc* idesc = abuf->idesc;
16134   int cycles = 0;
16135   {
16136     int referenced = 0;
16137     unsigned long long insn_referenced = abuf->written;
16138     INT in_usereg = -1;
16139     in_usereg = FLD (in_rm);
16140     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16141   }
16142   {
16143     int referenced = 0;
16144     unsigned long long insn_referenced = abuf->written;
16145     INT in_usereg = -1;
16146     in_usereg = FLD (in_rn);
16147     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16148   }
16149   {
16150     int referenced = 0;
16151     unsigned long long insn_referenced = abuf->written;
16152     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16153   }
16154   return cycles;
16155 #undef FLD
16156 }
16157
16158 UINT
16159 sh5_media_sh5_media_model::model_mshardsq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16160 {
16161 #define FLD(f) abuf->fields.sfmt_mcmv.f
16162   const sh5_media_scache* abuf = sem;
16163   const sh5_media_idesc* idesc = abuf->idesc;
16164   int cycles = 0;
16165   {
16166     INT in_usereg = -1;
16167     in_usereg = FLD (in_rm);
16168     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16169   }
16170   {
16171     INT in_usereg = -1;
16172     in_usereg = FLD (in_rn);
16173     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16174   }
16175   {
16176     cycles += model_u_exec_before (current_cpu, idesc, 2);
16177   }
16178   {
16179     INT out_loadreg = -1;
16180     out_loadreg = FLD (out_rd);
16181     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
16182   }
16183   return cycles;
16184 #undef FLD
16185 }
16186
16187 UINT
16188 sh5_media_sh5_media_model::model_mshardsq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16189 {
16190 #define FLD(f) abuf->fields.sfmt_mcmv.f
16191   const sh5_media_scache* abuf = sem;
16192   const sh5_media_idesc* idesc = abuf->idesc;
16193   int cycles = 0;
16194   {
16195     int referenced = 0;
16196     unsigned long long insn_referenced = abuf->written;
16197     INT in_usereg = -1;
16198     in_usereg = FLD (in_rm);
16199     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16200   }
16201   {
16202     int referenced = 0;
16203     unsigned long long insn_referenced = abuf->written;
16204     INT in_usereg = -1;
16205     in_usereg = FLD (in_rn);
16206     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16207   }
16208   {
16209     int referenced = 0;
16210     unsigned long long insn_referenced = abuf->written;
16211     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16212   }
16213   {
16214     int referenced = 0;
16215     unsigned long long insn_referenced = abuf->written;
16216     INT out_loadreg = -1;
16217     out_loadreg = FLD (out_rd);
16218     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
16219   }
16220   return cycles;
16221 #undef FLD
16222 }
16223
16224 UINT
16225 sh5_media_sh5_media_model::model_mshfhib_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16226 {
16227 #define FLD(f) abuf->fields.sfmt_mcmv.f
16228   const sh5_media_scache* abuf = sem;
16229   const sh5_media_idesc* idesc = abuf->idesc;
16230   int cycles = 0;
16231   {
16232     INT in_usereg = -1;
16233     in_usereg = FLD (in_rm);
16234     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16235   }
16236   {
16237     INT in_usereg = -1;
16238     in_usereg = FLD (in_rn);
16239     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16240   }
16241   {
16242     cycles += model_u_exec_before (current_cpu, idesc, 2);
16243   }
16244   return cycles;
16245 #undef FLD
16246 }
16247
16248 UINT
16249 sh5_media_sh5_media_model::model_mshfhib_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16250 {
16251 #define FLD(f) abuf->fields.sfmt_mcmv.f
16252   const sh5_media_scache* abuf = sem;
16253   const sh5_media_idesc* idesc = abuf->idesc;
16254   int cycles = 0;
16255   {
16256     int referenced = 0;
16257     unsigned long long insn_referenced = abuf->written;
16258     INT in_usereg = -1;
16259     in_usereg = FLD (in_rm);
16260     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16261   }
16262   {
16263     int referenced = 0;
16264     unsigned long long insn_referenced = abuf->written;
16265     INT in_usereg = -1;
16266     in_usereg = FLD (in_rn);
16267     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16268   }
16269   {
16270     int referenced = 0;
16271     unsigned long long insn_referenced = abuf->written;
16272     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16273   }
16274   return cycles;
16275 #undef FLD
16276 }
16277
16278 UINT
16279 sh5_media_sh5_media_model::model_mshfhil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16280 {
16281 #define FLD(f) abuf->fields.sfmt_mcmv.f
16282   const sh5_media_scache* abuf = sem;
16283   const sh5_media_idesc* idesc = abuf->idesc;
16284   int cycles = 0;
16285   {
16286     INT in_usereg = -1;
16287     in_usereg = FLD (in_rm);
16288     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16289   }
16290   {
16291     INT in_usereg = -1;
16292     in_usereg = FLD (in_rn);
16293     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16294   }
16295   {
16296     cycles += model_u_exec_before (current_cpu, idesc, 2);
16297   }
16298   return cycles;
16299 #undef FLD
16300 }
16301
16302 UINT
16303 sh5_media_sh5_media_model::model_mshfhil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16304 {
16305 #define FLD(f) abuf->fields.sfmt_mcmv.f
16306   const sh5_media_scache* abuf = sem;
16307   const sh5_media_idesc* idesc = abuf->idesc;
16308   int cycles = 0;
16309   {
16310     int referenced = 0;
16311     unsigned long long insn_referenced = abuf->written;
16312     INT in_usereg = -1;
16313     in_usereg = FLD (in_rm);
16314     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16315   }
16316   {
16317     int referenced = 0;
16318     unsigned long long insn_referenced = abuf->written;
16319     INT in_usereg = -1;
16320     in_usereg = FLD (in_rn);
16321     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16322   }
16323   {
16324     int referenced = 0;
16325     unsigned long long insn_referenced = abuf->written;
16326     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16327   }
16328   return cycles;
16329 #undef FLD
16330 }
16331
16332 UINT
16333 sh5_media_sh5_media_model::model_mshfhiw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16334 {
16335 #define FLD(f) abuf->fields.sfmt_mcmv.f
16336   const sh5_media_scache* abuf = sem;
16337   const sh5_media_idesc* idesc = abuf->idesc;
16338   int cycles = 0;
16339   {
16340     INT in_usereg = -1;
16341     in_usereg = FLD (in_rm);
16342     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16343   }
16344   {
16345     INT in_usereg = -1;
16346     in_usereg = FLD (in_rn);
16347     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16348   }
16349   {
16350     cycles += model_u_exec_before (current_cpu, idesc, 2);
16351   }
16352   return cycles;
16353 #undef FLD
16354 }
16355
16356 UINT
16357 sh5_media_sh5_media_model::model_mshfhiw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16358 {
16359 #define FLD(f) abuf->fields.sfmt_mcmv.f
16360   const sh5_media_scache* abuf = sem;
16361   const sh5_media_idesc* idesc = abuf->idesc;
16362   int cycles = 0;
16363   {
16364     int referenced = 0;
16365     unsigned long long insn_referenced = abuf->written;
16366     INT in_usereg = -1;
16367     in_usereg = FLD (in_rm);
16368     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16369   }
16370   {
16371     int referenced = 0;
16372     unsigned long long insn_referenced = abuf->written;
16373     INT in_usereg = -1;
16374     in_usereg = FLD (in_rn);
16375     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16376   }
16377   {
16378     int referenced = 0;
16379     unsigned long long insn_referenced = abuf->written;
16380     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16381   }
16382   return cycles;
16383 #undef FLD
16384 }
16385
16386 UINT
16387 sh5_media_sh5_media_model::model_mshflob_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16388 {
16389 #define FLD(f) abuf->fields.sfmt_mcmv.f
16390   const sh5_media_scache* abuf = sem;
16391   const sh5_media_idesc* idesc = abuf->idesc;
16392   int cycles = 0;
16393   {
16394     INT in_usereg = -1;
16395     in_usereg = FLD (in_rm);
16396     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16397   }
16398   {
16399     INT in_usereg = -1;
16400     in_usereg = FLD (in_rn);
16401     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16402   }
16403   {
16404     cycles += model_u_exec_before (current_cpu, idesc, 2);
16405   }
16406   return cycles;
16407 #undef FLD
16408 }
16409
16410 UINT
16411 sh5_media_sh5_media_model::model_mshflob_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16412 {
16413 #define FLD(f) abuf->fields.sfmt_mcmv.f
16414   const sh5_media_scache* abuf = sem;
16415   const sh5_media_idesc* idesc = abuf->idesc;
16416   int cycles = 0;
16417   {
16418     int referenced = 0;
16419     unsigned long long insn_referenced = abuf->written;
16420     INT in_usereg = -1;
16421     in_usereg = FLD (in_rm);
16422     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16423   }
16424   {
16425     int referenced = 0;
16426     unsigned long long insn_referenced = abuf->written;
16427     INT in_usereg = -1;
16428     in_usereg = FLD (in_rn);
16429     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16430   }
16431   {
16432     int referenced = 0;
16433     unsigned long long insn_referenced = abuf->written;
16434     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16435   }
16436   return cycles;
16437 #undef FLD
16438 }
16439
16440 UINT
16441 sh5_media_sh5_media_model::model_mshflol_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16442 {
16443 #define FLD(f) abuf->fields.sfmt_mcmv.f
16444   const sh5_media_scache* abuf = sem;
16445   const sh5_media_idesc* idesc = abuf->idesc;
16446   int cycles = 0;
16447   {
16448     INT in_usereg = -1;
16449     in_usereg = FLD (in_rm);
16450     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16451   }
16452   {
16453     INT in_usereg = -1;
16454     in_usereg = FLD (in_rn);
16455     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16456   }
16457   {
16458     cycles += model_u_exec_before (current_cpu, idesc, 2);
16459   }
16460   return cycles;
16461 #undef FLD
16462 }
16463
16464 UINT
16465 sh5_media_sh5_media_model::model_mshflol_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16466 {
16467 #define FLD(f) abuf->fields.sfmt_mcmv.f
16468   const sh5_media_scache* abuf = sem;
16469   const sh5_media_idesc* idesc = abuf->idesc;
16470   int cycles = 0;
16471   {
16472     int referenced = 0;
16473     unsigned long long insn_referenced = abuf->written;
16474     INT in_usereg = -1;
16475     in_usereg = FLD (in_rm);
16476     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16477   }
16478   {
16479     int referenced = 0;
16480     unsigned long long insn_referenced = abuf->written;
16481     INT in_usereg = -1;
16482     in_usereg = FLD (in_rn);
16483     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16484   }
16485   {
16486     int referenced = 0;
16487     unsigned long long insn_referenced = abuf->written;
16488     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16489   }
16490   return cycles;
16491 #undef FLD
16492 }
16493
16494 UINT
16495 sh5_media_sh5_media_model::model_mshflow_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16496 {
16497 #define FLD(f) abuf->fields.sfmt_mcmv.f
16498   const sh5_media_scache* abuf = sem;
16499   const sh5_media_idesc* idesc = abuf->idesc;
16500   int cycles = 0;
16501   {
16502     INT in_usereg = -1;
16503     in_usereg = FLD (in_rm);
16504     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16505   }
16506   {
16507     INT in_usereg = -1;
16508     in_usereg = FLD (in_rn);
16509     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16510   }
16511   {
16512     cycles += model_u_exec_before (current_cpu, idesc, 2);
16513   }
16514   return cycles;
16515 #undef FLD
16516 }
16517
16518 UINT
16519 sh5_media_sh5_media_model::model_mshflow_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16520 {
16521 #define FLD(f) abuf->fields.sfmt_mcmv.f
16522   const sh5_media_scache* abuf = sem;
16523   const sh5_media_idesc* idesc = abuf->idesc;
16524   int cycles = 0;
16525   {
16526     int referenced = 0;
16527     unsigned long long insn_referenced = abuf->written;
16528     INT in_usereg = -1;
16529     in_usereg = FLD (in_rm);
16530     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16531   }
16532   {
16533     int referenced = 0;
16534     unsigned long long insn_referenced = abuf->written;
16535     INT in_usereg = -1;
16536     in_usereg = FLD (in_rn);
16537     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16538   }
16539   {
16540     int referenced = 0;
16541     unsigned long long insn_referenced = abuf->written;
16542     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16543   }
16544   return cycles;
16545 #undef FLD
16546 }
16547
16548 UINT
16549 sh5_media_sh5_media_model::model_mshlldl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16550 {
16551 #define FLD(f) abuf->fields.sfmt_mcmv.f
16552   const sh5_media_scache* abuf = sem;
16553   const sh5_media_idesc* idesc = abuf->idesc;
16554   int cycles = 0;
16555   {
16556     INT in_usereg = -1;
16557     in_usereg = FLD (in_rm);
16558     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16559   }
16560   {
16561     INT in_usereg = -1;
16562     in_usereg = FLD (in_rn);
16563     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16564   }
16565   {
16566     cycles += model_u_exec_before (current_cpu, idesc, 2);
16567   }
16568   return cycles;
16569 #undef FLD
16570 }
16571
16572 UINT
16573 sh5_media_sh5_media_model::model_mshlldl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16574 {
16575 #define FLD(f) abuf->fields.sfmt_mcmv.f
16576   const sh5_media_scache* abuf = sem;
16577   const sh5_media_idesc* idesc = abuf->idesc;
16578   int cycles = 0;
16579   {
16580     int referenced = 0;
16581     unsigned long long insn_referenced = abuf->written;
16582     INT in_usereg = -1;
16583     in_usereg = FLD (in_rm);
16584     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16585   }
16586   {
16587     int referenced = 0;
16588     unsigned long long insn_referenced = abuf->written;
16589     INT in_usereg = -1;
16590     in_usereg = FLD (in_rn);
16591     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16592   }
16593   {
16594     int referenced = 0;
16595     unsigned long long insn_referenced = abuf->written;
16596     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16597   }
16598   return cycles;
16599 #undef FLD
16600 }
16601
16602 UINT
16603 sh5_media_sh5_media_model::model_mshlldw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16604 {
16605 #define FLD(f) abuf->fields.sfmt_mcmv.f
16606   const sh5_media_scache* abuf = sem;
16607   const sh5_media_idesc* idesc = abuf->idesc;
16608   int cycles = 0;
16609   {
16610     INT in_usereg = -1;
16611     in_usereg = FLD (in_rm);
16612     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16613   }
16614   {
16615     INT in_usereg = -1;
16616     in_usereg = FLD (in_rn);
16617     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16618   }
16619   {
16620     cycles += model_u_exec_before (current_cpu, idesc, 2);
16621   }
16622   return cycles;
16623 #undef FLD
16624 }
16625
16626 UINT
16627 sh5_media_sh5_media_model::model_mshlldw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16628 {
16629 #define FLD(f) abuf->fields.sfmt_mcmv.f
16630   const sh5_media_scache* abuf = sem;
16631   const sh5_media_idesc* idesc = abuf->idesc;
16632   int cycles = 0;
16633   {
16634     int referenced = 0;
16635     unsigned long long insn_referenced = abuf->written;
16636     INT in_usereg = -1;
16637     in_usereg = FLD (in_rm);
16638     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16639   }
16640   {
16641     int referenced = 0;
16642     unsigned long long insn_referenced = abuf->written;
16643     INT in_usereg = -1;
16644     in_usereg = FLD (in_rn);
16645     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16646   }
16647   {
16648     int referenced = 0;
16649     unsigned long long insn_referenced = abuf->written;
16650     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16651   }
16652   return cycles;
16653 #undef FLD
16654 }
16655
16656 UINT
16657 sh5_media_sh5_media_model::model_mshlrdl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16658 {
16659 #define FLD(f) abuf->fields.sfmt_mcmv.f
16660   const sh5_media_scache* abuf = sem;
16661   const sh5_media_idesc* idesc = abuf->idesc;
16662   int cycles = 0;
16663   {
16664     INT in_usereg = -1;
16665     in_usereg = FLD (in_rm);
16666     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16667   }
16668   {
16669     INT in_usereg = -1;
16670     in_usereg = FLD (in_rn);
16671     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16672   }
16673   {
16674     cycles += model_u_exec_before (current_cpu, idesc, 2);
16675   }
16676   return cycles;
16677 #undef FLD
16678 }
16679
16680 UINT
16681 sh5_media_sh5_media_model::model_mshlrdl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16682 {
16683 #define FLD(f) abuf->fields.sfmt_mcmv.f
16684   const sh5_media_scache* abuf = sem;
16685   const sh5_media_idesc* idesc = abuf->idesc;
16686   int cycles = 0;
16687   {
16688     int referenced = 0;
16689     unsigned long long insn_referenced = abuf->written;
16690     INT in_usereg = -1;
16691     in_usereg = FLD (in_rm);
16692     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16693   }
16694   {
16695     int referenced = 0;
16696     unsigned long long insn_referenced = abuf->written;
16697     INT in_usereg = -1;
16698     in_usereg = FLD (in_rn);
16699     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16700   }
16701   {
16702     int referenced = 0;
16703     unsigned long long insn_referenced = abuf->written;
16704     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16705   }
16706   return cycles;
16707 #undef FLD
16708 }
16709
16710 UINT
16711 sh5_media_sh5_media_model::model_mshlrdw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16712 {
16713 #define FLD(f) abuf->fields.sfmt_mcmv.f
16714   const sh5_media_scache* abuf = sem;
16715   const sh5_media_idesc* idesc = abuf->idesc;
16716   int cycles = 0;
16717   {
16718     INT in_usereg = -1;
16719     in_usereg = FLD (in_rm);
16720     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16721   }
16722   {
16723     INT in_usereg = -1;
16724     in_usereg = FLD (in_rn);
16725     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16726   }
16727   {
16728     cycles += model_u_exec_before (current_cpu, idesc, 2);
16729   }
16730   return cycles;
16731 #undef FLD
16732 }
16733
16734 UINT
16735 sh5_media_sh5_media_model::model_mshlrdw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16736 {
16737 #define FLD(f) abuf->fields.sfmt_mcmv.f
16738   const sh5_media_scache* abuf = sem;
16739   const sh5_media_idesc* idesc = abuf->idesc;
16740   int cycles = 0;
16741   {
16742     int referenced = 0;
16743     unsigned long long insn_referenced = abuf->written;
16744     INT in_usereg = -1;
16745     in_usereg = FLD (in_rm);
16746     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16747   }
16748   {
16749     int referenced = 0;
16750     unsigned long long insn_referenced = abuf->written;
16751     INT in_usereg = -1;
16752     in_usereg = FLD (in_rn);
16753     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16754   }
16755   {
16756     int referenced = 0;
16757     unsigned long long insn_referenced = abuf->written;
16758     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16759   }
16760   return cycles;
16761 #undef FLD
16762 }
16763
16764 UINT
16765 sh5_media_sh5_media_model::model_msubl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16766 {
16767 #define FLD(f) abuf->fields.sfmt_mcmv.f
16768   const sh5_media_scache* abuf = sem;
16769   const sh5_media_idesc* idesc = abuf->idesc;
16770   int cycles = 0;
16771   {
16772     INT in_usereg = -1;
16773     in_usereg = FLD (in_rm);
16774     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16775   }
16776   {
16777     INT in_usereg = -1;
16778     in_usereg = FLD (in_rn);
16779     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16780   }
16781   {
16782     cycles += model_u_exec_before (current_cpu, idesc, 2);
16783   }
16784   return cycles;
16785 #undef FLD
16786 }
16787
16788 UINT
16789 sh5_media_sh5_media_model::model_msubl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16790 {
16791 #define FLD(f) abuf->fields.sfmt_mcmv.f
16792   const sh5_media_scache* abuf = sem;
16793   const sh5_media_idesc* idesc = abuf->idesc;
16794   int cycles = 0;
16795   {
16796     int referenced = 0;
16797     unsigned long long insn_referenced = abuf->written;
16798     INT in_usereg = -1;
16799     in_usereg = FLD (in_rm);
16800     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16801   }
16802   {
16803     int referenced = 0;
16804     unsigned long long insn_referenced = abuf->written;
16805     INT in_usereg = -1;
16806     in_usereg = FLD (in_rn);
16807     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16808   }
16809   {
16810     int referenced = 0;
16811     unsigned long long insn_referenced = abuf->written;
16812     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16813   }
16814   return cycles;
16815 #undef FLD
16816 }
16817
16818 UINT
16819 sh5_media_sh5_media_model::model_msubw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16820 {
16821 #define FLD(f) abuf->fields.sfmt_mcmv.f
16822   const sh5_media_scache* abuf = sem;
16823   const sh5_media_idesc* idesc = abuf->idesc;
16824   int cycles = 0;
16825   {
16826     INT in_usereg = -1;
16827     in_usereg = FLD (in_rm);
16828     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16829   }
16830   {
16831     INT in_usereg = -1;
16832     in_usereg = FLD (in_rn);
16833     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16834   }
16835   {
16836     cycles += model_u_exec_before (current_cpu, idesc, 2);
16837   }
16838   return cycles;
16839 #undef FLD
16840 }
16841
16842 UINT
16843 sh5_media_sh5_media_model::model_msubw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16844 {
16845 #define FLD(f) abuf->fields.sfmt_mcmv.f
16846   const sh5_media_scache* abuf = sem;
16847   const sh5_media_idesc* idesc = abuf->idesc;
16848   int cycles = 0;
16849   {
16850     int referenced = 0;
16851     unsigned long long insn_referenced = abuf->written;
16852     INT in_usereg = -1;
16853     in_usereg = FLD (in_rm);
16854     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16855   }
16856   {
16857     int referenced = 0;
16858     unsigned long long insn_referenced = abuf->written;
16859     INT in_usereg = -1;
16860     in_usereg = FLD (in_rn);
16861     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16862   }
16863   {
16864     int referenced = 0;
16865     unsigned long long insn_referenced = abuf->written;
16866     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16867   }
16868   return cycles;
16869 #undef FLD
16870 }
16871
16872 UINT
16873 sh5_media_sh5_media_model::model_msubsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16874 {
16875 #define FLD(f) abuf->fields.sfmt_mcmv.f
16876   const sh5_media_scache* abuf = sem;
16877   const sh5_media_idesc* idesc = abuf->idesc;
16878   int cycles = 0;
16879   {
16880     INT in_usereg = -1;
16881     in_usereg = FLD (in_rm);
16882     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16883   }
16884   {
16885     INT in_usereg = -1;
16886     in_usereg = FLD (in_rn);
16887     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16888   }
16889   {
16890     cycles += model_u_exec_before (current_cpu, idesc, 2);
16891   }
16892   {
16893     INT out_loadreg = -1;
16894     out_loadreg = FLD (out_rd);
16895     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
16896   }
16897   return cycles;
16898 #undef FLD
16899 }
16900
16901 UINT
16902 sh5_media_sh5_media_model::model_msubsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16903 {
16904 #define FLD(f) abuf->fields.sfmt_mcmv.f
16905   const sh5_media_scache* abuf = sem;
16906   const sh5_media_idesc* idesc = abuf->idesc;
16907   int cycles = 0;
16908   {
16909     int referenced = 0;
16910     unsigned long long insn_referenced = abuf->written;
16911     INT in_usereg = -1;
16912     in_usereg = FLD (in_rm);
16913     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16914   }
16915   {
16916     int referenced = 0;
16917     unsigned long long insn_referenced = abuf->written;
16918     INT in_usereg = -1;
16919     in_usereg = FLD (in_rn);
16920     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16921   }
16922   {
16923     int referenced = 0;
16924     unsigned long long insn_referenced = abuf->written;
16925     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16926   }
16927   {
16928     int referenced = 0;
16929     unsigned long long insn_referenced = abuf->written;
16930     INT out_loadreg = -1;
16931     out_loadreg = FLD (out_rd);
16932     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
16933   }
16934   return cycles;
16935 #undef FLD
16936 }
16937
16938 UINT
16939 sh5_media_sh5_media_model::model_msubsub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
16940 {
16941 #define FLD(f) abuf->fields.sfmt_mcmv.f
16942   const sh5_media_scache* abuf = sem;
16943   const sh5_media_idesc* idesc = abuf->idesc;
16944   int cycles = 0;
16945   {
16946     INT in_usereg = -1;
16947     in_usereg = FLD (in_rm);
16948     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
16949   }
16950   {
16951     INT in_usereg = -1;
16952     in_usereg = FLD (in_rn);
16953     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
16954   }
16955   {
16956     cycles += model_u_exec_before (current_cpu, idesc, 2);
16957   }
16958   {
16959     INT out_loadreg = -1;
16960     out_loadreg = FLD (out_rd);
16961     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
16962   }
16963   return cycles;
16964 #undef FLD
16965 }
16966
16967 UINT
16968 sh5_media_sh5_media_model::model_msubsub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
16969 {
16970 #define FLD(f) abuf->fields.sfmt_mcmv.f
16971   const sh5_media_scache* abuf = sem;
16972   const sh5_media_idesc* idesc = abuf->idesc;
16973   int cycles = 0;
16974   {
16975     int referenced = 0;
16976     unsigned long long insn_referenced = abuf->written;
16977     INT in_usereg = -1;
16978     in_usereg = FLD (in_rm);
16979     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
16980   }
16981   {
16982     int referenced = 0;
16983     unsigned long long insn_referenced = abuf->written;
16984     INT in_usereg = -1;
16985     in_usereg = FLD (in_rn);
16986     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
16987   }
16988   {
16989     int referenced = 0;
16990     unsigned long long insn_referenced = abuf->written;
16991     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
16992   }
16993   {
16994     int referenced = 0;
16995     unsigned long long insn_referenced = abuf->written;
16996     INT out_loadreg = -1;
16997     out_loadreg = FLD (out_rd);
16998     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
16999   }
17000   return cycles;
17001 #undef FLD
17002 }
17003
17004 UINT
17005 sh5_media_sh5_media_model::model_msubsw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17006 {
17007 #define FLD(f) abuf->fields.sfmt_mcmv.f
17008   const sh5_media_scache* abuf = sem;
17009   const sh5_media_idesc* idesc = abuf->idesc;
17010   int cycles = 0;
17011   {
17012     INT in_usereg = -1;
17013     in_usereg = FLD (in_rm);
17014     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17015   }
17016   {
17017     INT in_usereg = -1;
17018     in_usereg = FLD (in_rn);
17019     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
17020   }
17021   {
17022     cycles += model_u_exec_before (current_cpu, idesc, 2);
17023   }
17024   {
17025     INT out_loadreg = -1;
17026     out_loadreg = FLD (out_rd);
17027     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
17028   }
17029   return cycles;
17030 #undef FLD
17031 }
17032
17033 UINT
17034 sh5_media_sh5_media_model::model_msubsw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17035 {
17036 #define FLD(f) abuf->fields.sfmt_mcmv.f
17037   const sh5_media_scache* abuf = sem;
17038   const sh5_media_idesc* idesc = abuf->idesc;
17039   int cycles = 0;
17040   {
17041     int referenced = 0;
17042     unsigned long long insn_referenced = abuf->written;
17043     INT in_usereg = -1;
17044     in_usereg = FLD (in_rm);
17045     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17046   }
17047   {
17048     int referenced = 0;
17049     unsigned long long insn_referenced = abuf->written;
17050     INT in_usereg = -1;
17051     in_usereg = FLD (in_rn);
17052     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
17053   }
17054   {
17055     int referenced = 0;
17056     unsigned long long insn_referenced = abuf->written;
17057     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
17058   }
17059   {
17060     int referenced = 0;
17061     unsigned long long insn_referenced = abuf->written;
17062     INT out_loadreg = -1;
17063     out_loadreg = FLD (out_rd);
17064     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
17065   }
17066   return cycles;
17067 #undef FLD
17068 }
17069
17070 UINT
17071 sh5_media_sh5_media_model::model_mulsl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17072 {
17073 #define FLD(f) abuf->fields.sfmt_mcmv.f
17074   const sh5_media_scache* abuf = sem;
17075   const sh5_media_idesc* idesc = abuf->idesc;
17076   int cycles = 0;
17077   {
17078     INT in_usereg = -1;
17079     in_usereg = FLD (in_rm);
17080     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17081   }
17082   {
17083     INT in_usereg = -1;
17084     in_usereg = FLD (in_rn);
17085     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
17086   }
17087   {
17088     cycles += model_u_exec_before (current_cpu, idesc, 2);
17089   }
17090   {
17091     INT out_loadreg = -1;
17092     out_loadreg = FLD (out_rd);
17093     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
17094   }
17095   return cycles;
17096 #undef FLD
17097 }
17098
17099 UINT
17100 sh5_media_sh5_media_model::model_mulsl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17101 {
17102 #define FLD(f) abuf->fields.sfmt_mcmv.f
17103   const sh5_media_scache* abuf = sem;
17104   const sh5_media_idesc* idesc = abuf->idesc;
17105   int cycles = 0;
17106   {
17107     int referenced = 0;
17108     unsigned long long insn_referenced = abuf->written;
17109     INT in_usereg = -1;
17110     in_usereg = FLD (in_rm);
17111     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17112   }
17113   {
17114     int referenced = 0;
17115     unsigned long long insn_referenced = abuf->written;
17116     INT in_usereg = -1;
17117     in_usereg = FLD (in_rn);
17118     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
17119   }
17120   {
17121     int referenced = 0;
17122     unsigned long long insn_referenced = abuf->written;
17123     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
17124   }
17125   {
17126     int referenced = 0;
17127     unsigned long long insn_referenced = abuf->written;
17128     INT out_loadreg = -1;
17129     out_loadreg = FLD (out_rd);
17130     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
17131   }
17132   return cycles;
17133 #undef FLD
17134 }
17135
17136 UINT
17137 sh5_media_sh5_media_model::model_mulul_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17138 {
17139 #define FLD(f) abuf->fields.sfmt_mcmv.f
17140   const sh5_media_scache* abuf = sem;
17141   const sh5_media_idesc* idesc = abuf->idesc;
17142   int cycles = 0;
17143   {
17144     INT in_usereg = -1;
17145     in_usereg = FLD (in_rm);
17146     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17147   }
17148   {
17149     INT in_usereg = -1;
17150     in_usereg = FLD (in_rn);
17151     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
17152   }
17153   {
17154     cycles += model_u_exec_before (current_cpu, idesc, 2);
17155   }
17156   {
17157     INT out_loadreg = -1;
17158     out_loadreg = FLD (out_rd);
17159     cycles += model_u_set_gr_before (current_cpu, idesc, 3, out_loadreg);
17160   }
17161   return cycles;
17162 #undef FLD
17163 }
17164
17165 UINT
17166 sh5_media_sh5_media_model::model_mulul_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17167 {
17168 #define FLD(f) abuf->fields.sfmt_mcmv.f
17169   const sh5_media_scache* abuf = sem;
17170   const sh5_media_idesc* idesc = abuf->idesc;
17171   int cycles = 0;
17172   {
17173     int referenced = 0;
17174     unsigned long long insn_referenced = abuf->written;
17175     INT in_usereg = -1;
17176     in_usereg = FLD (in_rm);
17177     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17178   }
17179   {
17180     int referenced = 0;
17181     unsigned long long insn_referenced = abuf->written;
17182     INT in_usereg = -1;
17183     in_usereg = FLD (in_rn);
17184     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
17185   }
17186   {
17187     int referenced = 0;
17188     unsigned long long insn_referenced = abuf->written;
17189     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
17190   }
17191   {
17192     int referenced = 0;
17193     unsigned long long insn_referenced = abuf->written;
17194     INT out_loadreg = -1;
17195     out_loadreg = FLD (out_rd);
17196     cycles += model_u_set_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
17197   }
17198   return cycles;
17199 #undef FLD
17200 }
17201
17202 UINT
17203 sh5_media_sh5_media_model::model_nop_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17204 {
17205 #define FLD(f) abuf->fields.fmt_empty.f
17206   const sh5_media_scache* abuf = sem;
17207   const sh5_media_idesc* idesc = abuf->idesc;
17208   int cycles = 0;
17209   {
17210     cycles += model_u_exec_before (current_cpu, idesc, 0);
17211   }
17212   return cycles;
17213 #undef FLD
17214 }
17215
17216 UINT
17217 sh5_media_sh5_media_model::model_nop_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17218 {
17219 #define FLD(f) abuf->fields.fmt_empty.f
17220   const sh5_media_scache* abuf = sem;
17221   const sh5_media_idesc* idesc = abuf->idesc;
17222   int cycles = 0;
17223   {
17224     int referenced = 0;
17225     unsigned long long insn_referenced = abuf->written;
17226     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
17227   }
17228   return cycles;
17229 #undef FLD
17230 }
17231
17232 UINT
17233 sh5_media_sh5_media_model::model_nsb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17234 {
17235 #define FLD(f) abuf->fields.sfmt_xori.f
17236   const sh5_media_scache* abuf = sem;
17237   const sh5_media_idesc* idesc = abuf->idesc;
17238   int cycles = 0;
17239   {
17240     INT in_usereg = -1;
17241     in_usereg = FLD (in_rm);
17242     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17243   }
17244   {
17245     cycles += model_u_exec_before (current_cpu, idesc, 1);
17246   }
17247   return cycles;
17248 #undef FLD
17249 }
17250
17251 UINT
17252 sh5_media_sh5_media_model::model_nsb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17253 {
17254 #define FLD(f) abuf->fields.sfmt_xori.f
17255   const sh5_media_scache* abuf = sem;
17256   const sh5_media_idesc* idesc = abuf->idesc;
17257   int cycles = 0;
17258   {
17259     int referenced = 0;
17260     unsigned long long insn_referenced = abuf->written;
17261     INT in_usereg = -1;
17262     in_usereg = FLD (in_rm);
17263     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17264   }
17265   {
17266     int referenced = 0;
17267     unsigned long long insn_referenced = abuf->written;
17268     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
17269   }
17270   return cycles;
17271 #undef FLD
17272 }
17273
17274 UINT
17275 sh5_media_sh5_media_model::model_ocbi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17276 {
17277 #define FLD(f) abuf->fields.sfmt_alloco.f
17278   const sh5_media_scache* abuf = sem;
17279   const sh5_media_idesc* idesc = abuf->idesc;
17280   int cycles = 0;
17281   {
17282     INT in_usereg = -1;
17283     in_usereg = FLD (in_rm);
17284     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17285   }
17286   {
17287     cycles += model_u_exec_before (current_cpu, idesc, 1);
17288   }
17289   return cycles;
17290 #undef FLD
17291 }
17292
17293 UINT
17294 sh5_media_sh5_media_model::model_ocbi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17295 {
17296 #define FLD(f) abuf->fields.sfmt_alloco.f
17297   const sh5_media_scache* abuf = sem;
17298   const sh5_media_idesc* idesc = abuf->idesc;
17299   int cycles = 0;
17300   {
17301     int referenced = 0;
17302     unsigned long long insn_referenced = abuf->written;
17303     INT in_usereg = -1;
17304     in_usereg = FLD (in_rm);
17305     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17306   }
17307   {
17308     int referenced = 0;
17309     unsigned long long insn_referenced = abuf->written;
17310     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
17311   }
17312   return cycles;
17313 #undef FLD
17314 }
17315
17316 UINT
17317 sh5_media_sh5_media_model::model_ocbp_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17318 {
17319 #define FLD(f) abuf->fields.sfmt_alloco.f
17320   const sh5_media_scache* abuf = sem;
17321   const sh5_media_idesc* idesc = abuf->idesc;
17322   int cycles = 0;
17323   {
17324     INT in_usereg = -1;
17325     in_usereg = FLD (in_rm);
17326     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17327   }
17328   {
17329     cycles += model_u_exec_before (current_cpu, idesc, 1);
17330   }
17331   return cycles;
17332 #undef FLD
17333 }
17334
17335 UINT
17336 sh5_media_sh5_media_model::model_ocbp_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17337 {
17338 #define FLD(f) abuf->fields.sfmt_alloco.f
17339   const sh5_media_scache* abuf = sem;
17340   const sh5_media_idesc* idesc = abuf->idesc;
17341   int cycles = 0;
17342   {
17343     int referenced = 0;
17344     unsigned long long insn_referenced = abuf->written;
17345     INT in_usereg = -1;
17346     in_usereg = FLD (in_rm);
17347     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17348   }
17349   {
17350     int referenced = 0;
17351     unsigned long long insn_referenced = abuf->written;
17352     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
17353   }
17354   return cycles;
17355 #undef FLD
17356 }
17357
17358 UINT
17359 sh5_media_sh5_media_model::model_ocbwb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17360 {
17361 #define FLD(f) abuf->fields.sfmt_alloco.f
17362   const sh5_media_scache* abuf = sem;
17363   const sh5_media_idesc* idesc = abuf->idesc;
17364   int cycles = 0;
17365   {
17366     INT in_usereg = -1;
17367     in_usereg = FLD (in_rm);
17368     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17369   }
17370   {
17371     cycles += model_u_exec_before (current_cpu, idesc, 1);
17372   }
17373   return cycles;
17374 #undef FLD
17375 }
17376
17377 UINT
17378 sh5_media_sh5_media_model::model_ocbwb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17379 {
17380 #define FLD(f) abuf->fields.sfmt_alloco.f
17381   const sh5_media_scache* abuf = sem;
17382   const sh5_media_idesc* idesc = abuf->idesc;
17383   int cycles = 0;
17384   {
17385     int referenced = 0;
17386     unsigned long long insn_referenced = abuf->written;
17387     INT in_usereg = -1;
17388     in_usereg = FLD (in_rm);
17389     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17390   }
17391   {
17392     int referenced = 0;
17393     unsigned long long insn_referenced = abuf->written;
17394     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
17395   }
17396   return cycles;
17397 #undef FLD
17398 }
17399
17400 UINT
17401 sh5_media_sh5_media_model::model_or_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17402 {
17403 #define FLD(f) abuf->fields.sfmt_mcmv.f
17404   const sh5_media_scache* abuf = sem;
17405   const sh5_media_idesc* idesc = abuf->idesc;
17406   int cycles = 0;
17407   {
17408     INT in_usereg = -1;
17409     in_usereg = FLD (in_rm);
17410     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17411   }
17412   {
17413     INT in_usereg = -1;
17414     in_usereg = FLD (in_rn);
17415     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
17416   }
17417   {
17418     cycles += model_u_exec_before (current_cpu, idesc, 2);
17419   }
17420   return cycles;
17421 #undef FLD
17422 }
17423
17424 UINT
17425 sh5_media_sh5_media_model::model_or_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17426 {
17427 #define FLD(f) abuf->fields.sfmt_mcmv.f
17428   const sh5_media_scache* abuf = sem;
17429   const sh5_media_idesc* idesc = abuf->idesc;
17430   int cycles = 0;
17431   {
17432     int referenced = 0;
17433     unsigned long long insn_referenced = abuf->written;
17434     INT in_usereg = -1;
17435     in_usereg = FLD (in_rm);
17436     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17437   }
17438   {
17439     int referenced = 0;
17440     unsigned long long insn_referenced = abuf->written;
17441     INT in_usereg = -1;
17442     in_usereg = FLD (in_rn);
17443     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
17444   }
17445   {
17446     int referenced = 0;
17447     unsigned long long insn_referenced = abuf->written;
17448     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
17449   }
17450   return cycles;
17451 #undef FLD
17452 }
17453
17454 UINT
17455 sh5_media_sh5_media_model::model_ori_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17456 {
17457 #define FLD(f) abuf->fields.sfmt_ori.f
17458   const sh5_media_scache* abuf = sem;
17459   const sh5_media_idesc* idesc = abuf->idesc;
17460   int cycles = 0;
17461   {
17462     INT in_usereg = -1;
17463     in_usereg = FLD (in_rm);
17464     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17465   }
17466   {
17467     cycles += model_u_exec_before (current_cpu, idesc, 1);
17468   }
17469   return cycles;
17470 #undef FLD
17471 }
17472
17473 UINT
17474 sh5_media_sh5_media_model::model_ori_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17475 {
17476 #define FLD(f) abuf->fields.sfmt_ori.f
17477   const sh5_media_scache* abuf = sem;
17478   const sh5_media_idesc* idesc = abuf->idesc;
17479   int cycles = 0;
17480   {
17481     int referenced = 0;
17482     unsigned long long insn_referenced = abuf->written;
17483     INT in_usereg = -1;
17484     in_usereg = FLD (in_rm);
17485     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17486   }
17487   {
17488     int referenced = 0;
17489     unsigned long long insn_referenced = abuf->written;
17490     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
17491   }
17492   return cycles;
17493 #undef FLD
17494 }
17495
17496 UINT
17497 sh5_media_sh5_media_model::model_prefi_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17498 {
17499 #define FLD(f) abuf->fields.sfmt_alloco.f
17500   const sh5_media_scache* abuf = sem;
17501   const sh5_media_idesc* idesc = abuf->idesc;
17502   int cycles = 0;
17503   {
17504     INT in_usereg = -1;
17505     in_usereg = FLD (in_rm);
17506     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17507   }
17508   {
17509     cycles += model_u_exec_before (current_cpu, idesc, 1);
17510   }
17511   return cycles;
17512 #undef FLD
17513 }
17514
17515 UINT
17516 sh5_media_sh5_media_model::model_prefi_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17517 {
17518 #define FLD(f) abuf->fields.sfmt_alloco.f
17519   const sh5_media_scache* abuf = sem;
17520   const sh5_media_idesc* idesc = abuf->idesc;
17521   int cycles = 0;
17522   {
17523     int referenced = 0;
17524     unsigned long long insn_referenced = abuf->written;
17525     INT in_usereg = -1;
17526     in_usereg = FLD (in_rm);
17527     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17528   }
17529   {
17530     int referenced = 0;
17531     unsigned long long insn_referenced = abuf->written;
17532     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
17533   }
17534   return cycles;
17535 #undef FLD
17536 }
17537
17538 UINT
17539 sh5_media_sh5_media_model::model_pta_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17540 {
17541 #define FLD(f) abuf->fields.sfmt_pta.f
17542   const sh5_media_scache* abuf = sem;
17543   const sh5_media_idesc* idesc = abuf->idesc;
17544   int cycles = 0;
17545   {
17546     cycles += model_u_exec_before (current_cpu, idesc, 0);
17547   }
17548   {
17549     INT out_targetreg = -1;
17550     out_targetreg = FLD (out_tra);
17551     cycles += model_u_pt_before (current_cpu, idesc, 1, out_targetreg);
17552   }
17553   return cycles;
17554 #undef FLD
17555 }
17556
17557 UINT
17558 sh5_media_sh5_media_model::model_pta_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17559 {
17560 #define FLD(f) abuf->fields.sfmt_pta.f
17561   const sh5_media_scache* abuf = sem;
17562   const sh5_media_idesc* idesc = abuf->idesc;
17563   int cycles = 0;
17564   {
17565     int referenced = 0;
17566     unsigned long long insn_referenced = abuf->written;
17567     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
17568   }
17569   {
17570     int referenced = 0;
17571     unsigned long long insn_referenced = abuf->written;
17572     INT out_targetreg = -1;
17573     out_targetreg = FLD (out_tra);
17574     cycles += model_u_pt_after (current_cpu, idesc, 1, referenced, out_targetreg);
17575   }
17576   return cycles;
17577 #undef FLD
17578 }
17579
17580 UINT
17581 sh5_media_sh5_media_model::model_ptabs_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17582 {
17583 #define FLD(f) abuf->fields.sfmt_ptabs.f
17584   const sh5_media_scache* abuf = sem;
17585   const sh5_media_idesc* idesc = abuf->idesc;
17586   int cycles = 0;
17587   {
17588     INT in_usereg = -1;
17589     in_usereg = FLD (in_rn);
17590     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17591   }
17592   {
17593     cycles += model_u_exec_before (current_cpu, idesc, 1);
17594   }
17595   {
17596     INT out_targetreg = -1;
17597     out_targetreg = FLD (out_tra);
17598     cycles += model_u_pt_before (current_cpu, idesc, 2, out_targetreg);
17599   }
17600   return cycles;
17601 #undef FLD
17602 }
17603
17604 UINT
17605 sh5_media_sh5_media_model::model_ptabs_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17606 {
17607 #define FLD(f) abuf->fields.sfmt_ptabs.f
17608   const sh5_media_scache* abuf = sem;
17609   const sh5_media_idesc* idesc = abuf->idesc;
17610   int cycles = 0;
17611   {
17612     int referenced = 0;
17613     unsigned long long insn_referenced = abuf->written;
17614     INT in_usereg = -1;
17615     in_usereg = FLD (in_rn);
17616     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17617   }
17618   {
17619     int referenced = 0;
17620     unsigned long long insn_referenced = abuf->written;
17621     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
17622   }
17623   {
17624     int referenced = 0;
17625     unsigned long long insn_referenced = abuf->written;
17626     INT out_targetreg = -1;
17627     out_targetreg = FLD (out_tra);
17628     cycles += model_u_pt_after (current_cpu, idesc, 2, referenced, out_targetreg);
17629   }
17630   return cycles;
17631 #undef FLD
17632 }
17633
17634 UINT
17635 sh5_media_sh5_media_model::model_ptb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17636 {
17637 #define FLD(f) abuf->fields.sfmt_pta.f
17638   const sh5_media_scache* abuf = sem;
17639   const sh5_media_idesc* idesc = abuf->idesc;
17640   int cycles = 0;
17641   {
17642     cycles += model_u_exec_before (current_cpu, idesc, 0);
17643   }
17644   {
17645     INT out_targetreg = -1;
17646     out_targetreg = FLD (out_tra);
17647     cycles += model_u_pt_before (current_cpu, idesc, 1, out_targetreg);
17648   }
17649   return cycles;
17650 #undef FLD
17651 }
17652
17653 UINT
17654 sh5_media_sh5_media_model::model_ptb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17655 {
17656 #define FLD(f) abuf->fields.sfmt_pta.f
17657   const sh5_media_scache* abuf = sem;
17658   const sh5_media_idesc* idesc = abuf->idesc;
17659   int cycles = 0;
17660   {
17661     int referenced = 0;
17662     unsigned long long insn_referenced = abuf->written;
17663     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
17664   }
17665   {
17666     int referenced = 0;
17667     unsigned long long insn_referenced = abuf->written;
17668     INT out_targetreg = -1;
17669     out_targetreg = FLD (out_tra);
17670     cycles += model_u_pt_after (current_cpu, idesc, 1, referenced, out_targetreg);
17671   }
17672   return cycles;
17673 #undef FLD
17674 }
17675
17676 UINT
17677 sh5_media_sh5_media_model::model_ptrel_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17678 {
17679 #define FLD(f) abuf->fields.sfmt_ptabs.f
17680   const sh5_media_scache* abuf = sem;
17681   const sh5_media_idesc* idesc = abuf->idesc;
17682   int cycles = 0;
17683   {
17684     INT in_usereg = -1;
17685     in_usereg = FLD (in_rn);
17686     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17687   }
17688   {
17689     cycles += model_u_exec_before (current_cpu, idesc, 1);
17690   }
17691   {
17692     INT out_targetreg = -1;
17693     out_targetreg = FLD (out_tra);
17694     cycles += model_u_pt_before (current_cpu, idesc, 2, out_targetreg);
17695   }
17696   return cycles;
17697 #undef FLD
17698 }
17699
17700 UINT
17701 sh5_media_sh5_media_model::model_ptrel_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17702 {
17703 #define FLD(f) abuf->fields.sfmt_ptabs.f
17704   const sh5_media_scache* abuf = sem;
17705   const sh5_media_idesc* idesc = abuf->idesc;
17706   int cycles = 0;
17707   {
17708     int referenced = 0;
17709     unsigned long long insn_referenced = abuf->written;
17710     INT in_usereg = -1;
17711     in_usereg = FLD (in_rn);
17712     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17713   }
17714   {
17715     int referenced = 0;
17716     unsigned long long insn_referenced = abuf->written;
17717     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
17718   }
17719   {
17720     int referenced = 0;
17721     unsigned long long insn_referenced = abuf->written;
17722     INT out_targetreg = -1;
17723     out_targetreg = FLD (out_tra);
17724     cycles += model_u_pt_after (current_cpu, idesc, 2, referenced, out_targetreg);
17725   }
17726   return cycles;
17727 #undef FLD
17728 }
17729
17730 UINT
17731 sh5_media_sh5_media_model::model_putcfg_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17732 {
17733 #define FLD(f) abuf->fields.sfmt_putcfg.f
17734   const sh5_media_scache* abuf = sem;
17735   const sh5_media_idesc* idesc = abuf->idesc;
17736   int cycles = 0;
17737   {
17738     INT in_usereg = -1;
17739     in_usereg = FLD (in_rm);
17740     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17741   }
17742   {
17743     cycles += model_u_putcfg_before (current_cpu, idesc, 1);
17744   }
17745   return cycles;
17746 #undef FLD
17747 }
17748
17749 UINT
17750 sh5_media_sh5_media_model::model_putcfg_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17751 {
17752 #define FLD(f) abuf->fields.sfmt_putcfg.f
17753   const sh5_media_scache* abuf = sem;
17754   const sh5_media_idesc* idesc = abuf->idesc;
17755   int cycles = 0;
17756   {
17757     int referenced = 0;
17758     unsigned long long insn_referenced = abuf->written;
17759     INT in_usereg = -1;
17760     in_usereg = FLD (in_rm);
17761     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17762   }
17763   {
17764     int referenced = 0;
17765     unsigned long long insn_referenced = abuf->written;
17766     cycles += model_u_putcfg_after (current_cpu, idesc, 1, referenced);
17767   }
17768   return cycles;
17769 #undef FLD
17770 }
17771
17772 UINT
17773 sh5_media_sh5_media_model::model_putcon_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17774 {
17775 #define FLD(f) abuf->fields.sfmt_xori.f
17776   const sh5_media_scache* abuf = sem;
17777   const sh5_media_idesc* idesc = abuf->idesc;
17778   int cycles = 0;
17779   {
17780     INT in_usereg = -1;
17781     in_usereg = FLD (in_rm);
17782     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17783   }
17784   {
17785     cycles += model_u_exec_before (current_cpu, idesc, 1);
17786   }
17787   return cycles;
17788 #undef FLD
17789 }
17790
17791 UINT
17792 sh5_media_sh5_media_model::model_putcon_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17793 {
17794 #define FLD(f) abuf->fields.sfmt_xori.f
17795   const sh5_media_scache* abuf = sem;
17796   const sh5_media_idesc* idesc = abuf->idesc;
17797   int cycles = 0;
17798   {
17799     int referenced = 0;
17800     unsigned long long insn_referenced = abuf->written;
17801     INT in_usereg = -1;
17802     in_usereg = FLD (in_rm);
17803     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17804   }
17805   {
17806     int referenced = 0;
17807     unsigned long long insn_referenced = abuf->written;
17808     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
17809   }
17810   return cycles;
17811 #undef FLD
17812 }
17813
17814 UINT
17815 sh5_media_sh5_media_model::model_rte_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17816 {
17817 #define FLD(f) abuf->fields.fmt_empty.f
17818   const sh5_media_scache* abuf = sem;
17819   const sh5_media_idesc* idesc = abuf->idesc;
17820   int cycles = 0;
17821   {
17822     cycles += model_u_exec_before (current_cpu, idesc, 0);
17823   }
17824   return cycles;
17825 #undef FLD
17826 }
17827
17828 UINT
17829 sh5_media_sh5_media_model::model_rte_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17830 {
17831 #define FLD(f) abuf->fields.fmt_empty.f
17832   const sh5_media_scache* abuf = sem;
17833   const sh5_media_idesc* idesc = abuf->idesc;
17834   int cycles = 0;
17835   {
17836     int referenced = 0;
17837     unsigned long long insn_referenced = abuf->written;
17838     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
17839   }
17840   return cycles;
17841 #undef FLD
17842 }
17843
17844 UINT
17845 sh5_media_sh5_media_model::model_shard_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17846 {
17847 #define FLD(f) abuf->fields.sfmt_mcmv.f
17848   const sh5_media_scache* abuf = sem;
17849   const sh5_media_idesc* idesc = abuf->idesc;
17850   int cycles = 0;
17851   {
17852     INT in_usereg = -1;
17853     in_usereg = FLD (in_rm);
17854     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17855   }
17856   {
17857     INT in_usereg = -1;
17858     in_usereg = FLD (in_rn);
17859     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
17860   }
17861   {
17862     cycles += model_u_exec_before (current_cpu, idesc, 2);
17863   }
17864   return cycles;
17865 #undef FLD
17866 }
17867
17868 UINT
17869 sh5_media_sh5_media_model::model_shard_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17870 {
17871 #define FLD(f) abuf->fields.sfmt_mcmv.f
17872   const sh5_media_scache* abuf = sem;
17873   const sh5_media_idesc* idesc = abuf->idesc;
17874   int cycles = 0;
17875   {
17876     int referenced = 0;
17877     unsigned long long insn_referenced = abuf->written;
17878     INT in_usereg = -1;
17879     in_usereg = FLD (in_rm);
17880     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17881   }
17882   {
17883     int referenced = 0;
17884     unsigned long long insn_referenced = abuf->written;
17885     INT in_usereg = -1;
17886     in_usereg = FLD (in_rn);
17887     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
17888   }
17889   {
17890     int referenced = 0;
17891     unsigned long long insn_referenced = abuf->written;
17892     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
17893   }
17894   return cycles;
17895 #undef FLD
17896 }
17897
17898 UINT
17899 sh5_media_sh5_media_model::model_shardl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17900 {
17901 #define FLD(f) abuf->fields.sfmt_mcmv.f
17902   const sh5_media_scache* abuf = sem;
17903   const sh5_media_idesc* idesc = abuf->idesc;
17904   int cycles = 0;
17905   {
17906     INT in_usereg = -1;
17907     in_usereg = FLD (in_rm);
17908     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17909   }
17910   {
17911     INT in_usereg = -1;
17912     in_usereg = FLD (in_rn);
17913     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
17914   }
17915   {
17916     cycles += model_u_exec_before (current_cpu, idesc, 2);
17917   }
17918   return cycles;
17919 #undef FLD
17920 }
17921
17922 UINT
17923 sh5_media_sh5_media_model::model_shardl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17924 {
17925 #define FLD(f) abuf->fields.sfmt_mcmv.f
17926   const sh5_media_scache* abuf = sem;
17927   const sh5_media_idesc* idesc = abuf->idesc;
17928   int cycles = 0;
17929   {
17930     int referenced = 0;
17931     unsigned long long insn_referenced = abuf->written;
17932     INT in_usereg = -1;
17933     in_usereg = FLD (in_rm);
17934     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17935   }
17936   {
17937     int referenced = 0;
17938     unsigned long long insn_referenced = abuf->written;
17939     INT in_usereg = -1;
17940     in_usereg = FLD (in_rn);
17941     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
17942   }
17943   {
17944     int referenced = 0;
17945     unsigned long long insn_referenced = abuf->written;
17946     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
17947   }
17948   return cycles;
17949 #undef FLD
17950 }
17951
17952 UINT
17953 sh5_media_sh5_media_model::model_shari_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17954 {
17955 #define FLD(f) abuf->fields.sfmt_shari.f
17956   const sh5_media_scache* abuf = sem;
17957   const sh5_media_idesc* idesc = abuf->idesc;
17958   int cycles = 0;
17959   {
17960     INT in_usereg = -1;
17961     in_usereg = FLD (in_rm);
17962     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
17963   }
17964   {
17965     cycles += model_u_exec_before (current_cpu, idesc, 1);
17966   }
17967   return cycles;
17968 #undef FLD
17969 }
17970
17971 UINT
17972 sh5_media_sh5_media_model::model_shari_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
17973 {
17974 #define FLD(f) abuf->fields.sfmt_shari.f
17975   const sh5_media_scache* abuf = sem;
17976   const sh5_media_idesc* idesc = abuf->idesc;
17977   int cycles = 0;
17978   {
17979     int referenced = 0;
17980     unsigned long long insn_referenced = abuf->written;
17981     INT in_usereg = -1;
17982     in_usereg = FLD (in_rm);
17983     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
17984   }
17985   {
17986     int referenced = 0;
17987     unsigned long long insn_referenced = abuf->written;
17988     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
17989   }
17990   return cycles;
17991 #undef FLD
17992 }
17993
17994 UINT
17995 sh5_media_sh5_media_model::model_sharil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
17996 {
17997 #define FLD(f) abuf->fields.sfmt_shari.f
17998   const sh5_media_scache* abuf = sem;
17999   const sh5_media_idesc* idesc = abuf->idesc;
18000   int cycles = 0;
18001   {
18002     INT in_usereg = -1;
18003     in_usereg = FLD (in_rm);
18004     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18005   }
18006   {
18007     cycles += model_u_exec_before (current_cpu, idesc, 1);
18008   }
18009   return cycles;
18010 #undef FLD
18011 }
18012
18013 UINT
18014 sh5_media_sh5_media_model::model_sharil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18015 {
18016 #define FLD(f) abuf->fields.sfmt_shari.f
18017   const sh5_media_scache* abuf = sem;
18018   const sh5_media_idesc* idesc = abuf->idesc;
18019   int cycles = 0;
18020   {
18021     int referenced = 0;
18022     unsigned long long insn_referenced = abuf->written;
18023     INT in_usereg = -1;
18024     in_usereg = FLD (in_rm);
18025     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18026   }
18027   {
18028     int referenced = 0;
18029     unsigned long long insn_referenced = abuf->written;
18030     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18031   }
18032   return cycles;
18033 #undef FLD
18034 }
18035
18036 UINT
18037 sh5_media_sh5_media_model::model_shlld_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18038 {
18039 #define FLD(f) abuf->fields.sfmt_mcmv.f
18040   const sh5_media_scache* abuf = sem;
18041   const sh5_media_idesc* idesc = abuf->idesc;
18042   int cycles = 0;
18043   {
18044     INT in_usereg = -1;
18045     in_usereg = FLD (in_rm);
18046     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18047   }
18048   {
18049     INT in_usereg = -1;
18050     in_usereg = FLD (in_rn);
18051     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
18052   }
18053   {
18054     cycles += model_u_exec_before (current_cpu, idesc, 2);
18055   }
18056   return cycles;
18057 #undef FLD
18058 }
18059
18060 UINT
18061 sh5_media_sh5_media_model::model_shlld_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18062 {
18063 #define FLD(f) abuf->fields.sfmt_mcmv.f
18064   const sh5_media_scache* abuf = sem;
18065   const sh5_media_idesc* idesc = abuf->idesc;
18066   int cycles = 0;
18067   {
18068     int referenced = 0;
18069     unsigned long long insn_referenced = abuf->written;
18070     INT in_usereg = -1;
18071     in_usereg = FLD (in_rm);
18072     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18073   }
18074   {
18075     int referenced = 0;
18076     unsigned long long insn_referenced = abuf->written;
18077     INT in_usereg = -1;
18078     in_usereg = FLD (in_rn);
18079     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
18080   }
18081   {
18082     int referenced = 0;
18083     unsigned long long insn_referenced = abuf->written;
18084     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
18085   }
18086   return cycles;
18087 #undef FLD
18088 }
18089
18090 UINT
18091 sh5_media_sh5_media_model::model_shlldl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18092 {
18093 #define FLD(f) abuf->fields.sfmt_mcmv.f
18094   const sh5_media_scache* abuf = sem;
18095   const sh5_media_idesc* idesc = abuf->idesc;
18096   int cycles = 0;
18097   {
18098     INT in_usereg = -1;
18099     in_usereg = FLD (in_rm);
18100     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18101   }
18102   {
18103     INT in_usereg = -1;
18104     in_usereg = FLD (in_rn);
18105     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
18106   }
18107   {
18108     cycles += model_u_exec_before (current_cpu, idesc, 2);
18109   }
18110   return cycles;
18111 #undef FLD
18112 }
18113
18114 UINT
18115 sh5_media_sh5_media_model::model_shlldl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18116 {
18117 #define FLD(f) abuf->fields.sfmt_mcmv.f
18118   const sh5_media_scache* abuf = sem;
18119   const sh5_media_idesc* idesc = abuf->idesc;
18120   int cycles = 0;
18121   {
18122     int referenced = 0;
18123     unsigned long long insn_referenced = abuf->written;
18124     INT in_usereg = -1;
18125     in_usereg = FLD (in_rm);
18126     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18127   }
18128   {
18129     int referenced = 0;
18130     unsigned long long insn_referenced = abuf->written;
18131     INT in_usereg = -1;
18132     in_usereg = FLD (in_rn);
18133     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
18134   }
18135   {
18136     int referenced = 0;
18137     unsigned long long insn_referenced = abuf->written;
18138     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
18139   }
18140   return cycles;
18141 #undef FLD
18142 }
18143
18144 UINT
18145 sh5_media_sh5_media_model::model_shlli_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18146 {
18147 #define FLD(f) abuf->fields.sfmt_shari.f
18148   const sh5_media_scache* abuf = sem;
18149   const sh5_media_idesc* idesc = abuf->idesc;
18150   int cycles = 0;
18151   {
18152     INT in_usereg = -1;
18153     in_usereg = FLD (in_rm);
18154     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18155   }
18156   {
18157     cycles += model_u_exec_before (current_cpu, idesc, 1);
18158   }
18159   return cycles;
18160 #undef FLD
18161 }
18162
18163 UINT
18164 sh5_media_sh5_media_model::model_shlli_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18165 {
18166 #define FLD(f) abuf->fields.sfmt_shari.f
18167   const sh5_media_scache* abuf = sem;
18168   const sh5_media_idesc* idesc = abuf->idesc;
18169   int cycles = 0;
18170   {
18171     int referenced = 0;
18172     unsigned long long insn_referenced = abuf->written;
18173     INT in_usereg = -1;
18174     in_usereg = FLD (in_rm);
18175     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18176   }
18177   {
18178     int referenced = 0;
18179     unsigned long long insn_referenced = abuf->written;
18180     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18181   }
18182   return cycles;
18183 #undef FLD
18184 }
18185
18186 UINT
18187 sh5_media_sh5_media_model::model_shllil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18188 {
18189 #define FLD(f) abuf->fields.sfmt_shari.f
18190   const sh5_media_scache* abuf = sem;
18191   const sh5_media_idesc* idesc = abuf->idesc;
18192   int cycles = 0;
18193   {
18194     INT in_usereg = -1;
18195     in_usereg = FLD (in_rm);
18196     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18197   }
18198   {
18199     cycles += model_u_exec_before (current_cpu, idesc, 1);
18200   }
18201   return cycles;
18202 #undef FLD
18203 }
18204
18205 UINT
18206 sh5_media_sh5_media_model::model_shllil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18207 {
18208 #define FLD(f) abuf->fields.sfmt_shari.f
18209   const sh5_media_scache* abuf = sem;
18210   const sh5_media_idesc* idesc = abuf->idesc;
18211   int cycles = 0;
18212   {
18213     int referenced = 0;
18214     unsigned long long insn_referenced = abuf->written;
18215     INT in_usereg = -1;
18216     in_usereg = FLD (in_rm);
18217     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18218   }
18219   {
18220     int referenced = 0;
18221     unsigned long long insn_referenced = abuf->written;
18222     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18223   }
18224   return cycles;
18225 #undef FLD
18226 }
18227
18228 UINT
18229 sh5_media_sh5_media_model::model_shlrd_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18230 {
18231 #define FLD(f) abuf->fields.sfmt_mcmv.f
18232   const sh5_media_scache* abuf = sem;
18233   const sh5_media_idesc* idesc = abuf->idesc;
18234   int cycles = 0;
18235   {
18236     INT in_usereg = -1;
18237     in_usereg = FLD (in_rm);
18238     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18239   }
18240   {
18241     INT in_usereg = -1;
18242     in_usereg = FLD (in_rn);
18243     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
18244   }
18245   {
18246     cycles += model_u_exec_before (current_cpu, idesc, 2);
18247   }
18248   return cycles;
18249 #undef FLD
18250 }
18251
18252 UINT
18253 sh5_media_sh5_media_model::model_shlrd_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18254 {
18255 #define FLD(f) abuf->fields.sfmt_mcmv.f
18256   const sh5_media_scache* abuf = sem;
18257   const sh5_media_idesc* idesc = abuf->idesc;
18258   int cycles = 0;
18259   {
18260     int referenced = 0;
18261     unsigned long long insn_referenced = abuf->written;
18262     INT in_usereg = -1;
18263     in_usereg = FLD (in_rm);
18264     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18265   }
18266   {
18267     int referenced = 0;
18268     unsigned long long insn_referenced = abuf->written;
18269     INT in_usereg = -1;
18270     in_usereg = FLD (in_rn);
18271     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
18272   }
18273   {
18274     int referenced = 0;
18275     unsigned long long insn_referenced = abuf->written;
18276     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
18277   }
18278   return cycles;
18279 #undef FLD
18280 }
18281
18282 UINT
18283 sh5_media_sh5_media_model::model_shlrdl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18284 {
18285 #define FLD(f) abuf->fields.sfmt_mcmv.f
18286   const sh5_media_scache* abuf = sem;
18287   const sh5_media_idesc* idesc = abuf->idesc;
18288   int cycles = 0;
18289   {
18290     INT in_usereg = -1;
18291     in_usereg = FLD (in_rm);
18292     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18293   }
18294   {
18295     INT in_usereg = -1;
18296     in_usereg = FLD (in_rn);
18297     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
18298   }
18299   {
18300     cycles += model_u_exec_before (current_cpu, idesc, 2);
18301   }
18302   return cycles;
18303 #undef FLD
18304 }
18305
18306 UINT
18307 sh5_media_sh5_media_model::model_shlrdl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18308 {
18309 #define FLD(f) abuf->fields.sfmt_mcmv.f
18310   const sh5_media_scache* abuf = sem;
18311   const sh5_media_idesc* idesc = abuf->idesc;
18312   int cycles = 0;
18313   {
18314     int referenced = 0;
18315     unsigned long long insn_referenced = abuf->written;
18316     INT in_usereg = -1;
18317     in_usereg = FLD (in_rm);
18318     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18319   }
18320   {
18321     int referenced = 0;
18322     unsigned long long insn_referenced = abuf->written;
18323     INT in_usereg = -1;
18324     in_usereg = FLD (in_rn);
18325     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
18326   }
18327   {
18328     int referenced = 0;
18329     unsigned long long insn_referenced = abuf->written;
18330     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
18331   }
18332   return cycles;
18333 #undef FLD
18334 }
18335
18336 UINT
18337 sh5_media_sh5_media_model::model_shlri_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18338 {
18339 #define FLD(f) abuf->fields.sfmt_shari.f
18340   const sh5_media_scache* abuf = sem;
18341   const sh5_media_idesc* idesc = abuf->idesc;
18342   int cycles = 0;
18343   {
18344     INT in_usereg = -1;
18345     in_usereg = FLD (in_rm);
18346     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18347   }
18348   {
18349     cycles += model_u_exec_before (current_cpu, idesc, 1);
18350   }
18351   return cycles;
18352 #undef FLD
18353 }
18354
18355 UINT
18356 sh5_media_sh5_media_model::model_shlri_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18357 {
18358 #define FLD(f) abuf->fields.sfmt_shari.f
18359   const sh5_media_scache* abuf = sem;
18360   const sh5_media_idesc* idesc = abuf->idesc;
18361   int cycles = 0;
18362   {
18363     int referenced = 0;
18364     unsigned long long insn_referenced = abuf->written;
18365     INT in_usereg = -1;
18366     in_usereg = FLD (in_rm);
18367     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18368   }
18369   {
18370     int referenced = 0;
18371     unsigned long long insn_referenced = abuf->written;
18372     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18373   }
18374   return cycles;
18375 #undef FLD
18376 }
18377
18378 UINT
18379 sh5_media_sh5_media_model::model_shlril_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18380 {
18381 #define FLD(f) abuf->fields.sfmt_shari.f
18382   const sh5_media_scache* abuf = sem;
18383   const sh5_media_idesc* idesc = abuf->idesc;
18384   int cycles = 0;
18385   {
18386     INT in_usereg = -1;
18387     in_usereg = FLD (in_rm);
18388     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18389   }
18390   {
18391     cycles += model_u_exec_before (current_cpu, idesc, 1);
18392   }
18393   return cycles;
18394 #undef FLD
18395 }
18396
18397 UINT
18398 sh5_media_sh5_media_model::model_shlril_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18399 {
18400 #define FLD(f) abuf->fields.sfmt_shari.f
18401   const sh5_media_scache* abuf = sem;
18402   const sh5_media_idesc* idesc = abuf->idesc;
18403   int cycles = 0;
18404   {
18405     int referenced = 0;
18406     unsigned long long insn_referenced = abuf->written;
18407     INT in_usereg = -1;
18408     in_usereg = FLD (in_rm);
18409     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18410   }
18411   {
18412     int referenced = 0;
18413     unsigned long long insn_referenced = abuf->written;
18414     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18415   }
18416   return cycles;
18417 #undef FLD
18418 }
18419
18420 UINT
18421 sh5_media_sh5_media_model::model_shori_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18422 {
18423 #define FLD(f) abuf->fields.sfmt_shori.f
18424   const sh5_media_scache* abuf = sem;
18425   const sh5_media_idesc* idesc = abuf->idesc;
18426   int cycles = 0;
18427   {
18428     INT in_usereg = -1;
18429     in_usereg = FLD (in_rd);
18430     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18431   }
18432   {
18433     cycles += model_u_exec_before (current_cpu, idesc, 1);
18434   }
18435   return cycles;
18436 #undef FLD
18437 }
18438
18439 UINT
18440 sh5_media_sh5_media_model::model_shori_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18441 {
18442 #define FLD(f) abuf->fields.sfmt_shori.f
18443   const sh5_media_scache* abuf = sem;
18444   const sh5_media_idesc* idesc = abuf->idesc;
18445   int cycles = 0;
18446   {
18447     int referenced = 0;
18448     unsigned long long insn_referenced = abuf->written;
18449     INT in_usereg = -1;
18450     in_usereg = FLD (in_rd);
18451     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18452   }
18453   {
18454     int referenced = 0;
18455     unsigned long long insn_referenced = abuf->written;
18456     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18457   }
18458   return cycles;
18459 #undef FLD
18460 }
18461
18462 UINT
18463 sh5_media_sh5_media_model::model_sleep_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18464 {
18465 #define FLD(f) abuf->fields.fmt_empty.f
18466   const sh5_media_scache* abuf = sem;
18467   const sh5_media_idesc* idesc = abuf->idesc;
18468   int cycles = 0;
18469   {
18470     cycles += model_u_exec_before (current_cpu, idesc, 0);
18471   }
18472   return cycles;
18473 #undef FLD
18474 }
18475
18476 UINT
18477 sh5_media_sh5_media_model::model_sleep_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18478 {
18479 #define FLD(f) abuf->fields.fmt_empty.f
18480   const sh5_media_scache* abuf = sem;
18481   const sh5_media_idesc* idesc = abuf->idesc;
18482   int cycles = 0;
18483   {
18484     int referenced = 0;
18485     unsigned long long insn_referenced = abuf->written;
18486     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
18487   }
18488   return cycles;
18489 #undef FLD
18490 }
18491
18492 UINT
18493 sh5_media_sh5_media_model::model_stb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18494 {
18495 #define FLD(f) abuf->fields.sfmt_stb.f
18496   const sh5_media_scache* abuf = sem;
18497   const sh5_media_idesc* idesc = abuf->idesc;
18498   int cycles = 0;
18499   {
18500     INT in_usereg = -1;
18501     in_usereg = FLD (in_rm);
18502     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18503   }
18504   {
18505     cycles += model_u_exec_before (current_cpu, idesc, 1);
18506   }
18507   return cycles;
18508 #undef FLD
18509 }
18510
18511 UINT
18512 sh5_media_sh5_media_model::model_stb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18513 {
18514 #define FLD(f) abuf->fields.sfmt_stb.f
18515   const sh5_media_scache* abuf = sem;
18516   const sh5_media_idesc* idesc = abuf->idesc;
18517   int cycles = 0;
18518   {
18519     int referenced = 0;
18520     unsigned long long insn_referenced = abuf->written;
18521     INT in_usereg = -1;
18522     in_usereg = FLD (in_rm);
18523     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18524   }
18525   {
18526     int referenced = 0;
18527     unsigned long long insn_referenced = abuf->written;
18528     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18529   }
18530   return cycles;
18531 #undef FLD
18532 }
18533
18534 UINT
18535 sh5_media_sh5_media_model::model_stl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18536 {
18537 #define FLD(f) abuf->fields.sfmt_stl.f
18538   const sh5_media_scache* abuf = sem;
18539   const sh5_media_idesc* idesc = abuf->idesc;
18540   int cycles = 0;
18541   {
18542     INT in_usereg = -1;
18543     in_usereg = FLD (in_rm);
18544     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18545   }
18546   {
18547     cycles += model_u_exec_before (current_cpu, idesc, 1);
18548   }
18549   return cycles;
18550 #undef FLD
18551 }
18552
18553 UINT
18554 sh5_media_sh5_media_model::model_stl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18555 {
18556 #define FLD(f) abuf->fields.sfmt_stl.f
18557   const sh5_media_scache* abuf = sem;
18558   const sh5_media_idesc* idesc = abuf->idesc;
18559   int cycles = 0;
18560   {
18561     int referenced = 0;
18562     unsigned long long insn_referenced = abuf->written;
18563     INT in_usereg = -1;
18564     in_usereg = FLD (in_rm);
18565     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18566   }
18567   {
18568     int referenced = 0;
18569     unsigned long long insn_referenced = abuf->written;
18570     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18571   }
18572   return cycles;
18573 #undef FLD
18574 }
18575
18576 UINT
18577 sh5_media_sh5_media_model::model_stq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18578 {
18579 #define FLD(f) abuf->fields.sfmt_stq.f
18580   const sh5_media_scache* abuf = sem;
18581   const sh5_media_idesc* idesc = abuf->idesc;
18582   int cycles = 0;
18583   {
18584     INT in_usereg = -1;
18585     in_usereg = FLD (in_rm);
18586     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18587   }
18588   {
18589     cycles += model_u_exec_before (current_cpu, idesc, 1);
18590   }
18591   return cycles;
18592 #undef FLD
18593 }
18594
18595 UINT
18596 sh5_media_sh5_media_model::model_stq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18597 {
18598 #define FLD(f) abuf->fields.sfmt_stq.f
18599   const sh5_media_scache* abuf = sem;
18600   const sh5_media_idesc* idesc = abuf->idesc;
18601   int cycles = 0;
18602   {
18603     int referenced = 0;
18604     unsigned long long insn_referenced = abuf->written;
18605     INT in_usereg = -1;
18606     in_usereg = FLD (in_rm);
18607     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18608   }
18609   {
18610     int referenced = 0;
18611     unsigned long long insn_referenced = abuf->written;
18612     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18613   }
18614   return cycles;
18615 #undef FLD
18616 }
18617
18618 UINT
18619 sh5_media_sh5_media_model::model_stw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18620 {
18621 #define FLD(f) abuf->fields.sfmt_stw.f
18622   const sh5_media_scache* abuf = sem;
18623   const sh5_media_idesc* idesc = abuf->idesc;
18624   int cycles = 0;
18625   {
18626     INT in_usereg = -1;
18627     in_usereg = FLD (in_rm);
18628     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18629   }
18630   {
18631     cycles += model_u_exec_before (current_cpu, idesc, 1);
18632   }
18633   return cycles;
18634 #undef FLD
18635 }
18636
18637 UINT
18638 sh5_media_sh5_media_model::model_stw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18639 {
18640 #define FLD(f) abuf->fields.sfmt_stw.f
18641   const sh5_media_scache* abuf = sem;
18642   const sh5_media_idesc* idesc = abuf->idesc;
18643   int cycles = 0;
18644   {
18645     int referenced = 0;
18646     unsigned long long insn_referenced = abuf->written;
18647     INT in_usereg = -1;
18648     in_usereg = FLD (in_rm);
18649     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18650   }
18651   {
18652     int referenced = 0;
18653     unsigned long long insn_referenced = abuf->written;
18654     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18655   }
18656   return cycles;
18657 #undef FLD
18658 }
18659
18660 UINT
18661 sh5_media_sh5_media_model::model_sthil_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18662 {
18663 #define FLD(f) abuf->fields.sfmt_putcfg.f
18664   const sh5_media_scache* abuf = sem;
18665   const sh5_media_idesc* idesc = abuf->idesc;
18666   int cycles = 0;
18667   {
18668     INT in_usereg = -1;
18669     in_usereg = FLD (in_rm);
18670     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18671   }
18672   {
18673     cycles += model_u_exec_before (current_cpu, idesc, 1);
18674   }
18675   return cycles;
18676 #undef FLD
18677 }
18678
18679 UINT
18680 sh5_media_sh5_media_model::model_sthil_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18681 {
18682 #define FLD(f) abuf->fields.sfmt_putcfg.f
18683   const sh5_media_scache* abuf = sem;
18684   const sh5_media_idesc* idesc = abuf->idesc;
18685   int cycles = 0;
18686   {
18687     int referenced = 0;
18688     unsigned long long insn_referenced = abuf->written;
18689     INT in_usereg = -1;
18690     in_usereg = FLD (in_rm);
18691     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18692   }
18693   {
18694     int referenced = 0;
18695     unsigned long long insn_referenced = abuf->written;
18696     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18697   }
18698   return cycles;
18699 #undef FLD
18700 }
18701
18702 UINT
18703 sh5_media_sh5_media_model::model_sthiq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18704 {
18705 #define FLD(f) abuf->fields.sfmt_putcfg.f
18706   const sh5_media_scache* abuf = sem;
18707   const sh5_media_idesc* idesc = abuf->idesc;
18708   int cycles = 0;
18709   {
18710     INT in_usereg = -1;
18711     in_usereg = FLD (in_rm);
18712     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18713   }
18714   {
18715     cycles += model_u_exec_before (current_cpu, idesc, 1);
18716   }
18717   return cycles;
18718 #undef FLD
18719 }
18720
18721 UINT
18722 sh5_media_sh5_media_model::model_sthiq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18723 {
18724 #define FLD(f) abuf->fields.sfmt_putcfg.f
18725   const sh5_media_scache* abuf = sem;
18726   const sh5_media_idesc* idesc = abuf->idesc;
18727   int cycles = 0;
18728   {
18729     int referenced = 0;
18730     unsigned long long insn_referenced = abuf->written;
18731     INT in_usereg = -1;
18732     in_usereg = FLD (in_rm);
18733     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18734   }
18735   {
18736     int referenced = 0;
18737     unsigned long long insn_referenced = abuf->written;
18738     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18739   }
18740   return cycles;
18741 #undef FLD
18742 }
18743
18744 UINT
18745 sh5_media_sh5_media_model::model_stlol_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18746 {
18747 #define FLD(f) abuf->fields.sfmt_putcfg.f
18748   const sh5_media_scache* abuf = sem;
18749   const sh5_media_idesc* idesc = abuf->idesc;
18750   int cycles = 0;
18751   {
18752     INT in_usereg = -1;
18753     in_usereg = FLD (in_rm);
18754     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18755   }
18756   {
18757     cycles += model_u_exec_before (current_cpu, idesc, 1);
18758   }
18759   return cycles;
18760 #undef FLD
18761 }
18762
18763 UINT
18764 sh5_media_sh5_media_model::model_stlol_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18765 {
18766 #define FLD(f) abuf->fields.sfmt_putcfg.f
18767   const sh5_media_scache* abuf = sem;
18768   const sh5_media_idesc* idesc = abuf->idesc;
18769   int cycles = 0;
18770   {
18771     int referenced = 0;
18772     unsigned long long insn_referenced = abuf->written;
18773     INT in_usereg = -1;
18774     in_usereg = FLD (in_rm);
18775     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18776   }
18777   {
18778     int referenced = 0;
18779     unsigned long long insn_referenced = abuf->written;
18780     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18781   }
18782   return cycles;
18783 #undef FLD
18784 }
18785
18786 UINT
18787 sh5_media_sh5_media_model::model_stloq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18788 {
18789 #define FLD(f) abuf->fields.sfmt_putcfg.f
18790   const sh5_media_scache* abuf = sem;
18791   const sh5_media_idesc* idesc = abuf->idesc;
18792   int cycles = 0;
18793   {
18794     INT in_usereg = -1;
18795     in_usereg = FLD (in_rm);
18796     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18797   }
18798   {
18799     cycles += model_u_exec_before (current_cpu, idesc, 1);
18800   }
18801   return cycles;
18802 #undef FLD
18803 }
18804
18805 UINT
18806 sh5_media_sh5_media_model::model_stloq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18807 {
18808 #define FLD(f) abuf->fields.sfmt_putcfg.f
18809   const sh5_media_scache* abuf = sem;
18810   const sh5_media_idesc* idesc = abuf->idesc;
18811   int cycles = 0;
18812   {
18813     int referenced = 0;
18814     unsigned long long insn_referenced = abuf->written;
18815     INT in_usereg = -1;
18816     in_usereg = FLD (in_rm);
18817     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18818   }
18819   {
18820     int referenced = 0;
18821     unsigned long long insn_referenced = abuf->written;
18822     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
18823   }
18824   return cycles;
18825 #undef FLD
18826 }
18827
18828 UINT
18829 sh5_media_sh5_media_model::model_stxb_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18830 {
18831 #define FLD(f) abuf->fields.sfmt_mcmv.f
18832   const sh5_media_scache* abuf = sem;
18833   const sh5_media_idesc* idesc = abuf->idesc;
18834   int cycles = 0;
18835   {
18836     INT in_usereg = -1;
18837     in_usereg = FLD (in_rm);
18838     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18839   }
18840   {
18841     INT in_usereg = -1;
18842     in_usereg = FLD (in_rn);
18843     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
18844   }
18845   {
18846     cycles += model_u_exec_before (current_cpu, idesc, 2);
18847   }
18848   return cycles;
18849 #undef FLD
18850 }
18851
18852 UINT
18853 sh5_media_sh5_media_model::model_stxb_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18854 {
18855 #define FLD(f) abuf->fields.sfmt_mcmv.f
18856   const sh5_media_scache* abuf = sem;
18857   const sh5_media_idesc* idesc = abuf->idesc;
18858   int cycles = 0;
18859   {
18860     int referenced = 0;
18861     unsigned long long insn_referenced = abuf->written;
18862     INT in_usereg = -1;
18863     in_usereg = FLD (in_rm);
18864     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18865   }
18866   {
18867     int referenced = 0;
18868     unsigned long long insn_referenced = abuf->written;
18869     INT in_usereg = -1;
18870     in_usereg = FLD (in_rn);
18871     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
18872   }
18873   {
18874     int referenced = 0;
18875     unsigned long long insn_referenced = abuf->written;
18876     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
18877   }
18878   return cycles;
18879 #undef FLD
18880 }
18881
18882 UINT
18883 sh5_media_sh5_media_model::model_stxl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18884 {
18885 #define FLD(f) abuf->fields.sfmt_mcmv.f
18886   const sh5_media_scache* abuf = sem;
18887   const sh5_media_idesc* idesc = abuf->idesc;
18888   int cycles = 0;
18889   {
18890     INT in_usereg = -1;
18891     in_usereg = FLD (in_rm);
18892     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18893   }
18894   {
18895     INT in_usereg = -1;
18896     in_usereg = FLD (in_rn);
18897     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
18898   }
18899   {
18900     cycles += model_u_exec_before (current_cpu, idesc, 2);
18901   }
18902   return cycles;
18903 #undef FLD
18904 }
18905
18906 UINT
18907 sh5_media_sh5_media_model::model_stxl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18908 {
18909 #define FLD(f) abuf->fields.sfmt_mcmv.f
18910   const sh5_media_scache* abuf = sem;
18911   const sh5_media_idesc* idesc = abuf->idesc;
18912   int cycles = 0;
18913   {
18914     int referenced = 0;
18915     unsigned long long insn_referenced = abuf->written;
18916     INT in_usereg = -1;
18917     in_usereg = FLD (in_rm);
18918     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18919   }
18920   {
18921     int referenced = 0;
18922     unsigned long long insn_referenced = abuf->written;
18923     INT in_usereg = -1;
18924     in_usereg = FLD (in_rn);
18925     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
18926   }
18927   {
18928     int referenced = 0;
18929     unsigned long long insn_referenced = abuf->written;
18930     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
18931   }
18932   return cycles;
18933 #undef FLD
18934 }
18935
18936 UINT
18937 sh5_media_sh5_media_model::model_stxq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18938 {
18939 #define FLD(f) abuf->fields.sfmt_mcmv.f
18940   const sh5_media_scache* abuf = sem;
18941   const sh5_media_idesc* idesc = abuf->idesc;
18942   int cycles = 0;
18943   {
18944     INT in_usereg = -1;
18945     in_usereg = FLD (in_rm);
18946     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
18947   }
18948   {
18949     INT in_usereg = -1;
18950     in_usereg = FLD (in_rn);
18951     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
18952   }
18953   {
18954     cycles += model_u_exec_before (current_cpu, idesc, 2);
18955   }
18956   return cycles;
18957 #undef FLD
18958 }
18959
18960 UINT
18961 sh5_media_sh5_media_model::model_stxq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
18962 {
18963 #define FLD(f) abuf->fields.sfmt_mcmv.f
18964   const sh5_media_scache* abuf = sem;
18965   const sh5_media_idesc* idesc = abuf->idesc;
18966   int cycles = 0;
18967   {
18968     int referenced = 0;
18969     unsigned long long insn_referenced = abuf->written;
18970     INT in_usereg = -1;
18971     in_usereg = FLD (in_rm);
18972     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
18973   }
18974   {
18975     int referenced = 0;
18976     unsigned long long insn_referenced = abuf->written;
18977     INT in_usereg = -1;
18978     in_usereg = FLD (in_rn);
18979     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
18980   }
18981   {
18982     int referenced = 0;
18983     unsigned long long insn_referenced = abuf->written;
18984     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
18985   }
18986   return cycles;
18987 #undef FLD
18988 }
18989
18990 UINT
18991 sh5_media_sh5_media_model::model_stxw_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
18992 {
18993 #define FLD(f) abuf->fields.sfmt_mcmv.f
18994   const sh5_media_scache* abuf = sem;
18995   const sh5_media_idesc* idesc = abuf->idesc;
18996   int cycles = 0;
18997   {
18998     INT in_usereg = -1;
18999     in_usereg = FLD (in_rm);
19000     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
19001   }
19002   {
19003     INT in_usereg = -1;
19004     in_usereg = FLD (in_rn);
19005     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
19006   }
19007   {
19008     cycles += model_u_exec_before (current_cpu, idesc, 2);
19009   }
19010   return cycles;
19011 #undef FLD
19012 }
19013
19014 UINT
19015 sh5_media_sh5_media_model::model_stxw_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
19016 {
19017 #define FLD(f) abuf->fields.sfmt_mcmv.f
19018   const sh5_media_scache* abuf = sem;
19019   const sh5_media_idesc* idesc = abuf->idesc;
19020   int cycles = 0;
19021   {
19022     int referenced = 0;
19023     unsigned long long insn_referenced = abuf->written;
19024     INT in_usereg = -1;
19025     in_usereg = FLD (in_rm);
19026     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
19027   }
19028   {
19029     int referenced = 0;
19030     unsigned long long insn_referenced = abuf->written;
19031     INT in_usereg = -1;
19032     in_usereg = FLD (in_rn);
19033     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
19034   }
19035   {
19036     int referenced = 0;
19037     unsigned long long insn_referenced = abuf->written;
19038     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
19039   }
19040   return cycles;
19041 #undef FLD
19042 }
19043
19044 UINT
19045 sh5_media_sh5_media_model::model_sub_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
19046 {
19047 #define FLD(f) abuf->fields.sfmt_mcmv.f
19048   const sh5_media_scache* abuf = sem;
19049   const sh5_media_idesc* idesc = abuf->idesc;
19050   int cycles = 0;
19051   {
19052     INT in_usereg = -1;
19053     in_usereg = FLD (in_rm);
19054     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
19055   }
19056   {
19057     INT in_usereg = -1;
19058     in_usereg = FLD (in_rn);
19059     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
19060   }
19061   {
19062     cycles += model_u_exec_before (current_cpu, idesc, 2);
19063   }
19064   return cycles;
19065 #undef FLD
19066 }
19067
19068 UINT
19069 sh5_media_sh5_media_model::model_sub_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
19070 {
19071 #define FLD(f) abuf->fields.sfmt_mcmv.f
19072   const sh5_media_scache* abuf = sem;
19073   const sh5_media_idesc* idesc = abuf->idesc;
19074   int cycles = 0;
19075   {
19076     int referenced = 0;
19077     unsigned long long insn_referenced = abuf->written;
19078     INT in_usereg = -1;
19079     in_usereg = FLD (in_rm);
19080     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
19081   }
19082   {
19083     int referenced = 0;
19084     unsigned long long insn_referenced = abuf->written;
19085     INT in_usereg = -1;
19086     in_usereg = FLD (in_rn);
19087     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
19088   }
19089   {
19090     int referenced = 0;
19091     unsigned long long insn_referenced = abuf->written;
19092     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
19093   }
19094   return cycles;
19095 #undef FLD
19096 }
19097
19098 UINT
19099 sh5_media_sh5_media_model::model_subl_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
19100 {
19101 #define FLD(f) abuf->fields.sfmt_mcmv.f
19102   const sh5_media_scache* abuf = sem;
19103   const sh5_media_idesc* idesc = abuf->idesc;
19104   int cycles = 0;
19105   {
19106     INT in_usereg = -1;
19107     in_usereg = FLD (in_rm);
19108     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
19109   }
19110   {
19111     INT in_usereg = -1;
19112     in_usereg = FLD (in_rn);
19113     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
19114   }
19115   {
19116     cycles += model_u_exec_before (current_cpu, idesc, 2);
19117   }
19118   return cycles;
19119 #undef FLD
19120 }
19121
19122 UINT
19123 sh5_media_sh5_media_model::model_subl_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
19124 {
19125 #define FLD(f) abuf->fields.sfmt_mcmv.f
19126   const sh5_media_scache* abuf = sem;
19127   const sh5_media_idesc* idesc = abuf->idesc;
19128   int cycles = 0;
19129   {
19130     int referenced = 0;
19131     unsigned long long insn_referenced = abuf->written;
19132     INT in_usereg = -1;
19133     in_usereg = FLD (in_rm);
19134     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
19135   }
19136   {
19137     int referenced = 0;
19138     unsigned long long insn_referenced = abuf->written;
19139     INT in_usereg = -1;
19140     in_usereg = FLD (in_rn);
19141     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
19142   }
19143   {
19144     int referenced = 0;
19145     unsigned long long insn_referenced = abuf->written;
19146     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
19147   }
19148   return cycles;
19149 #undef FLD
19150 }
19151
19152 UINT
19153 sh5_media_sh5_media_model::model_swapq_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
19154 {
19155 #define FLD(f) abuf->fields.sfmt_mcmv.f
19156   const sh5_media_scache* abuf = sem;
19157   const sh5_media_idesc* idesc = abuf->idesc;
19158   int cycles = 0;
19159   {
19160     INT in_usereg = -1;
19161     in_usereg = FLD (in_rm);
19162     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
19163   }
19164   {
19165     INT in_usereg = -1;
19166     in_usereg = FLD (in_rn);
19167     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
19168   }
19169   {
19170     cycles += model_u_exec_before (current_cpu, idesc, 2);
19171   }
19172   return cycles;
19173 #undef FLD
19174 }
19175
19176 UINT
19177 sh5_media_sh5_media_model::model_swapq_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
19178 {
19179 #define FLD(f) abuf->fields.sfmt_mcmv.f
19180   const sh5_media_scache* abuf = sem;
19181   const sh5_media_idesc* idesc = abuf->idesc;
19182   int cycles = 0;
19183   {
19184     int referenced = 0;
19185     unsigned long long insn_referenced = abuf->written;
19186     INT in_usereg = -1;
19187     in_usereg = FLD (in_rm);
19188     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
19189   }
19190   {
19191     int referenced = 0;
19192     unsigned long long insn_referenced = abuf->written;
19193     INT in_usereg = -1;
19194     in_usereg = FLD (in_rn);
19195     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
19196   }
19197   {
19198     int referenced = 0;
19199     unsigned long long insn_referenced = abuf->written;
19200     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
19201   }
19202   return cycles;
19203 #undef FLD
19204 }
19205
19206 UINT
19207 sh5_media_sh5_media_model::model_synci_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
19208 {
19209 #define FLD(f) abuf->fields.fmt_empty.f
19210   const sh5_media_scache* abuf = sem;
19211   const sh5_media_idesc* idesc = abuf->idesc;
19212   int cycles = 0;
19213   {
19214     cycles += model_u_exec_before (current_cpu, idesc, 0);
19215   }
19216   return cycles;
19217 #undef FLD
19218 }
19219
19220 UINT
19221 sh5_media_sh5_media_model::model_synci_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
19222 {
19223 #define FLD(f) abuf->fields.fmt_empty.f
19224   const sh5_media_scache* abuf = sem;
19225   const sh5_media_idesc* idesc = abuf->idesc;
19226   int cycles = 0;
19227   {
19228     int referenced = 0;
19229     unsigned long long insn_referenced = abuf->written;
19230     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
19231   }
19232   return cycles;
19233 #undef FLD
19234 }
19235
19236 UINT
19237 sh5_media_sh5_media_model::model_synco_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
19238 {
19239 #define FLD(f) abuf->fields.fmt_empty.f
19240   const sh5_media_scache* abuf = sem;
19241   const sh5_media_idesc* idesc = abuf->idesc;
19242   int cycles = 0;
19243   {
19244     cycles += model_u_exec_before (current_cpu, idesc, 0);
19245   }
19246   return cycles;
19247 #undef FLD
19248 }
19249
19250 UINT
19251 sh5_media_sh5_media_model::model_synco_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
19252 {
19253 #define FLD(f) abuf->fields.fmt_empty.f
19254   const sh5_media_scache* abuf = sem;
19255   const sh5_media_idesc* idesc = abuf->idesc;
19256   int cycles = 0;
19257   {
19258     int referenced = 0;
19259     unsigned long long insn_referenced = abuf->written;
19260     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
19261   }
19262   return cycles;
19263 #undef FLD
19264 }
19265
19266 UINT
19267 sh5_media_sh5_media_model::model_trapa_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
19268 {
19269 #define FLD(f) abuf->fields.sfmt_alloco.f
19270   const sh5_media_scache* abuf = sem;
19271   const sh5_media_idesc* idesc = abuf->idesc;
19272   int cycles = 0;
19273   {
19274     INT in_usereg = -1;
19275     in_usereg = FLD (in_rm);
19276     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
19277   }
19278   {
19279     cycles += model_u_exec_before (current_cpu, idesc, 1);
19280   }
19281   return cycles;
19282 #undef FLD
19283 }
19284
19285 UINT
19286 sh5_media_sh5_media_model::model_trapa_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
19287 {
19288 #define FLD(f) abuf->fields.sfmt_alloco.f
19289   const sh5_media_scache* abuf = sem;
19290   const sh5_media_idesc* idesc = abuf->idesc;
19291   int cycles = 0;
19292   {
19293     int referenced = 0;
19294     unsigned long long insn_referenced = abuf->written;
19295     INT in_usereg = -1;
19296     in_usereg = FLD (in_rm);
19297     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
19298   }
19299   {
19300     int referenced = 0;
19301     unsigned long long insn_referenced = abuf->written;
19302     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
19303   }
19304   return cycles;
19305 #undef FLD
19306 }
19307
19308 UINT
19309 sh5_media_sh5_media_model::model_xor_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
19310 {
19311 #define FLD(f) abuf->fields.sfmt_mcmv.f
19312   const sh5_media_scache* abuf = sem;
19313   const sh5_media_idesc* idesc = abuf->idesc;
19314   int cycles = 0;
19315   {
19316     INT in_usereg = -1;
19317     in_usereg = FLD (in_rm);
19318     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
19319   }
19320   {
19321     INT in_usereg = -1;
19322     in_usereg = FLD (in_rn);
19323     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
19324   }
19325   {
19326     cycles += model_u_exec_before (current_cpu, idesc, 2);
19327   }
19328   return cycles;
19329 #undef FLD
19330 }
19331
19332 UINT
19333 sh5_media_sh5_media_model::model_xor_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
19334 {
19335 #define FLD(f) abuf->fields.sfmt_mcmv.f
19336   const sh5_media_scache* abuf = sem;
19337   const sh5_media_idesc* idesc = abuf->idesc;
19338   int cycles = 0;
19339   {
19340     int referenced = 0;
19341     unsigned long long insn_referenced = abuf->written;
19342     INT in_usereg = -1;
19343     in_usereg = FLD (in_rm);
19344     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
19345   }
19346   {
19347     int referenced = 0;
19348     unsigned long long insn_referenced = abuf->written;
19349     INT in_usereg = -1;
19350     in_usereg = FLD (in_rn);
19351     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
19352   }
19353   {
19354     int referenced = 0;
19355     unsigned long long insn_referenced = abuf->written;
19356     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
19357   }
19358   return cycles;
19359 #undef FLD
19360 }
19361
19362 UINT
19363 sh5_media_sh5_media_model::model_xori_before (sh5_cpu *current_cpu, sh5_media_scache *sem)
19364 {
19365 #define FLD(f) abuf->fields.sfmt_xori.f
19366   const sh5_media_scache* abuf = sem;
19367   const sh5_media_idesc* idesc = abuf->idesc;
19368   int cycles = 0;
19369   {
19370     INT in_usereg = -1;
19371     in_usereg = FLD (in_rm);
19372     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
19373   }
19374   {
19375     cycles += model_u_exec_before (current_cpu, idesc, 1);
19376   }
19377   return cycles;
19378 #undef FLD
19379 }
19380
19381 UINT
19382 sh5_media_sh5_media_model::model_xori_after (sh5_cpu *current_cpu, sh5_media_scache *sem)
19383 {
19384 #define FLD(f) abuf->fields.sfmt_xori.f
19385   const sh5_media_scache* abuf = sem;
19386   const sh5_media_idesc* idesc = abuf->idesc;
19387   int cycles = 0;
19388   {
19389     int referenced = 0;
19390     unsigned long long insn_referenced = abuf->written;
19391     INT in_usereg = -1;
19392     in_usereg = FLD (in_rm);
19393     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
19394   }
19395   {
19396     int referenced = 0;
19397     unsigned long long insn_referenced = abuf->written;
19398     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
19399   }
19400   return cycles;
19401 #undef FLD
19402 }
19403
19404 /* We assume UNIT_NONE == 0 because the tables don't always terminate
19405    entries with it.  */
19406
19407 /* Model timing data for `sh5'.  */
19408
19409 const sh5_media_sh5_model::insn_timing sh5_media_sh5_model::timing[] = {
19410   { SH5_MEDIA_INSN_X_INVALID, 0, 0, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19411   { SH5_MEDIA_INSN_ADD, & sh5_media_sh5_model::model_add_before, & sh5_media_sh5_model::model_add_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19412   { SH5_MEDIA_INSN_ADDL, & sh5_media_sh5_model::model_addl_before, & sh5_media_sh5_model::model_addl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19413   { SH5_MEDIA_INSN_ADDI, & sh5_media_sh5_model::model_addi_before, & sh5_media_sh5_model::model_addi_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19414   { SH5_MEDIA_INSN_ADDIL, & sh5_media_sh5_model::model_addil_before, & sh5_media_sh5_model::model_addil_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19415   { SH5_MEDIA_INSN_ADDZL, & sh5_media_sh5_model::model_addzl_before, & sh5_media_sh5_model::model_addzl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19416   { SH5_MEDIA_INSN_ALLOCO, & sh5_media_sh5_model::model_alloco_before, & sh5_media_sh5_model::model_alloco_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19417   { SH5_MEDIA_INSN_AND, & sh5_media_sh5_model::model_and_before, & sh5_media_sh5_model::model_and_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19418   { SH5_MEDIA_INSN_ANDC, & sh5_media_sh5_model::model_andc_before, & sh5_media_sh5_model::model_andc_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19419   { SH5_MEDIA_INSN_ANDI, & sh5_media_sh5_model::model_andi_before, & sh5_media_sh5_model::model_andi_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19420   { SH5_MEDIA_INSN_BEQ, & sh5_media_sh5_model::model_beq_before, & sh5_media_sh5_model::model_beq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19421   { SH5_MEDIA_INSN_BEQI, & sh5_media_sh5_model::model_beqi_before, & sh5_media_sh5_model::model_beqi_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19422   { SH5_MEDIA_INSN_BGE, & sh5_media_sh5_model::model_bge_before, & sh5_media_sh5_model::model_bge_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19423   { SH5_MEDIA_INSN_BGEU, & sh5_media_sh5_model::model_bgeu_before, & sh5_media_sh5_model::model_bgeu_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19424   { SH5_MEDIA_INSN_BGT, & sh5_media_sh5_model::model_bgt_before, & sh5_media_sh5_model::model_bgt_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19425   { SH5_MEDIA_INSN_BGTU, & sh5_media_sh5_model::model_bgtu_before, & sh5_media_sh5_model::model_bgtu_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19426   { SH5_MEDIA_INSN_BLINK, & sh5_media_sh5_model::model_blink_before, & sh5_media_sh5_model::model_blink_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19427   { SH5_MEDIA_INSN_BNE, & sh5_media_sh5_model::model_bne_before, & sh5_media_sh5_model::model_bne_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19428   { SH5_MEDIA_INSN_BNEI, & sh5_media_sh5_model::model_bnei_before, & sh5_media_sh5_model::model_bnei_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19429   { SH5_MEDIA_INSN_BRK, & sh5_media_sh5_model::model_brk_before, & sh5_media_sh5_model::model_brk_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19430   { SH5_MEDIA_INSN_BYTEREV, & sh5_media_sh5_model::model_byterev_before, & sh5_media_sh5_model::model_byterev_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19431   { SH5_MEDIA_INSN_CMPEQ, & sh5_media_sh5_model::model_cmpeq_before, & sh5_media_sh5_model::model_cmpeq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19432   { SH5_MEDIA_INSN_CMPGT, & sh5_media_sh5_model::model_cmpgt_before, & sh5_media_sh5_model::model_cmpgt_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19433   { SH5_MEDIA_INSN_CMPGTU, & sh5_media_sh5_model::model_cmpgtu_before, & sh5_media_sh5_model::model_cmpgtu_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19434   { SH5_MEDIA_INSN_CMVEQ, & sh5_media_sh5_model::model_cmveq_before, & sh5_media_sh5_model::model_cmveq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19435   { SH5_MEDIA_INSN_CMVNE, & sh5_media_sh5_model::model_cmvne_before, & sh5_media_sh5_model::model_cmvne_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19436   { SH5_MEDIA_INSN_FABSD, & sh5_media_sh5_model::model_fabsd_before, & sh5_media_sh5_model::model_fabsd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19437   { SH5_MEDIA_INSN_FABSS, & sh5_media_sh5_model::model_fabss_before, & sh5_media_sh5_model::model_fabss_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19438   { SH5_MEDIA_INSN_FADDD, & sh5_media_sh5_model::model_faddd_before, & sh5_media_sh5_model::model_faddd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19439   { SH5_MEDIA_INSN_FADDS, & sh5_media_sh5_model::model_fadds_before, & sh5_media_sh5_model::model_fadds_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19440   { SH5_MEDIA_INSN_FCMPEQD, & sh5_media_sh5_model::model_fcmpeqd_before, & sh5_media_sh5_model::model_fcmpeqd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19441   { SH5_MEDIA_INSN_FCMPEQS, & sh5_media_sh5_model::model_fcmpeqs_before, & sh5_media_sh5_model::model_fcmpeqs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19442   { SH5_MEDIA_INSN_FCMPGED, & sh5_media_sh5_model::model_fcmpged_before, & sh5_media_sh5_model::model_fcmpged_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19443   { SH5_MEDIA_INSN_FCMPGES, & sh5_media_sh5_model::model_fcmpges_before, & sh5_media_sh5_model::model_fcmpges_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19444   { SH5_MEDIA_INSN_FCMPGTD, & sh5_media_sh5_model::model_fcmpgtd_before, & sh5_media_sh5_model::model_fcmpgtd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19445   { SH5_MEDIA_INSN_FCMPGTS, & sh5_media_sh5_model::model_fcmpgts_before, & sh5_media_sh5_model::model_fcmpgts_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19446   { SH5_MEDIA_INSN_FCMPUND, & sh5_media_sh5_model::model_fcmpund_before, & sh5_media_sh5_model::model_fcmpund_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19447   { SH5_MEDIA_INSN_FCMPUNS, & sh5_media_sh5_model::model_fcmpuns_before, & sh5_media_sh5_model::model_fcmpuns_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19448   { SH5_MEDIA_INSN_FCNVDS, & sh5_media_sh5_model::model_fcnvds_before, & sh5_media_sh5_model::model_fcnvds_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19449   { SH5_MEDIA_INSN_FCNVSD, & sh5_media_sh5_model::model_fcnvsd_before, & sh5_media_sh5_model::model_fcnvsd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19450   { SH5_MEDIA_INSN_FDIVD, & sh5_media_sh5_model::model_fdivd_before, & sh5_media_sh5_model::model_fdivd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19451   { SH5_MEDIA_INSN_FDIVS, & sh5_media_sh5_model::model_fdivs_before, & sh5_media_sh5_model::model_fdivs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19452   { SH5_MEDIA_INSN_FGETSCR, & sh5_media_sh5_model::model_fgetscr_before, & sh5_media_sh5_model::model_fgetscr_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19453   { SH5_MEDIA_INSN_FIPRS, & sh5_media_sh5_model::model_fiprs_before, & sh5_media_sh5_model::model_fiprs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19454   { SH5_MEDIA_INSN_FLDD, & sh5_media_sh5_model::model_fldd_before, & sh5_media_sh5_model::model_fldd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19455   { SH5_MEDIA_INSN_FLDP, & sh5_media_sh5_model::model_fldp_before, & sh5_media_sh5_model::model_fldp_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19456   { SH5_MEDIA_INSN_FLDS, & sh5_media_sh5_model::model_flds_before, & sh5_media_sh5_model::model_flds_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19457   { SH5_MEDIA_INSN_FLDXD, & sh5_media_sh5_model::model_fldxd_before, & sh5_media_sh5_model::model_fldxd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19458   { SH5_MEDIA_INSN_FLDXP, & sh5_media_sh5_model::model_fldxp_before, & sh5_media_sh5_model::model_fldxp_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19459   { SH5_MEDIA_INSN_FLDXS, & sh5_media_sh5_model::model_fldxs_before, & sh5_media_sh5_model::model_fldxs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19460   { SH5_MEDIA_INSN_FLOATLD, & sh5_media_sh5_model::model_floatld_before, & sh5_media_sh5_model::model_floatld_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19461   { SH5_MEDIA_INSN_FLOATLS, & sh5_media_sh5_model::model_floatls_before, & sh5_media_sh5_model::model_floatls_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19462   { SH5_MEDIA_INSN_FLOATQD, & sh5_media_sh5_model::model_floatqd_before, & sh5_media_sh5_model::model_floatqd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19463   { SH5_MEDIA_INSN_FLOATQS, & sh5_media_sh5_model::model_floatqs_before, & sh5_media_sh5_model::model_floatqs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19464   { SH5_MEDIA_INSN_FMACS, & sh5_media_sh5_model::model_fmacs_before, & sh5_media_sh5_model::model_fmacs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19465   { SH5_MEDIA_INSN_FMOVD, & sh5_media_sh5_model::model_fmovd_before, & sh5_media_sh5_model::model_fmovd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19466   { SH5_MEDIA_INSN_FMOVDQ, & sh5_media_sh5_model::model_fmovdq_before, & sh5_media_sh5_model::model_fmovdq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19467   { SH5_MEDIA_INSN_FMOVLS, & sh5_media_sh5_model::model_fmovls_before, & sh5_media_sh5_model::model_fmovls_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19468   { SH5_MEDIA_INSN_FMOVQD, & sh5_media_sh5_model::model_fmovqd_before, & sh5_media_sh5_model::model_fmovqd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19469   { SH5_MEDIA_INSN_FMOVS, & sh5_media_sh5_model::model_fmovs_before, & sh5_media_sh5_model::model_fmovs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19470   { SH5_MEDIA_INSN_FMOVSL, & sh5_media_sh5_model::model_fmovsl_before, & sh5_media_sh5_model::model_fmovsl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19471   { SH5_MEDIA_INSN_FMULD, & sh5_media_sh5_model::model_fmuld_before, & sh5_media_sh5_model::model_fmuld_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19472   { SH5_MEDIA_INSN_FMULS, & sh5_media_sh5_model::model_fmuls_before, & sh5_media_sh5_model::model_fmuls_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19473   { SH5_MEDIA_INSN_FNEGD, & sh5_media_sh5_model::model_fnegd_before, & sh5_media_sh5_model::model_fnegd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19474   { SH5_MEDIA_INSN_FNEGS, & sh5_media_sh5_model::model_fnegs_before, & sh5_media_sh5_model::model_fnegs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19475   { SH5_MEDIA_INSN_FPUTSCR, & sh5_media_sh5_model::model_fputscr_before, & sh5_media_sh5_model::model_fputscr_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19476   { SH5_MEDIA_INSN_FSQRTD, & sh5_media_sh5_model::model_fsqrtd_before, & sh5_media_sh5_model::model_fsqrtd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19477   { SH5_MEDIA_INSN_FSQRTS, & sh5_media_sh5_model::model_fsqrts_before, & sh5_media_sh5_model::model_fsqrts_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19478   { SH5_MEDIA_INSN_FSTD, & sh5_media_sh5_model::model_fstd_before, & sh5_media_sh5_model::model_fstd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19479   { SH5_MEDIA_INSN_FSTP, & sh5_media_sh5_model::model_fstp_before, & sh5_media_sh5_model::model_fstp_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19480   { SH5_MEDIA_INSN_FSTS, & sh5_media_sh5_model::model_fsts_before, & sh5_media_sh5_model::model_fsts_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19481   { SH5_MEDIA_INSN_FSTXD, & sh5_media_sh5_model::model_fstxd_before, & sh5_media_sh5_model::model_fstxd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19482   { SH5_MEDIA_INSN_FSTXP, & sh5_media_sh5_model::model_fstxp_before, & sh5_media_sh5_model::model_fstxp_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19483   { SH5_MEDIA_INSN_FSTXS, & sh5_media_sh5_model::model_fstxs_before, & sh5_media_sh5_model::model_fstxs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19484   { SH5_MEDIA_INSN_FSUBD, & sh5_media_sh5_model::model_fsubd_before, & sh5_media_sh5_model::model_fsubd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19485   { SH5_MEDIA_INSN_FSUBS, & sh5_media_sh5_model::model_fsubs_before, & sh5_media_sh5_model::model_fsubs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19486   { SH5_MEDIA_INSN_FTRCDL, & sh5_media_sh5_model::model_ftrcdl_before, & sh5_media_sh5_model::model_ftrcdl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19487   { SH5_MEDIA_INSN_FTRCSL, & sh5_media_sh5_model::model_ftrcsl_before, & sh5_media_sh5_model::model_ftrcsl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19488   { SH5_MEDIA_INSN_FTRCDQ, & sh5_media_sh5_model::model_ftrcdq_before, & sh5_media_sh5_model::model_ftrcdq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19489   { SH5_MEDIA_INSN_FTRCSQ, & sh5_media_sh5_model::model_ftrcsq_before, & sh5_media_sh5_model::model_ftrcsq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19490   { SH5_MEDIA_INSN_FTRVS, & sh5_media_sh5_model::model_ftrvs_before, & sh5_media_sh5_model::model_ftrvs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19491   { SH5_MEDIA_INSN_GETCFG, & sh5_media_sh5_model::model_getcfg_before, & sh5_media_sh5_model::model_getcfg_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19492   { SH5_MEDIA_INSN_GETCON, & sh5_media_sh5_model::model_getcon_before, & sh5_media_sh5_model::model_getcon_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19493   { SH5_MEDIA_INSN_GETTR, & sh5_media_sh5_model::model_gettr_before, & sh5_media_sh5_model::model_gettr_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19494   { SH5_MEDIA_INSN_ICBI, & sh5_media_sh5_model::model_icbi_before, & sh5_media_sh5_model::model_icbi_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19495   { SH5_MEDIA_INSN_LDB, & sh5_media_sh5_model::model_ldb_before, & sh5_media_sh5_model::model_ldb_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19496   { SH5_MEDIA_INSN_LDL, & sh5_media_sh5_model::model_ldl_before, & sh5_media_sh5_model::model_ldl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19497   { SH5_MEDIA_INSN_LDQ, & sh5_media_sh5_model::model_ldq_before, & sh5_media_sh5_model::model_ldq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19498   { SH5_MEDIA_INSN_LDUB, & sh5_media_sh5_model::model_ldub_before, & sh5_media_sh5_model::model_ldub_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19499   { SH5_MEDIA_INSN_LDUW, & sh5_media_sh5_model::model_lduw_before, & sh5_media_sh5_model::model_lduw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19500   { SH5_MEDIA_INSN_LDW, & sh5_media_sh5_model::model_ldw_before, & sh5_media_sh5_model::model_ldw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19501   { SH5_MEDIA_INSN_LDHIL, & sh5_media_sh5_model::model_ldhil_before, & sh5_media_sh5_model::model_ldhil_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19502   { SH5_MEDIA_INSN_LDHIQ, & sh5_media_sh5_model::model_ldhiq_before, & sh5_media_sh5_model::model_ldhiq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19503   { SH5_MEDIA_INSN_LDLOL, & sh5_media_sh5_model::model_ldlol_before, & sh5_media_sh5_model::model_ldlol_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19504   { SH5_MEDIA_INSN_LDLOQ, & sh5_media_sh5_model::model_ldloq_before, & sh5_media_sh5_model::model_ldloq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19505   { SH5_MEDIA_INSN_LDXB, & sh5_media_sh5_model::model_ldxb_before, & sh5_media_sh5_model::model_ldxb_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19506   { SH5_MEDIA_INSN_LDXL, & sh5_media_sh5_model::model_ldxl_before, & sh5_media_sh5_model::model_ldxl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19507   { SH5_MEDIA_INSN_LDXQ, & sh5_media_sh5_model::model_ldxq_before, & sh5_media_sh5_model::model_ldxq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19508   { SH5_MEDIA_INSN_LDXUB, & sh5_media_sh5_model::model_ldxub_before, & sh5_media_sh5_model::model_ldxub_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19509   { SH5_MEDIA_INSN_LDXUW, & sh5_media_sh5_model::model_ldxuw_before, & sh5_media_sh5_model::model_ldxuw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19510   { SH5_MEDIA_INSN_LDXW, & sh5_media_sh5_model::model_ldxw_before, & sh5_media_sh5_model::model_ldxw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19511   { SH5_MEDIA_INSN_MABSL, & sh5_media_sh5_model::model_mabsl_before, & sh5_media_sh5_model::model_mabsl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19512   { SH5_MEDIA_INSN_MABSW, & sh5_media_sh5_model::model_mabsw_before, & sh5_media_sh5_model::model_mabsw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19513   { SH5_MEDIA_INSN_MADDL, & sh5_media_sh5_model::model_maddl_before, & sh5_media_sh5_model::model_maddl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19514   { SH5_MEDIA_INSN_MADDW, & sh5_media_sh5_model::model_maddw_before, & sh5_media_sh5_model::model_maddw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19515   { SH5_MEDIA_INSN_MADDSL, & sh5_media_sh5_model::model_maddsl_before, & sh5_media_sh5_model::model_maddsl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19516   { SH5_MEDIA_INSN_MADDSUB, & sh5_media_sh5_model::model_maddsub_before, & sh5_media_sh5_model::model_maddsub_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19517   { SH5_MEDIA_INSN_MADDSW, & sh5_media_sh5_model::model_maddsw_before, & sh5_media_sh5_model::model_maddsw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19518   { SH5_MEDIA_INSN_MCMPEQB, & sh5_media_sh5_model::model_mcmpeqb_before, & sh5_media_sh5_model::model_mcmpeqb_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19519   { SH5_MEDIA_INSN_MCMPEQL, & sh5_media_sh5_model::model_mcmpeql_before, & sh5_media_sh5_model::model_mcmpeql_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19520   { SH5_MEDIA_INSN_MCMPEQW, & sh5_media_sh5_model::model_mcmpeqw_before, & sh5_media_sh5_model::model_mcmpeqw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19521   { SH5_MEDIA_INSN_MCMPGTL, & sh5_media_sh5_model::model_mcmpgtl_before, & sh5_media_sh5_model::model_mcmpgtl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19522   { SH5_MEDIA_INSN_MCMPGTUB, & sh5_media_sh5_model::model_mcmpgtub_before, & sh5_media_sh5_model::model_mcmpgtub_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19523   { SH5_MEDIA_INSN_MCMPGTW, & sh5_media_sh5_model::model_mcmpgtw_before, & sh5_media_sh5_model::model_mcmpgtw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19524   { SH5_MEDIA_INSN_MCMV, & sh5_media_sh5_model::model_mcmv_before, & sh5_media_sh5_model::model_mcmv_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19525   { SH5_MEDIA_INSN_MCNVSLW, & sh5_media_sh5_model::model_mcnvslw_before, & sh5_media_sh5_model::model_mcnvslw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19526   { SH5_MEDIA_INSN_MCNVSWB, & sh5_media_sh5_model::model_mcnvswb_before, & sh5_media_sh5_model::model_mcnvswb_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19527   { SH5_MEDIA_INSN_MCNVSWUB, & sh5_media_sh5_model::model_mcnvswub_before, & sh5_media_sh5_model::model_mcnvswub_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19528   { SH5_MEDIA_INSN_MEXTR1, & sh5_media_sh5_model::model_mextr1_before, & sh5_media_sh5_model::model_mextr1_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19529   { SH5_MEDIA_INSN_MEXTR2, & sh5_media_sh5_model::model_mextr2_before, & sh5_media_sh5_model::model_mextr2_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19530   { SH5_MEDIA_INSN_MEXTR3, & sh5_media_sh5_model::model_mextr3_before, & sh5_media_sh5_model::model_mextr3_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19531   { SH5_MEDIA_INSN_MEXTR4, & sh5_media_sh5_model::model_mextr4_before, & sh5_media_sh5_model::model_mextr4_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19532   { SH5_MEDIA_INSN_MEXTR5, & sh5_media_sh5_model::model_mextr5_before, & sh5_media_sh5_model::model_mextr5_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19533   { SH5_MEDIA_INSN_MEXTR6, & sh5_media_sh5_model::model_mextr6_before, & sh5_media_sh5_model::model_mextr6_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19534   { SH5_MEDIA_INSN_MEXTR7, & sh5_media_sh5_model::model_mextr7_before, & sh5_media_sh5_model::model_mextr7_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19535   { SH5_MEDIA_INSN_MMACFXWL, & sh5_media_sh5_model::model_mmacfxwl_before, & sh5_media_sh5_model::model_mmacfxwl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19536   { SH5_MEDIA_INSN_MMACNFX_WL, & sh5_media_sh5_model::model_mmacnfx_wl_before, & sh5_media_sh5_model::model_mmacnfx_wl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19537   { SH5_MEDIA_INSN_MMULL, & sh5_media_sh5_model::model_mmull_before, & sh5_media_sh5_model::model_mmull_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19538   { SH5_MEDIA_INSN_MMULW, & sh5_media_sh5_model::model_mmulw_before, & sh5_media_sh5_model::model_mmulw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19539   { SH5_MEDIA_INSN_MMULFXL, & sh5_media_sh5_model::model_mmulfxl_before, & sh5_media_sh5_model::model_mmulfxl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19540   { SH5_MEDIA_INSN_MMULFXW, & sh5_media_sh5_model::model_mmulfxw_before, & sh5_media_sh5_model::model_mmulfxw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19541   { SH5_MEDIA_INSN_MMULFXRPW, & sh5_media_sh5_model::model_mmulfxrpw_before, & sh5_media_sh5_model::model_mmulfxrpw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19542   { SH5_MEDIA_INSN_MMULHIWL, & sh5_media_sh5_model::model_mmulhiwl_before, & sh5_media_sh5_model::model_mmulhiwl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19543   { SH5_MEDIA_INSN_MMULLOWL, & sh5_media_sh5_model::model_mmullowl_before, & sh5_media_sh5_model::model_mmullowl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19544   { SH5_MEDIA_INSN_MMULSUMWQ, & sh5_media_sh5_model::model_mmulsumwq_before, & sh5_media_sh5_model::model_mmulsumwq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19545   { SH5_MEDIA_INSN_MOVI, & sh5_media_sh5_model::model_movi_before, & sh5_media_sh5_model::model_movi_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19546   { SH5_MEDIA_INSN_MPERMW, & sh5_media_sh5_model::model_mpermw_before, & sh5_media_sh5_model::model_mpermw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19547   { SH5_MEDIA_INSN_MSADUBQ, & sh5_media_sh5_model::model_msadubq_before, & sh5_media_sh5_model::model_msadubq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19548   { SH5_MEDIA_INSN_MSHALDSL, & sh5_media_sh5_model::model_mshaldsl_before, & sh5_media_sh5_model::model_mshaldsl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19549   { SH5_MEDIA_INSN_MSHALDSW, & sh5_media_sh5_model::model_mshaldsw_before, & sh5_media_sh5_model::model_mshaldsw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19550   { SH5_MEDIA_INSN_MSHARDL, & sh5_media_sh5_model::model_mshardl_before, & sh5_media_sh5_model::model_mshardl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19551   { SH5_MEDIA_INSN_MSHARDW, & sh5_media_sh5_model::model_mshardw_before, & sh5_media_sh5_model::model_mshardw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19552   { SH5_MEDIA_INSN_MSHARDSQ, & sh5_media_sh5_model::model_mshardsq_before, & sh5_media_sh5_model::model_mshardsq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19553   { SH5_MEDIA_INSN_MSHFHIB, & sh5_media_sh5_model::model_mshfhib_before, & sh5_media_sh5_model::model_mshfhib_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19554   { SH5_MEDIA_INSN_MSHFHIL, & sh5_media_sh5_model::model_mshfhil_before, & sh5_media_sh5_model::model_mshfhil_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19555   { SH5_MEDIA_INSN_MSHFHIW, & sh5_media_sh5_model::model_mshfhiw_before, & sh5_media_sh5_model::model_mshfhiw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19556   { SH5_MEDIA_INSN_MSHFLOB, & sh5_media_sh5_model::model_mshflob_before, & sh5_media_sh5_model::model_mshflob_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19557   { SH5_MEDIA_INSN_MSHFLOL, & sh5_media_sh5_model::model_mshflol_before, & sh5_media_sh5_model::model_mshflol_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19558   { SH5_MEDIA_INSN_MSHFLOW, & sh5_media_sh5_model::model_mshflow_before, & sh5_media_sh5_model::model_mshflow_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19559   { SH5_MEDIA_INSN_MSHLLDL, & sh5_media_sh5_model::model_mshlldl_before, & sh5_media_sh5_model::model_mshlldl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19560   { SH5_MEDIA_INSN_MSHLLDW, & sh5_media_sh5_model::model_mshlldw_before, & sh5_media_sh5_model::model_mshlldw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19561   { SH5_MEDIA_INSN_MSHLRDL, & sh5_media_sh5_model::model_mshlrdl_before, & sh5_media_sh5_model::model_mshlrdl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19562   { SH5_MEDIA_INSN_MSHLRDW, & sh5_media_sh5_model::model_mshlrdw_before, & sh5_media_sh5_model::model_mshlrdw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19563   { SH5_MEDIA_INSN_MSUBL, & sh5_media_sh5_model::model_msubl_before, & sh5_media_sh5_model::model_msubl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19564   { SH5_MEDIA_INSN_MSUBW, & sh5_media_sh5_model::model_msubw_before, & sh5_media_sh5_model::model_msubw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19565   { SH5_MEDIA_INSN_MSUBSL, & sh5_media_sh5_model::model_msubsl_before, & sh5_media_sh5_model::model_msubsl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19566   { SH5_MEDIA_INSN_MSUBSUB, & sh5_media_sh5_model::model_msubsub_before, & sh5_media_sh5_model::model_msubsub_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19567   { SH5_MEDIA_INSN_MSUBSW, & sh5_media_sh5_model::model_msubsw_before, & sh5_media_sh5_model::model_msubsw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19568   { SH5_MEDIA_INSN_MULSL, & sh5_media_sh5_model::model_mulsl_before, & sh5_media_sh5_model::model_mulsl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19569   { SH5_MEDIA_INSN_MULUL, & sh5_media_sh5_model::model_mulul_before, & sh5_media_sh5_model::model_mulul_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19570   { SH5_MEDIA_INSN_NOP, & sh5_media_sh5_model::model_nop_before, & sh5_media_sh5_model::model_nop_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19571   { SH5_MEDIA_INSN_NSB, & sh5_media_sh5_model::model_nsb_before, & sh5_media_sh5_model::model_nsb_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19572   { SH5_MEDIA_INSN_OCBI, & sh5_media_sh5_model::model_ocbi_before, & sh5_media_sh5_model::model_ocbi_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19573   { SH5_MEDIA_INSN_OCBP, & sh5_media_sh5_model::model_ocbp_before, & sh5_media_sh5_model::model_ocbp_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19574   { SH5_MEDIA_INSN_OCBWB, & sh5_media_sh5_model::model_ocbwb_before, & sh5_media_sh5_model::model_ocbwb_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19575   { SH5_MEDIA_INSN_OR, & sh5_media_sh5_model::model_or_before, & sh5_media_sh5_model::model_or_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19576   { SH5_MEDIA_INSN_ORI, & sh5_media_sh5_model::model_ori_before, & sh5_media_sh5_model::model_ori_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19577   { SH5_MEDIA_INSN_PREFI, & sh5_media_sh5_model::model_prefi_before, & sh5_media_sh5_model::model_prefi_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19578   { SH5_MEDIA_INSN_PTA, & sh5_media_sh5_model::model_pta_before, & sh5_media_sh5_model::model_pta_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19579   { SH5_MEDIA_INSN_PTABS, & sh5_media_sh5_model::model_ptabs_before, & sh5_media_sh5_model::model_ptabs_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19580   { SH5_MEDIA_INSN_PTB, & sh5_media_sh5_model::model_ptb_before, & sh5_media_sh5_model::model_ptb_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19581   { SH5_MEDIA_INSN_PTREL, & sh5_media_sh5_model::model_ptrel_before, & sh5_media_sh5_model::model_ptrel_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19582   { SH5_MEDIA_INSN_PUTCFG, & sh5_media_sh5_model::model_putcfg_before, & sh5_media_sh5_model::model_putcfg_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19583   { SH5_MEDIA_INSN_PUTCON, & sh5_media_sh5_model::model_putcon_before, & sh5_media_sh5_model::model_putcon_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19584   { SH5_MEDIA_INSN_RTE, & sh5_media_sh5_model::model_rte_before, & sh5_media_sh5_model::model_rte_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19585   { SH5_MEDIA_INSN_SHARD, & sh5_media_sh5_model::model_shard_before, & sh5_media_sh5_model::model_shard_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19586   { SH5_MEDIA_INSN_SHARDL, & sh5_media_sh5_model::model_shardl_before, & sh5_media_sh5_model::model_shardl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19587   { SH5_MEDIA_INSN_SHARI, & sh5_media_sh5_model::model_shari_before, & sh5_media_sh5_model::model_shari_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19588   { SH5_MEDIA_INSN_SHARIL, & sh5_media_sh5_model::model_sharil_before, & sh5_media_sh5_model::model_sharil_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19589   { SH5_MEDIA_INSN_SHLLD, & sh5_media_sh5_model::model_shlld_before, & sh5_media_sh5_model::model_shlld_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19590   { SH5_MEDIA_INSN_SHLLDL, & sh5_media_sh5_model::model_shlldl_before, & sh5_media_sh5_model::model_shlldl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19591   { SH5_MEDIA_INSN_SHLLI, & sh5_media_sh5_model::model_shlli_before, & sh5_media_sh5_model::model_shlli_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19592   { SH5_MEDIA_INSN_SHLLIL, & sh5_media_sh5_model::model_shllil_before, & sh5_media_sh5_model::model_shllil_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19593   { SH5_MEDIA_INSN_SHLRD, & sh5_media_sh5_model::model_shlrd_before, & sh5_media_sh5_model::model_shlrd_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19594   { SH5_MEDIA_INSN_SHLRDL, & sh5_media_sh5_model::model_shlrdl_before, & sh5_media_sh5_model::model_shlrdl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19595   { SH5_MEDIA_INSN_SHLRI, & sh5_media_sh5_model::model_shlri_before, & sh5_media_sh5_model::model_shlri_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19596   { SH5_MEDIA_INSN_SHLRIL, & sh5_media_sh5_model::model_shlril_before, & sh5_media_sh5_model::model_shlril_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19597   { SH5_MEDIA_INSN_SHORI, & sh5_media_sh5_model::model_shori_before, & sh5_media_sh5_model::model_shori_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19598   { SH5_MEDIA_INSN_SLEEP, & sh5_media_sh5_model::model_sleep_before, & sh5_media_sh5_model::model_sleep_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19599   { SH5_MEDIA_INSN_STB, & sh5_media_sh5_model::model_stb_before, & sh5_media_sh5_model::model_stb_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19600   { SH5_MEDIA_INSN_STL, & sh5_media_sh5_model::model_stl_before, & sh5_media_sh5_model::model_stl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19601   { SH5_MEDIA_INSN_STQ, & sh5_media_sh5_model::model_stq_before, & sh5_media_sh5_model::model_stq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19602   { SH5_MEDIA_INSN_STW, & sh5_media_sh5_model::model_stw_before, & sh5_media_sh5_model::model_stw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19603   { SH5_MEDIA_INSN_STHIL, & sh5_media_sh5_model::model_sthil_before, & sh5_media_sh5_model::model_sthil_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19604   { SH5_MEDIA_INSN_STHIQ, & sh5_media_sh5_model::model_sthiq_before, & sh5_media_sh5_model::model_sthiq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19605   { SH5_MEDIA_INSN_STLOL, & sh5_media_sh5_model::model_stlol_before, & sh5_media_sh5_model::model_stlol_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19606   { SH5_MEDIA_INSN_STLOQ, & sh5_media_sh5_model::model_stloq_before, & sh5_media_sh5_model::model_stloq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19607   { SH5_MEDIA_INSN_STXB, & sh5_media_sh5_model::model_stxb_before, & sh5_media_sh5_model::model_stxb_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19608   { SH5_MEDIA_INSN_STXL, & sh5_media_sh5_model::model_stxl_before, & sh5_media_sh5_model::model_stxl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19609   { SH5_MEDIA_INSN_STXQ, & sh5_media_sh5_model::model_stxq_before, & sh5_media_sh5_model::model_stxq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19610   { SH5_MEDIA_INSN_STXW, & sh5_media_sh5_model::model_stxw_before, & sh5_media_sh5_model::model_stxw_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19611   { SH5_MEDIA_INSN_SUB, & sh5_media_sh5_model::model_sub_before, & sh5_media_sh5_model::model_sub_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19612   { SH5_MEDIA_INSN_SUBL, & sh5_media_sh5_model::model_subl_before, & sh5_media_sh5_model::model_subl_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19613   { SH5_MEDIA_INSN_SWAPQ, & sh5_media_sh5_model::model_swapq_before, & sh5_media_sh5_model::model_swapq_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19614   { SH5_MEDIA_INSN_SYNCI, & sh5_media_sh5_model::model_synci_before, & sh5_media_sh5_model::model_synci_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19615   { SH5_MEDIA_INSN_SYNCO, & sh5_media_sh5_model::model_synco_before, & sh5_media_sh5_model::model_synco_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19616   { SH5_MEDIA_INSN_TRAPA, & sh5_media_sh5_model::model_trapa_before, & sh5_media_sh5_model::model_trapa_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19617   { SH5_MEDIA_INSN_XOR, & sh5_media_sh5_model::model_xor_before, & sh5_media_sh5_model::model_xor_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19618   { SH5_MEDIA_INSN_XORI, & sh5_media_sh5_model::model_xori_before, & sh5_media_sh5_model::model_xori_after, { { sh5_media_sh5_model::UNIT_U_EXEC, 1, 1 } } },
19619 };
19620
19621 /* Model timing data for `sh5-media'.  */
19622
19623 const sh5_media_sh5_media_model::insn_timing sh5_media_sh5_media_model::timing[] = {
19624   { SH5_MEDIA_INSN_X_INVALID, 0, 0, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19625   { SH5_MEDIA_INSN_ADD, & sh5_media_sh5_media_model::model_add_before, & sh5_media_sh5_media_model::model_add_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19626   { SH5_MEDIA_INSN_ADDL, & sh5_media_sh5_media_model::model_addl_before, & sh5_media_sh5_media_model::model_addl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19627   { SH5_MEDIA_INSN_ADDI, & sh5_media_sh5_media_model::model_addi_before, & sh5_media_sh5_media_model::model_addi_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19628   { SH5_MEDIA_INSN_ADDIL, & sh5_media_sh5_media_model::model_addil_before, & sh5_media_sh5_media_model::model_addil_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19629   { SH5_MEDIA_INSN_ADDZL, & sh5_media_sh5_media_model::model_addzl_before, & sh5_media_sh5_media_model::model_addzl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19630   { SH5_MEDIA_INSN_ALLOCO, & sh5_media_sh5_media_model::model_alloco_before, & sh5_media_sh5_media_model::model_alloco_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19631   { SH5_MEDIA_INSN_AND, & sh5_media_sh5_media_model::model_and_before, & sh5_media_sh5_media_model::model_and_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19632   { SH5_MEDIA_INSN_ANDC, & sh5_media_sh5_media_model::model_andc_before, & sh5_media_sh5_media_model::model_andc_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19633   { SH5_MEDIA_INSN_ANDI, & sh5_media_sh5_media_model::model_andi_before, & sh5_media_sh5_media_model::model_andi_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19634   { SH5_MEDIA_INSN_BEQ, & sh5_media_sh5_media_model::model_beq_before, & sh5_media_sh5_media_model::model_beq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_COND_BRANCH, 0, 0 } } },
19635   { SH5_MEDIA_INSN_BEQI, & sh5_media_sh5_media_model::model_beqi_before, & sh5_media_sh5_media_model::model_beqi_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_COND_BRANCH, 0, 0 } } },
19636   { SH5_MEDIA_INSN_BGE, & sh5_media_sh5_media_model::model_bge_before, & sh5_media_sh5_media_model::model_bge_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_COND_BRANCH, 0, 0 } } },
19637   { SH5_MEDIA_INSN_BGEU, & sh5_media_sh5_media_model::model_bgeu_before, & sh5_media_sh5_media_model::model_bgeu_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_COND_BRANCH, 0, 0 } } },
19638   { SH5_MEDIA_INSN_BGT, & sh5_media_sh5_media_model::model_bgt_before, & sh5_media_sh5_media_model::model_bgt_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_COND_BRANCH, 0, 0 } } },
19639   { SH5_MEDIA_INSN_BGTU, & sh5_media_sh5_media_model::model_bgtu_before, & sh5_media_sh5_media_model::model_bgtu_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_COND_BRANCH, 0, 0 } } },
19640   { SH5_MEDIA_INSN_BLINK, & sh5_media_sh5_media_model::model_blink_before, & sh5_media_sh5_media_model::model_blink_after, { { sh5_media_sh5_media_model::UNIT_U_BLINK, 0, 0 } } },
19641   { SH5_MEDIA_INSN_BNE, & sh5_media_sh5_media_model::model_bne_before, & sh5_media_sh5_media_model::model_bne_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_COND_BRANCH, 0, 0 } } },
19642   { SH5_MEDIA_INSN_BNEI, & sh5_media_sh5_media_model::model_bnei_before, & sh5_media_sh5_media_model::model_bnei_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_COND_BRANCH, 0, 0 } } },
19643   { SH5_MEDIA_INSN_BRK, & sh5_media_sh5_media_model::model_brk_before, & sh5_media_sh5_media_model::model_brk_after, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 10 } } },
19644   { SH5_MEDIA_INSN_BYTEREV, & sh5_media_sh5_media_model::model_byterev_before, & sh5_media_sh5_media_model::model_byterev_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19645   { SH5_MEDIA_INSN_CMPEQ, & sh5_media_sh5_media_model::model_cmpeq_before, & sh5_media_sh5_media_model::model_cmpeq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19646   { SH5_MEDIA_INSN_CMPGT, & sh5_media_sh5_media_model::model_cmpgt_before, & sh5_media_sh5_media_model::model_cmpgt_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19647   { SH5_MEDIA_INSN_CMPGTU, & sh5_media_sh5_media_model::model_cmpgtu_before, & sh5_media_sh5_media_model::model_cmpgtu_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19648   { SH5_MEDIA_INSN_CMVEQ, & sh5_media_sh5_media_model::model_cmveq_before, & sh5_media_sh5_media_model::model_cmveq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19649   { SH5_MEDIA_INSN_CMVNE, & sh5_media_sh5_media_model::model_cmvne_before, & sh5_media_sh5_media_model::model_cmvne_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19650   { SH5_MEDIA_INSN_FABSD, & sh5_media_sh5_media_model::model_fabsd_before, & sh5_media_sh5_media_model::model_fabsd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19651   { SH5_MEDIA_INSN_FABSS, & sh5_media_sh5_media_model::model_fabss_before, & sh5_media_sh5_media_model::model_fabss_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19652   { SH5_MEDIA_INSN_FADDD, & sh5_media_sh5_media_model::model_faddd_before, & sh5_media_sh5_media_model::model_faddd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19653   { SH5_MEDIA_INSN_FADDS, & sh5_media_sh5_media_model::model_fadds_before, & sh5_media_sh5_media_model::model_fadds_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19654   { SH5_MEDIA_INSN_FCMPEQD, & sh5_media_sh5_media_model::model_fcmpeqd_before, & sh5_media_sh5_media_model::model_fcmpeqd_after, { { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19655   { SH5_MEDIA_INSN_FCMPEQS, & sh5_media_sh5_media_model::model_fcmpeqs_before, & sh5_media_sh5_media_model::model_fcmpeqs_after, { { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19656   { SH5_MEDIA_INSN_FCMPGED, & sh5_media_sh5_media_model::model_fcmpged_before, & sh5_media_sh5_media_model::model_fcmpged_after, { { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19657   { SH5_MEDIA_INSN_FCMPGES, & sh5_media_sh5_media_model::model_fcmpges_before, & sh5_media_sh5_media_model::model_fcmpges_after, { { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19658   { SH5_MEDIA_INSN_FCMPGTD, & sh5_media_sh5_media_model::model_fcmpgtd_before, & sh5_media_sh5_media_model::model_fcmpgtd_after, { { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19659   { SH5_MEDIA_INSN_FCMPGTS, & sh5_media_sh5_media_model::model_fcmpgts_before, & sh5_media_sh5_media_model::model_fcmpgts_after, { { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19660   { SH5_MEDIA_INSN_FCMPUND, & sh5_media_sh5_media_model::model_fcmpund_before, & sh5_media_sh5_media_model::model_fcmpund_after, { { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19661   { SH5_MEDIA_INSN_FCMPUNS, & sh5_media_sh5_media_model::model_fcmpuns_before, & sh5_media_sh5_media_model::model_fcmpuns_after, { { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19662   { SH5_MEDIA_INSN_FCNVDS, & sh5_media_sh5_media_model::model_fcnvds_before, & sh5_media_sh5_media_model::model_fcnvds_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19663   { SH5_MEDIA_INSN_FCNVSD, & sh5_media_sh5_media_model::model_fcnvsd_before, & sh5_media_sh5_media_model::model_fcnvsd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19664   { SH5_MEDIA_INSN_FDIVD, & sh5_media_sh5_media_model::model_fdivd_before, & sh5_media_sh5_media_model::model_fdivd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FDIVD, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 36 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 35 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 35 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 36 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 36 } } },
19665   { SH5_MEDIA_INSN_FDIVS, & sh5_media_sh5_media_model::model_fdivs_before, & sh5_media_sh5_media_model::model_fdivs_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FDIV, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 19 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 20 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 20 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 20 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 20 } } },
19666   { SH5_MEDIA_INSN_FGETSCR, & sh5_media_sh5_media_model::model_fgetscr_before, & sh5_media_sh5_media_model::model_fgetscr_after, { { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19667   { SH5_MEDIA_INSN_FIPRS, & sh5_media_sh5_media_model::model_fiprs_before, & sh5_media_sh5_media_model::model_fiprs_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FV, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FV, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19668   { SH5_MEDIA_INSN_FLDD, & sh5_media_sh5_media_model::model_fldd_before, & sh5_media_sh5_media_model::model_fldd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_DR, 0, 3 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FP, 0, 3 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FV, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_MTRX, 0, 6 } } },
19669   { SH5_MEDIA_INSN_FLDP, & sh5_media_sh5_media_model::model_fldp_before, & sh5_media_sh5_media_model::model_fldp_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_DR, 0, 3 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FP, 0, 3 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FV, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_MTRX, 0, 6 } } },
19670   { SH5_MEDIA_INSN_FLDS, & sh5_media_sh5_media_model::model_flds_before, & sh5_media_sh5_media_model::model_flds_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FR, 0, 3 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_DR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FP, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FV, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_MTRX, 0, 6 } } },
19671   { SH5_MEDIA_INSN_FLDXD, & sh5_media_sh5_media_model::model_fldxd_before, & sh5_media_sh5_media_model::model_fldxd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_DR, 0, 3 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FP, 0, 3 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FV, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_MTRX, 0, 6 } } },
19672   { SH5_MEDIA_INSN_FLDXP, & sh5_media_sh5_media_model::model_fldxp_before, & sh5_media_sh5_media_model::model_fldxp_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_DR, 0, 3 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FP, 0, 3 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FV, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_MTRX, 0, 6 } } },
19673   { SH5_MEDIA_INSN_FLDXS, & sh5_media_sh5_media_model::model_fldxs_before, & sh5_media_sh5_media_model::model_fldxs_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FR, 0, 3 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_DR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FP, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_FV, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_MTRX, 0, 6 } } },
19674   { SH5_MEDIA_INSN_FLOATLD, & sh5_media_sh5_media_model::model_floatld_before, & sh5_media_sh5_media_model::model_floatld_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19675   { SH5_MEDIA_INSN_FLOATLS, & sh5_media_sh5_media_model::model_floatls_before, & sh5_media_sh5_media_model::model_floatls_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19676   { SH5_MEDIA_INSN_FLOATQD, & sh5_media_sh5_media_model::model_floatqd_before, & sh5_media_sh5_media_model::model_floatqd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19677   { SH5_MEDIA_INSN_FLOATQS, & sh5_media_sh5_media_model::model_floatqs_before, & sh5_media_sh5_media_model::model_floatqs_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19678   { SH5_MEDIA_INSN_FMACS, & sh5_media_sh5_media_model::model_fmacs_before, & sh5_media_sh5_media_model::model_fmacs_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19679   { SH5_MEDIA_INSN_FMOVD, & sh5_media_sh5_media_model::model_fmovd_before, & sh5_media_sh5_media_model::model_fmovd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19680   { SH5_MEDIA_INSN_FMOVDQ, & sh5_media_sh5_media_model::model_fmovdq_before, & sh5_media_sh5_media_model::model_fmovdq_after, { { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19681   { SH5_MEDIA_INSN_FMOVLS, & sh5_media_sh5_media_model::model_fmovls_before, & sh5_media_sh5_media_model::model_fmovls_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19682   { SH5_MEDIA_INSN_FMOVQD, & sh5_media_sh5_media_model::model_fmovqd_before, & sh5_media_sh5_media_model::model_fmovqd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19683   { SH5_MEDIA_INSN_FMOVS, & sh5_media_sh5_media_model::model_fmovs_before, & sh5_media_sh5_media_model::model_fmovs_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19684   { SH5_MEDIA_INSN_FMOVSL, & sh5_media_sh5_media_model::model_fmovsl_before, & sh5_media_sh5_media_model::model_fmovsl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19685   { SH5_MEDIA_INSN_FMULD, & sh5_media_sh5_media_model::model_fmuld_before, & sh5_media_sh5_media_model::model_fmuld_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 10 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 9 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 9 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 10 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 10 } } },
19686   { SH5_MEDIA_INSN_FMULS, & sh5_media_sh5_media_model::model_fmuls_before, & sh5_media_sh5_media_model::model_fmuls_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19687   { SH5_MEDIA_INSN_FNEGD, & sh5_media_sh5_media_model::model_fnegd_before, & sh5_media_sh5_media_model::model_fnegd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19688   { SH5_MEDIA_INSN_FNEGS, & sh5_media_sh5_media_model::model_fnegs_before, & sh5_media_sh5_media_model::model_fnegs_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19689   { SH5_MEDIA_INSN_FPUTSCR, & sh5_media_sh5_media_model::model_fputscr_before, & sh5_media_sh5_media_model::model_fputscr_after, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 8 } } },
19690   { SH5_MEDIA_INSN_FSQRTD, & sh5_media_sh5_media_model::model_fsqrtd_before, & sh5_media_sh5_media_model::model_fsqrtd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FSQRTD, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 36 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 35 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 35 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 36 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 36 } } },
19691   { SH5_MEDIA_INSN_FSQRTS, & sh5_media_sh5_media_model::model_fsqrts_before, & sh5_media_sh5_media_model::model_fsqrts_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FSQRT, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 19 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 20 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 20 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 20 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 20 } } },
19692   { SH5_MEDIA_INSN_FSTD, & sh5_media_sh5_media_model::model_fstd_before, & sh5_media_sh5_media_model::model_fstd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19693   { SH5_MEDIA_INSN_FSTP, & sh5_media_sh5_media_model::model_fstp_before, & sh5_media_sh5_media_model::model_fstp_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FP, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19694   { SH5_MEDIA_INSN_FSTS, & sh5_media_sh5_media_model::model_fsts_before, & sh5_media_sh5_media_model::model_fsts_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19695   { SH5_MEDIA_INSN_FSTXD, & sh5_media_sh5_media_model::model_fstxd_before, & sh5_media_sh5_media_model::model_fstxd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19696   { SH5_MEDIA_INSN_FSTXP, & sh5_media_sh5_media_model::model_fstxp_before, & sh5_media_sh5_media_model::model_fstxp_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FP, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19697   { SH5_MEDIA_INSN_FSTXS, & sh5_media_sh5_media_model::model_fstxs_before, & sh5_media_sh5_media_model::model_fstxs_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19698   { SH5_MEDIA_INSN_FSUBD, & sh5_media_sh5_media_model::model_fsubd_before, & sh5_media_sh5_media_model::model_fsubd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19699   { SH5_MEDIA_INSN_FSUBS, & sh5_media_sh5_media_model::model_fsubs_before, & sh5_media_sh5_media_model::model_fsubs_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19700   { SH5_MEDIA_INSN_FTRCDL, & sh5_media_sh5_media_model::model_ftrcdl_before, & sh5_media_sh5_media_model::model_ftrcdl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19701   { SH5_MEDIA_INSN_FTRCSL, & sh5_media_sh5_media_model::model_ftrcsl_before, & sh5_media_sh5_media_model::model_ftrcsl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19702   { SH5_MEDIA_INSN_FTRCDQ, & sh5_media_sh5_media_model::model_ftrcdq_before, & sh5_media_sh5_media_model::model_ftrcdq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_DR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19703   { SH5_MEDIA_INSN_FTRCSQ, & sh5_media_sh5_media_model::model_ftrcsq_before, & sh5_media_sh5_media_model::model_ftrcsq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_FR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_FR, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_DR, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FP, 0, 6 }, { sh5_media_sh5_media_model::UNIT_U_SET_FV, 0, 7 }, { sh5_media_sh5_media_model::UNIT_U_SET_MTRX, 0, 7 } } },
19704   { SH5_MEDIA_INSN_FTRVS, & sh5_media_sh5_media_model::model_ftrvs_before, & sh5_media_sh5_media_model::model_ftrvs_after, { { sh5_media_sh5_media_model::UNIT_U_USE_MTRX, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_FV, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_FPU, 0, 4 }, { sh5_media_sh5_media_model::UNIT_U_FTRVS, 0, 0 } } },
19705   { SH5_MEDIA_INSN_GETCFG, & sh5_media_sh5_media_model::model_getcfg_before, & sh5_media_sh5_media_model::model_getcfg_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_GETCFG, 0, 0 } } },
19706   { SH5_MEDIA_INSN_GETCON, & sh5_media_sh5_media_model::model_getcon_before, & sh5_media_sh5_media_model::model_getcon_after, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19707   { SH5_MEDIA_INSN_GETTR, & sh5_media_sh5_media_model::model_gettr_before, & sh5_media_sh5_media_model::model_gettr_after, { { sh5_media_sh5_media_model::UNIT_U_USE_TR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19708   { SH5_MEDIA_INSN_ICBI, & sh5_media_sh5_media_model::model_icbi_before, & sh5_media_sh5_media_model::model_icbi_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19709   { SH5_MEDIA_INSN_LDB, & sh5_media_sh5_media_model::model_ldb_before, & sh5_media_sh5_media_model::model_ldb_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19710   { SH5_MEDIA_INSN_LDL, & sh5_media_sh5_media_model::model_ldl_before, & sh5_media_sh5_media_model::model_ldl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19711   { SH5_MEDIA_INSN_LDQ, & sh5_media_sh5_media_model::model_ldq_before, & sh5_media_sh5_media_model::model_ldq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19712   { SH5_MEDIA_INSN_LDUB, & sh5_media_sh5_media_model::model_ldub_before, & sh5_media_sh5_media_model::model_ldub_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19713   { SH5_MEDIA_INSN_LDUW, & sh5_media_sh5_media_model::model_lduw_before, & sh5_media_sh5_media_model::model_lduw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19714   { SH5_MEDIA_INSN_LDW, & sh5_media_sh5_media_model::model_ldw_before, & sh5_media_sh5_media_model::model_ldw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19715   { SH5_MEDIA_INSN_LDHIL, & sh5_media_sh5_media_model::model_ldhil_before, & sh5_media_sh5_media_model::model_ldhil_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19716   { SH5_MEDIA_INSN_LDHIQ, & sh5_media_sh5_media_model::model_ldhiq_before, & sh5_media_sh5_media_model::model_ldhiq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19717   { SH5_MEDIA_INSN_LDLOL, & sh5_media_sh5_media_model::model_ldlol_before, & sh5_media_sh5_media_model::model_ldlol_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19718   { SH5_MEDIA_INSN_LDLOQ, & sh5_media_sh5_media_model::model_ldloq_before, & sh5_media_sh5_media_model::model_ldloq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19719   { SH5_MEDIA_INSN_LDXB, & sh5_media_sh5_media_model::model_ldxb_before, & sh5_media_sh5_media_model::model_ldxb_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19720   { SH5_MEDIA_INSN_LDXL, & sh5_media_sh5_media_model::model_ldxl_before, & sh5_media_sh5_media_model::model_ldxl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19721   { SH5_MEDIA_INSN_LDXQ, & sh5_media_sh5_media_model::model_ldxq_before, & sh5_media_sh5_media_model::model_ldxq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19722   { SH5_MEDIA_INSN_LDXUB, & sh5_media_sh5_media_model::model_ldxub_before, & sh5_media_sh5_media_model::model_ldxub_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19723   { SH5_MEDIA_INSN_LDXUW, & sh5_media_sh5_media_model::model_ldxuw_before, & sh5_media_sh5_media_model::model_ldxuw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19724   { SH5_MEDIA_INSN_LDXW, & sh5_media_sh5_media_model::model_ldxw_before, & sh5_media_sh5_media_model::model_ldxw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_LOAD_GR, 0, 0 } } },
19725   { SH5_MEDIA_INSN_MABSL, & sh5_media_sh5_media_model::model_mabsl_before, & sh5_media_sh5_media_model::model_mabsl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19726   { SH5_MEDIA_INSN_MABSW, & sh5_media_sh5_media_model::model_mabsw_before, & sh5_media_sh5_media_model::model_mabsw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19727   { SH5_MEDIA_INSN_MADDL, & sh5_media_sh5_media_model::model_maddl_before, & sh5_media_sh5_media_model::model_maddl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19728   { SH5_MEDIA_INSN_MADDW, & sh5_media_sh5_media_model::model_maddw_before, & sh5_media_sh5_media_model::model_maddw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19729   { SH5_MEDIA_INSN_MADDSL, & sh5_media_sh5_media_model::model_maddsl_before, & sh5_media_sh5_media_model::model_maddsl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19730   { SH5_MEDIA_INSN_MADDSUB, & sh5_media_sh5_media_model::model_maddsub_before, & sh5_media_sh5_media_model::model_maddsub_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19731   { SH5_MEDIA_INSN_MADDSW, & sh5_media_sh5_media_model::model_maddsw_before, & sh5_media_sh5_media_model::model_maddsw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19732   { SH5_MEDIA_INSN_MCMPEQB, & sh5_media_sh5_media_model::model_mcmpeqb_before, & sh5_media_sh5_media_model::model_mcmpeqb_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19733   { SH5_MEDIA_INSN_MCMPEQL, & sh5_media_sh5_media_model::model_mcmpeql_before, & sh5_media_sh5_media_model::model_mcmpeql_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19734   { SH5_MEDIA_INSN_MCMPEQW, & sh5_media_sh5_media_model::model_mcmpeqw_before, & sh5_media_sh5_media_model::model_mcmpeqw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19735   { SH5_MEDIA_INSN_MCMPGTL, & sh5_media_sh5_media_model::model_mcmpgtl_before, & sh5_media_sh5_media_model::model_mcmpgtl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19736   { SH5_MEDIA_INSN_MCMPGTUB, & sh5_media_sh5_media_model::model_mcmpgtub_before, & sh5_media_sh5_media_model::model_mcmpgtub_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19737   { SH5_MEDIA_INSN_MCMPGTW, & sh5_media_sh5_media_model::model_mcmpgtw_before, & sh5_media_sh5_media_model::model_mcmpgtw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19738   { SH5_MEDIA_INSN_MCMV, & sh5_media_sh5_media_model::model_mcmv_before, & sh5_media_sh5_media_model::model_mcmv_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19739   { SH5_MEDIA_INSN_MCNVSLW, & sh5_media_sh5_media_model::model_mcnvslw_before, & sh5_media_sh5_media_model::model_mcnvslw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19740   { SH5_MEDIA_INSN_MCNVSWB, & sh5_media_sh5_media_model::model_mcnvswb_before, & sh5_media_sh5_media_model::model_mcnvswb_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19741   { SH5_MEDIA_INSN_MCNVSWUB, & sh5_media_sh5_media_model::model_mcnvswub_before, & sh5_media_sh5_media_model::model_mcnvswub_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19742   { SH5_MEDIA_INSN_MEXTR1, & sh5_media_sh5_media_model::model_mextr1_before, & sh5_media_sh5_media_model::model_mextr1_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19743   { SH5_MEDIA_INSN_MEXTR2, & sh5_media_sh5_media_model::model_mextr2_before, & sh5_media_sh5_media_model::model_mextr2_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19744   { SH5_MEDIA_INSN_MEXTR3, & sh5_media_sh5_media_model::model_mextr3_before, & sh5_media_sh5_media_model::model_mextr3_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19745   { SH5_MEDIA_INSN_MEXTR4, & sh5_media_sh5_media_model::model_mextr4_before, & sh5_media_sh5_media_model::model_mextr4_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19746   { SH5_MEDIA_INSN_MEXTR5, & sh5_media_sh5_media_model::model_mextr5_before, & sh5_media_sh5_media_model::model_mextr5_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19747   { SH5_MEDIA_INSN_MEXTR6, & sh5_media_sh5_media_model::model_mextr6_before, & sh5_media_sh5_media_model::model_mextr6_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19748   { SH5_MEDIA_INSN_MEXTR7, & sh5_media_sh5_media_model::model_mextr7_before, & sh5_media_sh5_media_model::model_mextr7_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19749   { SH5_MEDIA_INSN_MMACFXWL, & sh5_media_sh5_media_model::model_mmacfxwl_before, & sh5_media_sh5_media_model::model_mmacfxwl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19750   { SH5_MEDIA_INSN_MMACNFX_WL, & sh5_media_sh5_media_model::model_mmacnfx_wl_before, & sh5_media_sh5_media_model::model_mmacnfx_wl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19751   { SH5_MEDIA_INSN_MMULL, & sh5_media_sh5_media_model::model_mmull_before, & sh5_media_sh5_media_model::model_mmull_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 2 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 4 } } },
19752   { SH5_MEDIA_INSN_MMULW, & sh5_media_sh5_media_model::model_mmulw_before, & sh5_media_sh5_media_model::model_mmulw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19753   { SH5_MEDIA_INSN_MMULFXL, & sh5_media_sh5_media_model::model_mmulfxl_before, & sh5_media_sh5_media_model::model_mmulfxl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 2 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 4 } } },
19754   { SH5_MEDIA_INSN_MMULFXW, & sh5_media_sh5_media_model::model_mmulfxw_before, & sh5_media_sh5_media_model::model_mmulfxw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19755   { SH5_MEDIA_INSN_MMULFXRPW, & sh5_media_sh5_media_model::model_mmulfxrpw_before, & sh5_media_sh5_media_model::model_mmulfxrpw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19756   { SH5_MEDIA_INSN_MMULHIWL, & sh5_media_sh5_media_model::model_mmulhiwl_before, & sh5_media_sh5_media_model::model_mmulhiwl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19757   { SH5_MEDIA_INSN_MMULLOWL, & sh5_media_sh5_media_model::model_mmullowl_before, & sh5_media_sh5_media_model::model_mmullowl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19758   { SH5_MEDIA_INSN_MMULSUMWQ, & sh5_media_sh5_media_model::model_mmulsumwq_before, & sh5_media_sh5_media_model::model_mmulsumwq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19759   { SH5_MEDIA_INSN_MOVI, & sh5_media_sh5_media_model::model_movi_before, & sh5_media_sh5_media_model::model_movi_after, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19760   { SH5_MEDIA_INSN_MPERMW, & sh5_media_sh5_media_model::model_mpermw_before, & sh5_media_sh5_media_model::model_mpermw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19761   { SH5_MEDIA_INSN_MSADUBQ, & sh5_media_sh5_media_model::model_msadubq_before, & sh5_media_sh5_media_model::model_msadubq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19762   { SH5_MEDIA_INSN_MSHALDSL, & sh5_media_sh5_media_model::model_mshaldsl_before, & sh5_media_sh5_media_model::model_mshaldsl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19763   { SH5_MEDIA_INSN_MSHALDSW, & sh5_media_sh5_media_model::model_mshaldsw_before, & sh5_media_sh5_media_model::model_mshaldsw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19764   { SH5_MEDIA_INSN_MSHARDL, & sh5_media_sh5_media_model::model_mshardl_before, & sh5_media_sh5_media_model::model_mshardl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19765   { SH5_MEDIA_INSN_MSHARDW, & sh5_media_sh5_media_model::model_mshardw_before, & sh5_media_sh5_media_model::model_mshardw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19766   { SH5_MEDIA_INSN_MSHARDSQ, & sh5_media_sh5_media_model::model_mshardsq_before, & sh5_media_sh5_media_model::model_mshardsq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19767   { SH5_MEDIA_INSN_MSHFHIB, & sh5_media_sh5_media_model::model_mshfhib_before, & sh5_media_sh5_media_model::model_mshfhib_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19768   { SH5_MEDIA_INSN_MSHFHIL, & sh5_media_sh5_media_model::model_mshfhil_before, & sh5_media_sh5_media_model::model_mshfhil_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19769   { SH5_MEDIA_INSN_MSHFHIW, & sh5_media_sh5_media_model::model_mshfhiw_before, & sh5_media_sh5_media_model::model_mshfhiw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19770   { SH5_MEDIA_INSN_MSHFLOB, & sh5_media_sh5_media_model::model_mshflob_before, & sh5_media_sh5_media_model::model_mshflob_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19771   { SH5_MEDIA_INSN_MSHFLOL, & sh5_media_sh5_media_model::model_mshflol_before, & sh5_media_sh5_media_model::model_mshflol_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19772   { SH5_MEDIA_INSN_MSHFLOW, & sh5_media_sh5_media_model::model_mshflow_before, & sh5_media_sh5_media_model::model_mshflow_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19773   { SH5_MEDIA_INSN_MSHLLDL, & sh5_media_sh5_media_model::model_mshlldl_before, & sh5_media_sh5_media_model::model_mshlldl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19774   { SH5_MEDIA_INSN_MSHLLDW, & sh5_media_sh5_media_model::model_mshlldw_before, & sh5_media_sh5_media_model::model_mshlldw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19775   { SH5_MEDIA_INSN_MSHLRDL, & sh5_media_sh5_media_model::model_mshlrdl_before, & sh5_media_sh5_media_model::model_mshlrdl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19776   { SH5_MEDIA_INSN_MSHLRDW, & sh5_media_sh5_media_model::model_mshlrdw_before, & sh5_media_sh5_media_model::model_mshlrdw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19777   { SH5_MEDIA_INSN_MSUBL, & sh5_media_sh5_media_model::model_msubl_before, & sh5_media_sh5_media_model::model_msubl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19778   { SH5_MEDIA_INSN_MSUBW, & sh5_media_sh5_media_model::model_msubw_before, & sh5_media_sh5_media_model::model_msubw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19779   { SH5_MEDIA_INSN_MSUBSL, & sh5_media_sh5_media_model::model_msubsl_before, & sh5_media_sh5_media_model::model_msubsl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19780   { SH5_MEDIA_INSN_MSUBSUB, & sh5_media_sh5_media_model::model_msubsub_before, & sh5_media_sh5_media_model::model_msubsub_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19781   { SH5_MEDIA_INSN_MSUBSW, & sh5_media_sh5_media_model::model_msubsw_before, & sh5_media_sh5_media_model::model_msubsw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 2 } } },
19782   { SH5_MEDIA_INSN_MULSL, & sh5_media_sh5_media_model::model_mulsl_before, & sh5_media_sh5_media_model::model_mulsl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19783   { SH5_MEDIA_INSN_MULUL, & sh5_media_sh5_media_model::model_mulul_before, & sh5_media_sh5_media_model::model_mulul_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_SET_GR, 0, 3 } } },
19784   { SH5_MEDIA_INSN_NOP, & sh5_media_sh5_media_model::model_nop_before, & sh5_media_sh5_media_model::model_nop_after, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19785   { SH5_MEDIA_INSN_NSB, & sh5_media_sh5_media_model::model_nsb_before, & sh5_media_sh5_media_model::model_nsb_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19786   { SH5_MEDIA_INSN_OCBI, & sh5_media_sh5_media_model::model_ocbi_before, & sh5_media_sh5_media_model::model_ocbi_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19787   { SH5_MEDIA_INSN_OCBP, & sh5_media_sh5_media_model::model_ocbp_before, & sh5_media_sh5_media_model::model_ocbp_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19788   { SH5_MEDIA_INSN_OCBWB, & sh5_media_sh5_media_model::model_ocbwb_before, & sh5_media_sh5_media_model::model_ocbwb_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19789   { SH5_MEDIA_INSN_OR, & sh5_media_sh5_media_model::model_or_before, & sh5_media_sh5_media_model::model_or_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19790   { SH5_MEDIA_INSN_ORI, & sh5_media_sh5_media_model::model_ori_before, & sh5_media_sh5_media_model::model_ori_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19791   { SH5_MEDIA_INSN_PREFI, & sh5_media_sh5_media_model::model_prefi_before, & sh5_media_sh5_media_model::model_prefi_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19792   { SH5_MEDIA_INSN_PTA, & sh5_media_sh5_media_model::model_pta_before, & sh5_media_sh5_media_model::model_pta_after, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_PT, 0, 0 } } },
19793   { SH5_MEDIA_INSN_PTABS, & sh5_media_sh5_media_model::model_ptabs_before, & sh5_media_sh5_media_model::model_ptabs_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_PT, 0, 0 } } },
19794   { SH5_MEDIA_INSN_PTB, & sh5_media_sh5_media_model::model_ptb_before, & sh5_media_sh5_media_model::model_ptb_after, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_PT, 0, 0 } } },
19795   { SH5_MEDIA_INSN_PTREL, & sh5_media_sh5_media_model::model_ptrel_before, & sh5_media_sh5_media_model::model_ptrel_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 }, { sh5_media_sh5_media_model::UNIT_U_PT, 0, 0 } } },
19796   { SH5_MEDIA_INSN_PUTCFG, & sh5_media_sh5_media_model::model_putcfg_before, & sh5_media_sh5_media_model::model_putcfg_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_PUTCFG, 0, 0 } } },
19797   { SH5_MEDIA_INSN_PUTCON, & sh5_media_sh5_media_model::model_putcon_before, & sh5_media_sh5_media_model::model_putcon_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 5 } } },
19798   { SH5_MEDIA_INSN_RTE, & sh5_media_sh5_media_model::model_rte_before, & sh5_media_sh5_media_model::model_rte_after, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 8 } } },
19799   { SH5_MEDIA_INSN_SHARD, & sh5_media_sh5_media_model::model_shard_before, & sh5_media_sh5_media_model::model_shard_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19800   { SH5_MEDIA_INSN_SHARDL, & sh5_media_sh5_media_model::model_shardl_before, & sh5_media_sh5_media_model::model_shardl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19801   { SH5_MEDIA_INSN_SHARI, & sh5_media_sh5_media_model::model_shari_before, & sh5_media_sh5_media_model::model_shari_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19802   { SH5_MEDIA_INSN_SHARIL, & sh5_media_sh5_media_model::model_sharil_before, & sh5_media_sh5_media_model::model_sharil_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19803   { SH5_MEDIA_INSN_SHLLD, & sh5_media_sh5_media_model::model_shlld_before, & sh5_media_sh5_media_model::model_shlld_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19804   { SH5_MEDIA_INSN_SHLLDL, & sh5_media_sh5_media_model::model_shlldl_before, & sh5_media_sh5_media_model::model_shlldl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19805   { SH5_MEDIA_INSN_SHLLI, & sh5_media_sh5_media_model::model_shlli_before, & sh5_media_sh5_media_model::model_shlli_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19806   { SH5_MEDIA_INSN_SHLLIL, & sh5_media_sh5_media_model::model_shllil_before, & sh5_media_sh5_media_model::model_shllil_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19807   { SH5_MEDIA_INSN_SHLRD, & sh5_media_sh5_media_model::model_shlrd_before, & sh5_media_sh5_media_model::model_shlrd_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19808   { SH5_MEDIA_INSN_SHLRDL, & sh5_media_sh5_media_model::model_shlrdl_before, & sh5_media_sh5_media_model::model_shlrdl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19809   { SH5_MEDIA_INSN_SHLRI, & sh5_media_sh5_media_model::model_shlri_before, & sh5_media_sh5_media_model::model_shlri_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19810   { SH5_MEDIA_INSN_SHLRIL, & sh5_media_sh5_media_model::model_shlril_before, & sh5_media_sh5_media_model::model_shlril_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19811   { SH5_MEDIA_INSN_SHORI, & sh5_media_sh5_media_model::model_shori_before, & sh5_media_sh5_media_model::model_shori_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19812   { SH5_MEDIA_INSN_SLEEP, & sh5_media_sh5_media_model::model_sleep_before, & sh5_media_sh5_media_model::model_sleep_after, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19813   { SH5_MEDIA_INSN_STB, & sh5_media_sh5_media_model::model_stb_before, & sh5_media_sh5_media_model::model_stb_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19814   { SH5_MEDIA_INSN_STL, & sh5_media_sh5_media_model::model_stl_before, & sh5_media_sh5_media_model::model_stl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19815   { SH5_MEDIA_INSN_STQ, & sh5_media_sh5_media_model::model_stq_before, & sh5_media_sh5_media_model::model_stq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19816   { SH5_MEDIA_INSN_STW, & sh5_media_sh5_media_model::model_stw_before, & sh5_media_sh5_media_model::model_stw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19817   { SH5_MEDIA_INSN_STHIL, & sh5_media_sh5_media_model::model_sthil_before, & sh5_media_sh5_media_model::model_sthil_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19818   { SH5_MEDIA_INSN_STHIQ, & sh5_media_sh5_media_model::model_sthiq_before, & sh5_media_sh5_media_model::model_sthiq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19819   { SH5_MEDIA_INSN_STLOL, & sh5_media_sh5_media_model::model_stlol_before, & sh5_media_sh5_media_model::model_stlol_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19820   { SH5_MEDIA_INSN_STLOQ, & sh5_media_sh5_media_model::model_stloq_before, & sh5_media_sh5_media_model::model_stloq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19821   { SH5_MEDIA_INSN_STXB, & sh5_media_sh5_media_model::model_stxb_before, & sh5_media_sh5_media_model::model_stxb_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19822   { SH5_MEDIA_INSN_STXL, & sh5_media_sh5_media_model::model_stxl_before, & sh5_media_sh5_media_model::model_stxl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19823   { SH5_MEDIA_INSN_STXQ, & sh5_media_sh5_media_model::model_stxq_before, & sh5_media_sh5_media_model::model_stxq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19824   { SH5_MEDIA_INSN_STXW, & sh5_media_sh5_media_model::model_stxw_before, & sh5_media_sh5_media_model::model_stxw_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19825   { SH5_MEDIA_INSN_SUB, & sh5_media_sh5_media_model::model_sub_before, & sh5_media_sh5_media_model::model_sub_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19826   { SH5_MEDIA_INSN_SUBL, & sh5_media_sh5_media_model::model_subl_before, & sh5_media_sh5_media_model::model_subl_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19827   { SH5_MEDIA_INSN_SWAPQ, & sh5_media_sh5_media_model::model_swapq_before, & sh5_media_sh5_media_model::model_swapq_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19828   { SH5_MEDIA_INSN_SYNCI, & sh5_media_sh5_media_model::model_synci_before, & sh5_media_sh5_media_model::model_synci_after, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19829   { SH5_MEDIA_INSN_SYNCO, & sh5_media_sh5_media_model::model_synco_before, & sh5_media_sh5_media_model::model_synco_after, { { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19830   { SH5_MEDIA_INSN_TRAPA, & sh5_media_sh5_media_model::model_trapa_before, & sh5_media_sh5_media_model::model_trapa_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 10 } } },
19831   { SH5_MEDIA_INSN_XOR, & sh5_media_sh5_media_model::model_xor_before, & sh5_media_sh5_media_model::model_xor_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19832   { SH5_MEDIA_INSN_XORI, & sh5_media_sh5_media_model::model_xori_before, & sh5_media_sh5_media_model::model_xori_after, { { sh5_media_sh5_media_model::UNIT_U_USE_GR, 0, 0 }, { sh5_media_sh5_media_model::UNIT_U_EXEC, 1, 1 } } },
19833 };
19834