OSDN Git Service

Regenerate cgen files, update copyright year.
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / cgen-cpu / sh / sh4a-nofpu-model.cxx
1 /* Simulator model support for sh4a_nofpu.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright (C) 2000-2010 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 "sh4a_nofpu.h"
17
18 using namespace sh4a_nofpu; // 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 sh4a_nofpu_sh4a_nofpu_model::sh4a_nofpu_sh4a_nofpu_model (sh4a_nofpu_cpu *cpu)
26   : cgen_model (cpu)
27 {
28 }
29
30 UINT
31 sh4a_nofpu_sh4a_nofpu_model::model_add_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
32 {
33 #define FLD(f) abuf->fields.sfmt_macl_compact.f
34   const sh4a_nofpu_scache* abuf = sem;
35   const sh4a_nofpu_idesc* idesc = abuf->idesc;
36   int cycles = 0;
37   {
38     INT in_usereg = -1;
39     in_usereg = FLD (in_rn);
40     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
41   }
42   {
43     INT in_usereg = -1;
44     in_usereg = FLD (in_rm);
45     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
46   }
47   {
48     cycles += model_u_exec_before (current_cpu, idesc, 2);
49   }
50   return cycles;
51 #undef FLD
52 }
53
54 UINT
55 sh4a_nofpu_sh4a_nofpu_model::model_add_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
56 {
57 #define FLD(f) abuf->fields.sfmt_macl_compact.f
58   const sh4a_nofpu_scache* abuf = sem;
59   const sh4a_nofpu_idesc* idesc = abuf->idesc;
60   int cycles = 0;
61   {
62     int referenced = 0;
63     unsigned long long insn_referenced = abuf->written;
64     INT in_usereg = -1;
65     in_usereg = FLD (in_rn);
66     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
67   }
68   {
69     int referenced = 0;
70     unsigned long long insn_referenced = abuf->written;
71     INT in_usereg = -1;
72     in_usereg = FLD (in_rm);
73     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
74   }
75   {
76     int referenced = 0;
77     unsigned long long insn_referenced = abuf->written;
78     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
79   }
80   return cycles;
81 #undef FLD
82 }
83
84 UINT
85 sh4a_nofpu_sh4a_nofpu_model::model_addi_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
86 {
87 #define FLD(f) abuf->fields.sfmt_addi_compact.f
88   const sh4a_nofpu_scache* abuf = sem;
89   const sh4a_nofpu_idesc* idesc = abuf->idesc;
90   int cycles = 0;
91   {
92     INT in_usereg = -1;
93     in_usereg = FLD (in_rn);
94     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
95   }
96   {
97     cycles += model_u_exec_before (current_cpu, idesc, 1);
98   }
99   return cycles;
100 #undef FLD
101 }
102
103 UINT
104 sh4a_nofpu_sh4a_nofpu_model::model_addi_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
105 {
106 #define FLD(f) abuf->fields.sfmt_addi_compact.f
107   const sh4a_nofpu_scache* abuf = sem;
108   const sh4a_nofpu_idesc* idesc = abuf->idesc;
109   int cycles = 0;
110   {
111     int referenced = 0;
112     unsigned long long insn_referenced = abuf->written;
113     INT in_usereg = -1;
114     in_usereg = FLD (in_rn);
115     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
116   }
117   {
118     int referenced = 0;
119     unsigned long long insn_referenced = abuf->written;
120     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
121   }
122   return cycles;
123 #undef FLD
124 }
125
126 UINT
127 sh4a_nofpu_sh4a_nofpu_model::model_addc_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
128 {
129 #define FLD(f) abuf->fields.sfmt_macl_compact.f
130   const sh4a_nofpu_scache* abuf = sem;
131   const sh4a_nofpu_idesc* idesc = abuf->idesc;
132   int cycles = 0;
133   {
134     INT in_usereg = -1;
135     in_usereg = FLD (in_rn);
136     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
137   }
138   {
139     INT in_usereg = -1;
140     in_usereg = FLD (in_rm);
141     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
142   }
143   {
144     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
145   }
146   {
147     cycles += model_u_exec_before (current_cpu, idesc, 3);
148   }
149   {
150     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
151   }
152   return cycles;
153 #undef FLD
154 }
155
156 UINT
157 sh4a_nofpu_sh4a_nofpu_model::model_addc_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
158 {
159 #define FLD(f) abuf->fields.sfmt_macl_compact.f
160   const sh4a_nofpu_scache* abuf = sem;
161   const sh4a_nofpu_idesc* idesc = abuf->idesc;
162   int cycles = 0;
163   {
164     int referenced = 0;
165     unsigned long long insn_referenced = abuf->written;
166     INT in_usereg = -1;
167     in_usereg = FLD (in_rn);
168     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
169   }
170   {
171     int referenced = 0;
172     unsigned long long insn_referenced = abuf->written;
173     INT in_usereg = -1;
174     in_usereg = FLD (in_rm);
175     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
176   }
177   {
178     int referenced = 0;
179     unsigned long long insn_referenced = abuf->written;
180     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
181   }
182   {
183     int referenced = 0;
184     unsigned long long insn_referenced = abuf->written;
185     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
186   }
187   {
188     int referenced = 0;
189     unsigned long long insn_referenced = abuf->written;
190     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
191   }
192   return cycles;
193 #undef FLD
194 }
195
196 UINT
197 sh4a_nofpu_sh4a_nofpu_model::model_addv_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
198 {
199 #define FLD(f) abuf->fields.sfmt_macl_compact.f
200   const sh4a_nofpu_scache* abuf = sem;
201   const sh4a_nofpu_idesc* idesc = abuf->idesc;
202   int cycles = 0;
203   {
204     INT in_usereg = -1;
205     in_usereg = FLD (in_rn);
206     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
207   }
208   {
209     INT in_usereg = -1;
210     in_usereg = FLD (in_rm);
211     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
212   }
213   {
214     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
215   }
216   {
217     cycles += model_u_exec_before (current_cpu, idesc, 3);
218   }
219   {
220     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
221   }
222   return cycles;
223 #undef FLD
224 }
225
226 UINT
227 sh4a_nofpu_sh4a_nofpu_model::model_addv_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
228 {
229 #define FLD(f) abuf->fields.sfmt_macl_compact.f
230   const sh4a_nofpu_scache* abuf = sem;
231   const sh4a_nofpu_idesc* idesc = abuf->idesc;
232   int cycles = 0;
233   {
234     int referenced = 0;
235     unsigned long long insn_referenced = abuf->written;
236     INT in_usereg = -1;
237     in_usereg = FLD (in_rn);
238     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
239   }
240   {
241     int referenced = 0;
242     unsigned long long insn_referenced = abuf->written;
243     INT in_usereg = -1;
244     in_usereg = FLD (in_rm);
245     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
246   }
247   {
248     int referenced = 0;
249     unsigned long long insn_referenced = abuf->written;
250     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
251   }
252   {
253     int referenced = 0;
254     unsigned long long insn_referenced = abuf->written;
255     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
256   }
257   {
258     int referenced = 0;
259     unsigned long long insn_referenced = abuf->written;
260     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
261   }
262   return cycles;
263 #undef FLD
264 }
265
266 UINT
267 sh4a_nofpu_sh4a_nofpu_model::model_and_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
268 {
269 #define FLD(f) abuf->fields.sfmt_and_compact.f
270   const sh4a_nofpu_scache* abuf = sem;
271   const sh4a_nofpu_idesc* idesc = abuf->idesc;
272   int cycles = 0;
273   {
274     INT in_usereg = -1;
275     in_usereg = FLD (in_rn64);
276     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
277   }
278   {
279     INT in_usereg = -1;
280     in_usereg = FLD (in_rm64);
281     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
282   }
283   {
284     cycles += model_u_exec_before (current_cpu, idesc, 2);
285   }
286   return cycles;
287 #undef FLD
288 }
289
290 UINT
291 sh4a_nofpu_sh4a_nofpu_model::model_and_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
292 {
293 #define FLD(f) abuf->fields.sfmt_and_compact.f
294   const sh4a_nofpu_scache* abuf = sem;
295   const sh4a_nofpu_idesc* idesc = abuf->idesc;
296   int cycles = 0;
297   {
298     int referenced = 0;
299     unsigned long long insn_referenced = abuf->written;
300     INT in_usereg = -1;
301     in_usereg = FLD (in_rn64);
302     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
303   }
304   {
305     int referenced = 0;
306     unsigned long long insn_referenced = abuf->written;
307     INT in_usereg = -1;
308     in_usereg = FLD (in_rm64);
309     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
310   }
311   {
312     int referenced = 0;
313     unsigned long long insn_referenced = abuf->written;
314     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
315   }
316   return cycles;
317 #undef FLD
318 }
319
320 UINT
321 sh4a_nofpu_sh4a_nofpu_model::model_andi_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
322 {
323 #define FLD(f) abuf->fields.sfmt_andi_compact.f
324   const sh4a_nofpu_scache* abuf = sem;
325   const sh4a_nofpu_idesc* idesc = abuf->idesc;
326   int cycles = 0;
327   {
328     INT in_usereg = -1;
329     in_usereg = FLD (in_r0);
330     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
331   }
332   {
333     cycles += model_u_exec_before (current_cpu, idesc, 1);
334   }
335   return cycles;
336 #undef FLD
337 }
338
339 UINT
340 sh4a_nofpu_sh4a_nofpu_model::model_andi_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
341 {
342 #define FLD(f) abuf->fields.sfmt_andi_compact.f
343   const sh4a_nofpu_scache* abuf = sem;
344   const sh4a_nofpu_idesc* idesc = abuf->idesc;
345   int cycles = 0;
346   {
347     int referenced = 0;
348     unsigned long long insn_referenced = abuf->written;
349     INT in_usereg = -1;
350     in_usereg = FLD (in_r0);
351     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
352   }
353   {
354     int referenced = 0;
355     unsigned long long insn_referenced = abuf->written;
356     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
357   }
358   return cycles;
359 #undef FLD
360 }
361
362 UINT
363 sh4a_nofpu_sh4a_nofpu_model::model_andb_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
364 {
365 #define FLD(f) abuf->fields.sfmt_andi_compact.f
366   const sh4a_nofpu_scache* abuf = sem;
367   const sh4a_nofpu_idesc* idesc = abuf->idesc;
368   int cycles = 0;
369   {
370     INT in_usereg = -1;
371     in_usereg = FLD (in_r0);
372     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
373   }
374   {
375     cycles += model_u_logic_b_before (current_cpu, idesc, 1);
376   }
377   {
378     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
379   }
380   return cycles;
381 #undef FLD
382 }
383
384 UINT
385 sh4a_nofpu_sh4a_nofpu_model::model_andb_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
386 {
387 #define FLD(f) abuf->fields.sfmt_andi_compact.f
388   const sh4a_nofpu_scache* abuf = sem;
389   const sh4a_nofpu_idesc* idesc = abuf->idesc;
390   int cycles = 0;
391   {
392     int referenced = 0;
393     unsigned long long insn_referenced = abuf->written;
394     INT in_usereg = -1;
395     in_usereg = FLD (in_r0);
396     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
397   }
398   {
399     int referenced = 0;
400     unsigned long long insn_referenced = abuf->written;
401     cycles += model_u_logic_b_after (current_cpu, idesc, 1, referenced);
402   }
403   {
404     int referenced = 0;
405     unsigned long long insn_referenced = abuf->written;
406     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
407   }
408   return cycles;
409 #undef FLD
410 }
411
412 UINT
413 sh4a_nofpu_sh4a_nofpu_model::model_bf_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
414 {
415 #define FLD(f) abuf->fields.sfmt_bf_compact.f
416   const sh4a_nofpu_scache* abuf = sem;
417   const sh4a_nofpu_idesc* idesc = abuf->idesc;
418   int cycles = 0;
419   {
420     cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
421   }
422   {
423     cycles += model_u_branch_before (current_cpu, idesc, 1);
424   }
425   return cycles;
426 #undef FLD
427 }
428
429 UINT
430 sh4a_nofpu_sh4a_nofpu_model::model_bf_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
431 {
432 #define FLD(f) abuf->fields.sfmt_bf_compact.f
433   const sh4a_nofpu_scache* abuf = sem;
434   const sh4a_nofpu_idesc* idesc = abuf->idesc;
435   int cycles = 0;
436   {
437     int referenced = 0;
438     unsigned long long insn_referenced = abuf->written;
439     cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
440   }
441   {
442     int referenced = 0;
443     unsigned long long insn_referenced = abuf->written;
444     if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
445     cycles += model_u_branch_after (current_cpu, idesc, 1, referenced);
446   }
447   return cycles;
448 #undef FLD
449 }
450
451 UINT
452 sh4a_nofpu_sh4a_nofpu_model::model_bfs_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
453 {
454 #define FLD(f) abuf->fields.sfmt_bf_compact.f
455   const sh4a_nofpu_scache* abuf = sem;
456   const sh4a_nofpu_idesc* idesc = abuf->idesc;
457   int cycles = 0;
458   {
459     cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
460   }
461   {
462     cycles += model_u_branch_before (current_cpu, idesc, 1);
463   }
464   return cycles;
465 #undef FLD
466 }
467
468 UINT
469 sh4a_nofpu_sh4a_nofpu_model::model_bfs_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
470 {
471 #define FLD(f) abuf->fields.sfmt_bf_compact.f
472   const sh4a_nofpu_scache* abuf = sem;
473   const sh4a_nofpu_idesc* idesc = abuf->idesc;
474   int cycles = 0;
475   {
476     int referenced = 0;
477     unsigned long long insn_referenced = abuf->written;
478     cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
479   }
480   {
481     int referenced = 0;
482     unsigned long long insn_referenced = abuf->written;
483     if (insn_referenced & (1 << 3)) referenced |= 1 << 0;
484     cycles += model_u_branch_after (current_cpu, idesc, 1, referenced);
485   }
486   return cycles;
487 #undef FLD
488 }
489
490 UINT
491 sh4a_nofpu_sh4a_nofpu_model::model_bra_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
492 {
493 #define FLD(f) abuf->fields.sfmt_bra_compact.f
494   const sh4a_nofpu_scache* abuf = sem;
495   const sh4a_nofpu_idesc* idesc = abuf->idesc;
496   int cycles = 0;
497   {
498     cycles += model_u_branch_before (current_cpu, idesc, 0);
499   }
500   return cycles;
501 #undef FLD
502 }
503
504 UINT
505 sh4a_nofpu_sh4a_nofpu_model::model_bra_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
506 {
507 #define FLD(f) abuf->fields.sfmt_bra_compact.f
508   const sh4a_nofpu_scache* abuf = sem;
509   const sh4a_nofpu_idesc* idesc = abuf->idesc;
510   int cycles = 0;
511   {
512     int referenced = 0;
513     unsigned long long insn_referenced = abuf->written;
514     referenced |= 1 << 0;
515     cycles += model_u_branch_after (current_cpu, idesc, 0, referenced);
516   }
517   return cycles;
518 #undef FLD
519 }
520
521 UINT
522 sh4a_nofpu_sh4a_nofpu_model::model_braf_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
523 {
524 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
525   const sh4a_nofpu_scache* abuf = sem;
526   const sh4a_nofpu_idesc* idesc = abuf->idesc;
527   int cycles = 0;
528   {
529     INT in_usereg = -1;
530     in_usereg = FLD (in_rn);
531     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
532   }
533   {
534     cycles += model_u_jmp_before (current_cpu, idesc, 1);
535   }
536   return cycles;
537 #undef FLD
538 }
539
540 UINT
541 sh4a_nofpu_sh4a_nofpu_model::model_braf_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
542 {
543 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
544   const sh4a_nofpu_scache* abuf = sem;
545   const sh4a_nofpu_idesc* idesc = abuf->idesc;
546   int cycles = 0;
547   {
548     int referenced = 0;
549     unsigned long long insn_referenced = abuf->written;
550     INT in_usereg = -1;
551     in_usereg = FLD (in_rn);
552     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
553   }
554   {
555     int referenced = 0;
556     unsigned long long insn_referenced = abuf->written;
557     referenced |= 1 << 0;
558     cycles += model_u_jmp_after (current_cpu, idesc, 1, referenced);
559   }
560   return cycles;
561 #undef FLD
562 }
563
564 UINT
565 sh4a_nofpu_sh4a_nofpu_model::model_bsr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
566 {
567 #define FLD(f) abuf->fields.sfmt_bra_compact.f
568   const sh4a_nofpu_scache* abuf = sem;
569   const sh4a_nofpu_idesc* idesc = abuf->idesc;
570   int cycles = 0;
571   {
572     cycles += model_u_branch_before (current_cpu, idesc, 0);
573   }
574   return cycles;
575 #undef FLD
576 }
577
578 UINT
579 sh4a_nofpu_sh4a_nofpu_model::model_bsr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
580 {
581 #define FLD(f) abuf->fields.sfmt_bra_compact.f
582   const sh4a_nofpu_scache* abuf = sem;
583   const sh4a_nofpu_idesc* idesc = abuf->idesc;
584   int cycles = 0;
585   {
586     int referenced = 0;
587     unsigned long long insn_referenced = abuf->written;
588     referenced |= 1 << 0;
589     cycles += model_u_branch_after (current_cpu, idesc, 0, referenced);
590   }
591   return cycles;
592 #undef FLD
593 }
594
595 UINT
596 sh4a_nofpu_sh4a_nofpu_model::model_bsrf_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
597 {
598 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
599   const sh4a_nofpu_scache* abuf = sem;
600   const sh4a_nofpu_idesc* idesc = abuf->idesc;
601   int cycles = 0;
602   {
603     INT in_usereg = -1;
604     in_usereg = FLD (in_rn);
605     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
606   }
607   {
608     cycles += model_u_jsr_before (current_cpu, idesc, 1);
609   }
610   return cycles;
611 #undef FLD
612 }
613
614 UINT
615 sh4a_nofpu_sh4a_nofpu_model::model_bsrf_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
616 {
617 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
618   const sh4a_nofpu_scache* abuf = sem;
619   const sh4a_nofpu_idesc* idesc = abuf->idesc;
620   int cycles = 0;
621   {
622     int referenced = 0;
623     unsigned long long insn_referenced = abuf->written;
624     INT in_usereg = -1;
625     in_usereg = FLD (in_rn);
626     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
627   }
628   {
629     int referenced = 0;
630     unsigned long long insn_referenced = abuf->written;
631     referenced |= 1 << 0;
632     cycles += model_u_jsr_after (current_cpu, idesc, 1, referenced);
633   }
634   return cycles;
635 #undef FLD
636 }
637
638 UINT
639 sh4a_nofpu_sh4a_nofpu_model::model_bt_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
640 {
641 #define FLD(f) abuf->fields.sfmt_bf_compact.f
642   const sh4a_nofpu_scache* abuf = sem;
643   const sh4a_nofpu_idesc* idesc = abuf->idesc;
644   int cycles = 0;
645   {
646     cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
647   }
648   {
649     cycles += model_u_branch_before (current_cpu, idesc, 1);
650   }
651   return cycles;
652 #undef FLD
653 }
654
655 UINT
656 sh4a_nofpu_sh4a_nofpu_model::model_bt_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
657 {
658 #define FLD(f) abuf->fields.sfmt_bf_compact.f
659   const sh4a_nofpu_scache* abuf = sem;
660   const sh4a_nofpu_idesc* idesc = abuf->idesc;
661   int cycles = 0;
662   {
663     int referenced = 0;
664     unsigned long long insn_referenced = abuf->written;
665     cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
666   }
667   {
668     int referenced = 0;
669     unsigned long long insn_referenced = abuf->written;
670     if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
671     cycles += model_u_branch_after (current_cpu, idesc, 1, referenced);
672   }
673   return cycles;
674 #undef FLD
675 }
676
677 UINT
678 sh4a_nofpu_sh4a_nofpu_model::model_bts_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
679 {
680 #define FLD(f) abuf->fields.sfmt_bf_compact.f
681   const sh4a_nofpu_scache* abuf = sem;
682   const sh4a_nofpu_idesc* idesc = abuf->idesc;
683   int cycles = 0;
684   {
685     cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
686   }
687   {
688     cycles += model_u_branch_before (current_cpu, idesc, 1);
689   }
690   return cycles;
691 #undef FLD
692 }
693
694 UINT
695 sh4a_nofpu_sh4a_nofpu_model::model_bts_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
696 {
697 #define FLD(f) abuf->fields.sfmt_bf_compact.f
698   const sh4a_nofpu_scache* abuf = sem;
699   const sh4a_nofpu_idesc* idesc = abuf->idesc;
700   int cycles = 0;
701   {
702     int referenced = 0;
703     unsigned long long insn_referenced = abuf->written;
704     cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
705   }
706   {
707     int referenced = 0;
708     unsigned long long insn_referenced = abuf->written;
709     if (insn_referenced & (1 << 3)) referenced |= 1 << 0;
710     cycles += model_u_branch_after (current_cpu, idesc, 1, referenced);
711   }
712   return cycles;
713 #undef FLD
714 }
715
716 UINT
717 sh4a_nofpu_sh4a_nofpu_model::model_clrmac_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
718 {
719 #define FLD(f) abuf->fields.fmt_empty.f
720   const sh4a_nofpu_scache* abuf = sem;
721   const sh4a_nofpu_idesc* idesc = abuf->idesc;
722   int cycles = 0;
723   {
724     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 0);
725   }
726   {
727     cycles += model_u_exec_before (current_cpu, idesc, 1);
728   }
729   {
730     cycles += model_u_set_mac_before (current_cpu, idesc, 2);
731   }
732   return cycles;
733 #undef FLD
734 }
735
736 UINT
737 sh4a_nofpu_sh4a_nofpu_model::model_clrmac_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
738 {
739 #define FLD(f) abuf->fields.fmt_empty.f
740   const sh4a_nofpu_scache* abuf = sem;
741   const sh4a_nofpu_idesc* idesc = abuf->idesc;
742   int cycles = 0;
743   {
744     int referenced = 0;
745     unsigned long long insn_referenced = abuf->written;
746     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 0, referenced);
747   }
748   {
749     int referenced = 0;
750     unsigned long long insn_referenced = abuf->written;
751     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
752   }
753   {
754     int referenced = 0;
755     unsigned long long insn_referenced = abuf->written;
756     cycles += model_u_set_mac_after (current_cpu, idesc, 2, referenced);
757   }
758   return cycles;
759 #undef FLD
760 }
761
762 UINT
763 sh4a_nofpu_sh4a_nofpu_model::model_clrs_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
764 {
765 #define FLD(f) abuf->fields.fmt_empty.f
766   const sh4a_nofpu_scache* abuf = sem;
767   const sh4a_nofpu_idesc* idesc = abuf->idesc;
768   int cycles = 0;
769   {
770     cycles += model_u_exec_before (current_cpu, idesc, 0);
771   }
772   {
773     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 1);
774   }
775   return cycles;
776 #undef FLD
777 }
778
779 UINT
780 sh4a_nofpu_sh4a_nofpu_model::model_clrs_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
781 {
782 #define FLD(f) abuf->fields.fmt_empty.f
783   const sh4a_nofpu_scache* abuf = sem;
784   const sh4a_nofpu_idesc* idesc = abuf->idesc;
785   int cycles = 0;
786   {
787     int referenced = 0;
788     unsigned long long insn_referenced = abuf->written;
789     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
790   }
791   {
792     int referenced = 0;
793     unsigned long long insn_referenced = abuf->written;
794     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 1, referenced);
795   }
796   return cycles;
797 #undef FLD
798 }
799
800 UINT
801 sh4a_nofpu_sh4a_nofpu_model::model_clrt_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
802 {
803 #define FLD(f) abuf->fields.fmt_empty.f
804   const sh4a_nofpu_scache* abuf = sem;
805   const sh4a_nofpu_idesc* idesc = abuf->idesc;
806   int cycles = 0;
807   {
808     cycles += model_u_exec_before (current_cpu, idesc, 0);
809   }
810   {
811     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
812   }
813   {
814     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 2);
815   }
816   return cycles;
817 #undef FLD
818 }
819
820 UINT
821 sh4a_nofpu_sh4a_nofpu_model::model_clrt_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
822 {
823 #define FLD(f) abuf->fields.fmt_empty.f
824   const sh4a_nofpu_scache* abuf = sem;
825   const sh4a_nofpu_idesc* idesc = abuf->idesc;
826   int cycles = 0;
827   {
828     int referenced = 0;
829     unsigned long long insn_referenced = abuf->written;
830     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
831   }
832   {
833     int referenced = 0;
834     unsigned long long insn_referenced = abuf->written;
835     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
836   }
837   {
838     int referenced = 0;
839     unsigned long long insn_referenced = abuf->written;
840     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 2, referenced);
841   }
842   return cycles;
843 #undef FLD
844 }
845
846 UINT
847 sh4a_nofpu_sh4a_nofpu_model::model_cmpeq_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
848 {
849 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
850   const sh4a_nofpu_scache* abuf = sem;
851   const sh4a_nofpu_idesc* idesc = abuf->idesc;
852   int cycles = 0;
853   {
854     INT in_usereg = -1;
855     in_usereg = FLD (in_rn);
856     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
857   }
858   {
859     INT in_usereg = -1;
860     in_usereg = FLD (in_rm);
861     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
862   }
863   {
864     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
865   }
866   {
867     cycles += model_u_exec_before (current_cpu, idesc, 3);
868   }
869   {
870     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
871   }
872   return cycles;
873 #undef FLD
874 }
875
876 UINT
877 sh4a_nofpu_sh4a_nofpu_model::model_cmpeq_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
878 {
879 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
880   const sh4a_nofpu_scache* abuf = sem;
881   const sh4a_nofpu_idesc* idesc = abuf->idesc;
882   int cycles = 0;
883   {
884     int referenced = 0;
885     unsigned long long insn_referenced = abuf->written;
886     INT in_usereg = -1;
887     in_usereg = FLD (in_rn);
888     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
889   }
890   {
891     int referenced = 0;
892     unsigned long long insn_referenced = abuf->written;
893     INT in_usereg = -1;
894     in_usereg = FLD (in_rm);
895     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
896   }
897   {
898     int referenced = 0;
899     unsigned long long insn_referenced = abuf->written;
900     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
901   }
902   {
903     int referenced = 0;
904     unsigned long long insn_referenced = abuf->written;
905     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
906   }
907   {
908     int referenced = 0;
909     unsigned long long insn_referenced = abuf->written;
910     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
911   }
912   return cycles;
913 #undef FLD
914 }
915
916 UINT
917 sh4a_nofpu_sh4a_nofpu_model::model_cmpeqi_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
918 {
919 #define FLD(f) abuf->fields.sfmt_andi_compact.f
920   const sh4a_nofpu_scache* abuf = sem;
921   const sh4a_nofpu_idesc* idesc = abuf->idesc;
922   int cycles = 0;
923   {
924     INT in_usereg = -1;
925     in_usereg = FLD (in_r0);
926     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
927   }
928   {
929     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
930   }
931   {
932     cycles += model_u_exec_before (current_cpu, idesc, 2);
933   }
934   {
935     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
936   }
937   return cycles;
938 #undef FLD
939 }
940
941 UINT
942 sh4a_nofpu_sh4a_nofpu_model::model_cmpeqi_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
943 {
944 #define FLD(f) abuf->fields.sfmt_andi_compact.f
945   const sh4a_nofpu_scache* abuf = sem;
946   const sh4a_nofpu_idesc* idesc = abuf->idesc;
947   int cycles = 0;
948   {
949     int referenced = 0;
950     unsigned long long insn_referenced = abuf->written;
951     INT in_usereg = -1;
952     in_usereg = FLD (in_r0);
953     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
954   }
955   {
956     int referenced = 0;
957     unsigned long long insn_referenced = abuf->written;
958     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
959   }
960   {
961     int referenced = 0;
962     unsigned long long insn_referenced = abuf->written;
963     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
964   }
965   {
966     int referenced = 0;
967     unsigned long long insn_referenced = abuf->written;
968     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
969   }
970   return cycles;
971 #undef FLD
972 }
973
974 UINT
975 sh4a_nofpu_sh4a_nofpu_model::model_cmpge_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
976 {
977 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
978   const sh4a_nofpu_scache* abuf = sem;
979   const sh4a_nofpu_idesc* idesc = abuf->idesc;
980   int cycles = 0;
981   {
982     INT in_usereg = -1;
983     in_usereg = FLD (in_rn);
984     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
985   }
986   {
987     INT in_usereg = -1;
988     in_usereg = FLD (in_rm);
989     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
990   }
991   {
992     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
993   }
994   {
995     cycles += model_u_exec_before (current_cpu, idesc, 3);
996   }
997   {
998     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
999   }
1000   return cycles;
1001 #undef FLD
1002 }
1003
1004 UINT
1005 sh4a_nofpu_sh4a_nofpu_model::model_cmpge_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1006 {
1007 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1008   const sh4a_nofpu_scache* abuf = sem;
1009   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1010   int cycles = 0;
1011   {
1012     int referenced = 0;
1013     unsigned long long insn_referenced = abuf->written;
1014     INT in_usereg = -1;
1015     in_usereg = FLD (in_rn);
1016     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1017   }
1018   {
1019     int referenced = 0;
1020     unsigned long long insn_referenced = abuf->written;
1021     INT in_usereg = -1;
1022     in_usereg = FLD (in_rm);
1023     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1024   }
1025   {
1026     int referenced = 0;
1027     unsigned long long insn_referenced = abuf->written;
1028     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1029   }
1030   {
1031     int referenced = 0;
1032     unsigned long long insn_referenced = abuf->written;
1033     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1034   }
1035   {
1036     int referenced = 0;
1037     unsigned long long insn_referenced = abuf->written;
1038     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1039   }
1040   return cycles;
1041 #undef FLD
1042 }
1043
1044 UINT
1045 sh4a_nofpu_sh4a_nofpu_model::model_cmpgt_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1046 {
1047 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1048   const sh4a_nofpu_scache* abuf = sem;
1049   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1050   int cycles = 0;
1051   {
1052     INT in_usereg = -1;
1053     in_usereg = FLD (in_rn);
1054     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1055   }
1056   {
1057     INT in_usereg = -1;
1058     in_usereg = FLD (in_rm);
1059     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1060   }
1061   {
1062     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1063   }
1064   {
1065     cycles += model_u_exec_before (current_cpu, idesc, 3);
1066   }
1067   {
1068     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1069   }
1070   return cycles;
1071 #undef FLD
1072 }
1073
1074 UINT
1075 sh4a_nofpu_sh4a_nofpu_model::model_cmpgt_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1076 {
1077 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1078   const sh4a_nofpu_scache* abuf = sem;
1079   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1080   int cycles = 0;
1081   {
1082     int referenced = 0;
1083     unsigned long long insn_referenced = abuf->written;
1084     INT in_usereg = -1;
1085     in_usereg = FLD (in_rn);
1086     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1087   }
1088   {
1089     int referenced = 0;
1090     unsigned long long insn_referenced = abuf->written;
1091     INT in_usereg = -1;
1092     in_usereg = FLD (in_rm);
1093     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1094   }
1095   {
1096     int referenced = 0;
1097     unsigned long long insn_referenced = abuf->written;
1098     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1099   }
1100   {
1101     int referenced = 0;
1102     unsigned long long insn_referenced = abuf->written;
1103     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1104   }
1105   {
1106     int referenced = 0;
1107     unsigned long long insn_referenced = abuf->written;
1108     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1109   }
1110   return cycles;
1111 #undef FLD
1112 }
1113
1114 UINT
1115 sh4a_nofpu_sh4a_nofpu_model::model_cmphi_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1116 {
1117 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1118   const sh4a_nofpu_scache* abuf = sem;
1119   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1120   int cycles = 0;
1121   {
1122     INT in_usereg = -1;
1123     in_usereg = FLD (in_rn);
1124     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1125   }
1126   {
1127     INT in_usereg = -1;
1128     in_usereg = FLD (in_rm);
1129     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1130   }
1131   {
1132     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1133   }
1134   {
1135     cycles += model_u_exec_before (current_cpu, idesc, 3);
1136   }
1137   {
1138     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1139   }
1140   return cycles;
1141 #undef FLD
1142 }
1143
1144 UINT
1145 sh4a_nofpu_sh4a_nofpu_model::model_cmphi_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1146 {
1147 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1148   const sh4a_nofpu_scache* abuf = sem;
1149   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1150   int cycles = 0;
1151   {
1152     int referenced = 0;
1153     unsigned long long insn_referenced = abuf->written;
1154     INT in_usereg = -1;
1155     in_usereg = FLD (in_rn);
1156     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1157   }
1158   {
1159     int referenced = 0;
1160     unsigned long long insn_referenced = abuf->written;
1161     INT in_usereg = -1;
1162     in_usereg = FLD (in_rm);
1163     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1164   }
1165   {
1166     int referenced = 0;
1167     unsigned long long insn_referenced = abuf->written;
1168     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1169   }
1170   {
1171     int referenced = 0;
1172     unsigned long long insn_referenced = abuf->written;
1173     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1174   }
1175   {
1176     int referenced = 0;
1177     unsigned long long insn_referenced = abuf->written;
1178     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1179   }
1180   return cycles;
1181 #undef FLD
1182 }
1183
1184 UINT
1185 sh4a_nofpu_sh4a_nofpu_model::model_cmphs_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1186 {
1187 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1188   const sh4a_nofpu_scache* abuf = sem;
1189   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1190   int cycles = 0;
1191   {
1192     INT in_usereg = -1;
1193     in_usereg = FLD (in_rn);
1194     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1195   }
1196   {
1197     INT in_usereg = -1;
1198     in_usereg = FLD (in_rm);
1199     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1200   }
1201   {
1202     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1203   }
1204   {
1205     cycles += model_u_exec_before (current_cpu, idesc, 3);
1206   }
1207   {
1208     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1209   }
1210   return cycles;
1211 #undef FLD
1212 }
1213
1214 UINT
1215 sh4a_nofpu_sh4a_nofpu_model::model_cmphs_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1216 {
1217 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1218   const sh4a_nofpu_scache* abuf = sem;
1219   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1220   int cycles = 0;
1221   {
1222     int referenced = 0;
1223     unsigned long long insn_referenced = abuf->written;
1224     INT in_usereg = -1;
1225     in_usereg = FLD (in_rn);
1226     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1227   }
1228   {
1229     int referenced = 0;
1230     unsigned long long insn_referenced = abuf->written;
1231     INT in_usereg = -1;
1232     in_usereg = FLD (in_rm);
1233     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1234   }
1235   {
1236     int referenced = 0;
1237     unsigned long long insn_referenced = abuf->written;
1238     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1239   }
1240   {
1241     int referenced = 0;
1242     unsigned long long insn_referenced = abuf->written;
1243     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1244   }
1245   {
1246     int referenced = 0;
1247     unsigned long long insn_referenced = abuf->written;
1248     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1249   }
1250   return cycles;
1251 #undef FLD
1252 }
1253
1254 UINT
1255 sh4a_nofpu_sh4a_nofpu_model::model_cmppl_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1256 {
1257 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
1258   const sh4a_nofpu_scache* abuf = sem;
1259   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1260   int cycles = 0;
1261   {
1262     INT in_usereg = -1;
1263     in_usereg = FLD (in_rn);
1264     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1265   }
1266   {
1267     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
1268   }
1269   {
1270     cycles += model_u_exec_before (current_cpu, idesc, 2);
1271   }
1272   {
1273     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
1274   }
1275   return cycles;
1276 #undef FLD
1277 }
1278
1279 UINT
1280 sh4a_nofpu_sh4a_nofpu_model::model_cmppl_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1281 {
1282 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
1283   const sh4a_nofpu_scache* abuf = sem;
1284   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1285   int cycles = 0;
1286   {
1287     int referenced = 0;
1288     unsigned long long insn_referenced = abuf->written;
1289     INT in_usereg = -1;
1290     in_usereg = FLD (in_rn);
1291     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1292   }
1293   {
1294     int referenced = 0;
1295     unsigned long long insn_referenced = abuf->written;
1296     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
1297   }
1298   {
1299     int referenced = 0;
1300     unsigned long long insn_referenced = abuf->written;
1301     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
1302   }
1303   {
1304     int referenced = 0;
1305     unsigned long long insn_referenced = abuf->written;
1306     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
1307   }
1308   return cycles;
1309 #undef FLD
1310 }
1311
1312 UINT
1313 sh4a_nofpu_sh4a_nofpu_model::model_cmppz_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1314 {
1315 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
1316   const sh4a_nofpu_scache* abuf = sem;
1317   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1318   int cycles = 0;
1319   {
1320     INT in_usereg = -1;
1321     in_usereg = FLD (in_rn);
1322     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1323   }
1324   {
1325     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
1326   }
1327   {
1328     cycles += model_u_exec_before (current_cpu, idesc, 2);
1329   }
1330   {
1331     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
1332   }
1333   return cycles;
1334 #undef FLD
1335 }
1336
1337 UINT
1338 sh4a_nofpu_sh4a_nofpu_model::model_cmppz_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1339 {
1340 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
1341   const sh4a_nofpu_scache* abuf = sem;
1342   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1343   int cycles = 0;
1344   {
1345     int referenced = 0;
1346     unsigned long long insn_referenced = abuf->written;
1347     INT in_usereg = -1;
1348     in_usereg = FLD (in_rn);
1349     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1350   }
1351   {
1352     int referenced = 0;
1353     unsigned long long insn_referenced = abuf->written;
1354     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
1355   }
1356   {
1357     int referenced = 0;
1358     unsigned long long insn_referenced = abuf->written;
1359     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
1360   }
1361   {
1362     int referenced = 0;
1363     unsigned long long insn_referenced = abuf->written;
1364     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
1365   }
1366   return cycles;
1367 #undef FLD
1368 }
1369
1370 UINT
1371 sh4a_nofpu_sh4a_nofpu_model::model_cmpstr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1372 {
1373 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1374   const sh4a_nofpu_scache* abuf = sem;
1375   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1376   int cycles = 0;
1377   {
1378     INT in_usereg = -1;
1379     in_usereg = FLD (in_rn);
1380     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1381   }
1382   {
1383     INT in_usereg = -1;
1384     in_usereg = FLD (in_rm);
1385     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1386   }
1387   {
1388     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1389   }
1390   {
1391     cycles += model_u_exec_before (current_cpu, idesc, 3);
1392   }
1393   {
1394     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1395   }
1396   return cycles;
1397 #undef FLD
1398 }
1399
1400 UINT
1401 sh4a_nofpu_sh4a_nofpu_model::model_cmpstr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1402 {
1403 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1404   const sh4a_nofpu_scache* abuf = sem;
1405   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1406   int cycles = 0;
1407   {
1408     int referenced = 0;
1409     unsigned long long insn_referenced = abuf->written;
1410     INT in_usereg = -1;
1411     in_usereg = FLD (in_rn);
1412     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1413   }
1414   {
1415     int referenced = 0;
1416     unsigned long long insn_referenced = abuf->written;
1417     INT in_usereg = -1;
1418     in_usereg = FLD (in_rm);
1419     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1420   }
1421   {
1422     int referenced = 0;
1423     unsigned long long insn_referenced = abuf->written;
1424     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1425   }
1426   {
1427     int referenced = 0;
1428     unsigned long long insn_referenced = abuf->written;
1429     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1430   }
1431   {
1432     int referenced = 0;
1433     unsigned long long insn_referenced = abuf->written;
1434     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1435   }
1436   return cycles;
1437 #undef FLD
1438 }
1439
1440 UINT
1441 sh4a_nofpu_sh4a_nofpu_model::model_div0s_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1442 {
1443 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1444   const sh4a_nofpu_scache* abuf = sem;
1445   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1446   int cycles = 0;
1447   {
1448     INT in_usereg = -1;
1449     in_usereg = FLD (in_rn);
1450     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1451   }
1452   {
1453     INT in_usereg = -1;
1454     in_usereg = FLD (in_rm);
1455     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1456   }
1457   {
1458     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1459   }
1460   {
1461     cycles += model_u_exec_before (current_cpu, idesc, 3);
1462   }
1463   {
1464     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1465   }
1466   return cycles;
1467 #undef FLD
1468 }
1469
1470 UINT
1471 sh4a_nofpu_sh4a_nofpu_model::model_div0s_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1472 {
1473 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1474   const sh4a_nofpu_scache* abuf = sem;
1475   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1476   int cycles = 0;
1477   {
1478     int referenced = 0;
1479     unsigned long long insn_referenced = abuf->written;
1480     INT in_usereg = -1;
1481     in_usereg = FLD (in_rn);
1482     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1483   }
1484   {
1485     int referenced = 0;
1486     unsigned long long insn_referenced = abuf->written;
1487     INT in_usereg = -1;
1488     in_usereg = FLD (in_rm);
1489     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1490   }
1491   {
1492     int referenced = 0;
1493     unsigned long long insn_referenced = abuf->written;
1494     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1495   }
1496   {
1497     int referenced = 0;
1498     unsigned long long insn_referenced = abuf->written;
1499     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1500   }
1501   {
1502     int referenced = 0;
1503     unsigned long long insn_referenced = abuf->written;
1504     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1505   }
1506   return cycles;
1507 #undef FLD
1508 }
1509
1510 UINT
1511 sh4a_nofpu_sh4a_nofpu_model::model_div0u_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1512 {
1513 #define FLD(f) abuf->fields.fmt_empty.f
1514   const sh4a_nofpu_scache* abuf = sem;
1515   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1516   int cycles = 0;
1517   {
1518     cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
1519   }
1520   {
1521     cycles += model_u_exec_before (current_cpu, idesc, 1);
1522   }
1523   {
1524     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 2);
1525   }
1526   return cycles;
1527 #undef FLD
1528 }
1529
1530 UINT
1531 sh4a_nofpu_sh4a_nofpu_model::model_div0u_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1532 {
1533 #define FLD(f) abuf->fields.fmt_empty.f
1534   const sh4a_nofpu_scache* abuf = sem;
1535   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1536   int cycles = 0;
1537   {
1538     int referenced = 0;
1539     unsigned long long insn_referenced = abuf->written;
1540     cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
1541   }
1542   {
1543     int referenced = 0;
1544     unsigned long long insn_referenced = abuf->written;
1545     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1546   }
1547   {
1548     int referenced = 0;
1549     unsigned long long insn_referenced = abuf->written;
1550     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 2, referenced);
1551   }
1552   return cycles;
1553 #undef FLD
1554 }
1555
1556 UINT
1557 sh4a_nofpu_sh4a_nofpu_model::model_div1_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1558 {
1559 #define FLD(f) abuf->fields.sfmt_macl_compact.f
1560   const sh4a_nofpu_scache* abuf = sem;
1561   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1562   int cycles = 0;
1563   {
1564     INT in_usereg = -1;
1565     in_usereg = FLD (in_rn);
1566     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1567   }
1568   {
1569     INT in_usereg = -1;
1570     in_usereg = FLD (in_rm);
1571     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1572   }
1573   {
1574     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1575   }
1576   {
1577     cycles += model_u_exec_before (current_cpu, idesc, 3);
1578   }
1579   {
1580     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1581   }
1582   return cycles;
1583 #undef FLD
1584 }
1585
1586 UINT
1587 sh4a_nofpu_sh4a_nofpu_model::model_div1_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1588 {
1589 #define FLD(f) abuf->fields.sfmt_macl_compact.f
1590   const sh4a_nofpu_scache* abuf = sem;
1591   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1592   int cycles = 0;
1593   {
1594     int referenced = 0;
1595     unsigned long long insn_referenced = abuf->written;
1596     INT in_usereg = -1;
1597     in_usereg = FLD (in_rn);
1598     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1599   }
1600   {
1601     int referenced = 0;
1602     unsigned long long insn_referenced = abuf->written;
1603     INT in_usereg = -1;
1604     in_usereg = FLD (in_rm);
1605     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1606   }
1607   {
1608     int referenced = 0;
1609     unsigned long long insn_referenced = abuf->written;
1610     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1611   }
1612   {
1613     int referenced = 0;
1614     unsigned long long insn_referenced = abuf->written;
1615     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1616   }
1617   {
1618     int referenced = 0;
1619     unsigned long long insn_referenced = abuf->written;
1620     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1621   }
1622   return cycles;
1623 #undef FLD
1624 }
1625
1626 UINT
1627 sh4a_nofpu_sh4a_nofpu_model::model_dmulsl_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1628 {
1629 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1630   const sh4a_nofpu_scache* abuf = sem;
1631   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1632   int cycles = 0;
1633   {
1634     INT in_usereg = -1;
1635     in_usereg = FLD (in_rn);
1636     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1637   }
1638   {
1639     INT in_usereg = -1;
1640     in_usereg = FLD (in_rm);
1641     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1642   }
1643   {
1644     cycles += model_u_dmul_before (current_cpu, idesc, 2);
1645   }
1646   return cycles;
1647 #undef FLD
1648 }
1649
1650 UINT
1651 sh4a_nofpu_sh4a_nofpu_model::model_dmulsl_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1652 {
1653 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1654   const sh4a_nofpu_scache* abuf = sem;
1655   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1656   int cycles = 0;
1657   {
1658     int referenced = 0;
1659     unsigned long long insn_referenced = abuf->written;
1660     INT in_usereg = -1;
1661     in_usereg = FLD (in_rn);
1662     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1663   }
1664   {
1665     int referenced = 0;
1666     unsigned long long insn_referenced = abuf->written;
1667     INT in_usereg = -1;
1668     in_usereg = FLD (in_rm);
1669     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1670   }
1671   {
1672     int referenced = 0;
1673     unsigned long long insn_referenced = abuf->written;
1674     cycles += model_u_dmul_after (current_cpu, idesc, 2, referenced);
1675   }
1676   return cycles;
1677 #undef FLD
1678 }
1679
1680 UINT
1681 sh4a_nofpu_sh4a_nofpu_model::model_dmulul_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1682 {
1683 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1684   const sh4a_nofpu_scache* abuf = sem;
1685   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1686   int cycles = 0;
1687   {
1688     INT in_usereg = -1;
1689     in_usereg = FLD (in_rn);
1690     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1691   }
1692   {
1693     INT in_usereg = -1;
1694     in_usereg = FLD (in_rm);
1695     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1696   }
1697   {
1698     cycles += model_u_dmul_before (current_cpu, idesc, 2);
1699   }
1700   return cycles;
1701 #undef FLD
1702 }
1703
1704 UINT
1705 sh4a_nofpu_sh4a_nofpu_model::model_dmulul_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1706 {
1707 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
1708   const sh4a_nofpu_scache* abuf = sem;
1709   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1710   int cycles = 0;
1711   {
1712     int referenced = 0;
1713     unsigned long long insn_referenced = abuf->written;
1714     INT in_usereg = -1;
1715     in_usereg = FLD (in_rn);
1716     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1717   }
1718   {
1719     int referenced = 0;
1720     unsigned long long insn_referenced = abuf->written;
1721     INT in_usereg = -1;
1722     in_usereg = FLD (in_rm);
1723     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1724   }
1725   {
1726     int referenced = 0;
1727     unsigned long long insn_referenced = abuf->written;
1728     cycles += model_u_dmul_after (current_cpu, idesc, 2, referenced);
1729   }
1730   return cycles;
1731 #undef FLD
1732 }
1733
1734 UINT
1735 sh4a_nofpu_sh4a_nofpu_model::model_dt_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1736 {
1737 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
1738   const sh4a_nofpu_scache* abuf = sem;
1739   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1740   int cycles = 0;
1741   {
1742     INT in_usereg = -1;
1743     in_usereg = FLD (in_rn);
1744     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1745   }
1746   {
1747     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
1748   }
1749   {
1750     cycles += model_u_exec_before (current_cpu, idesc, 2);
1751   }
1752   {
1753     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
1754   }
1755   return cycles;
1756 #undef FLD
1757 }
1758
1759 UINT
1760 sh4a_nofpu_sh4a_nofpu_model::model_dt_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1761 {
1762 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
1763   const sh4a_nofpu_scache* abuf = sem;
1764   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1765   int cycles = 0;
1766   {
1767     int referenced = 0;
1768     unsigned long long insn_referenced = abuf->written;
1769     INT in_usereg = -1;
1770     in_usereg = FLD (in_rn);
1771     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1772   }
1773   {
1774     int referenced = 0;
1775     unsigned long long insn_referenced = abuf->written;
1776     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
1777   }
1778   {
1779     int referenced = 0;
1780     unsigned long long insn_referenced = abuf->written;
1781     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
1782   }
1783   {
1784     int referenced = 0;
1785     unsigned long long insn_referenced = abuf->written;
1786     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
1787   }
1788   return cycles;
1789 #undef FLD
1790 }
1791
1792 UINT
1793 sh4a_nofpu_sh4a_nofpu_model::model_extsb_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1794 {
1795 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1796   const sh4a_nofpu_scache* abuf = sem;
1797   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1798   int cycles = 0;
1799   {
1800     INT in_usereg = -1;
1801     in_usereg = FLD (in_rm);
1802     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1803   }
1804   {
1805     cycles += model_u_exec_before (current_cpu, idesc, 1);
1806   }
1807   {
1808     cycles += model_u_shift_before (current_cpu, idesc, 2);
1809   }
1810   return cycles;
1811 #undef FLD
1812 }
1813
1814 UINT
1815 sh4a_nofpu_sh4a_nofpu_model::model_extsb_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1816 {
1817 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1818   const sh4a_nofpu_scache* abuf = sem;
1819   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1820   int cycles = 0;
1821   {
1822     int referenced = 0;
1823     unsigned long long insn_referenced = abuf->written;
1824     INT in_usereg = -1;
1825     in_usereg = FLD (in_rm);
1826     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1827   }
1828   {
1829     int referenced = 0;
1830     unsigned long long insn_referenced = abuf->written;
1831     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1832   }
1833   {
1834     int referenced = 0;
1835     unsigned long long insn_referenced = abuf->written;
1836     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
1837   }
1838   return cycles;
1839 #undef FLD
1840 }
1841
1842 UINT
1843 sh4a_nofpu_sh4a_nofpu_model::model_extsw_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1844 {
1845 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1846   const sh4a_nofpu_scache* abuf = sem;
1847   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1848   int cycles = 0;
1849   {
1850     INT in_usereg = -1;
1851     in_usereg = FLD (in_rm);
1852     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1853   }
1854   {
1855     cycles += model_u_exec_before (current_cpu, idesc, 1);
1856   }
1857   {
1858     cycles += model_u_shift_before (current_cpu, idesc, 2);
1859   }
1860   return cycles;
1861 #undef FLD
1862 }
1863
1864 UINT
1865 sh4a_nofpu_sh4a_nofpu_model::model_extsw_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1866 {
1867 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1868   const sh4a_nofpu_scache* abuf = sem;
1869   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1870   int cycles = 0;
1871   {
1872     int referenced = 0;
1873     unsigned long long insn_referenced = abuf->written;
1874     INT in_usereg = -1;
1875     in_usereg = FLD (in_rm);
1876     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1877   }
1878   {
1879     int referenced = 0;
1880     unsigned long long insn_referenced = abuf->written;
1881     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1882   }
1883   {
1884     int referenced = 0;
1885     unsigned long long insn_referenced = abuf->written;
1886     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
1887   }
1888   return cycles;
1889 #undef FLD
1890 }
1891
1892 UINT
1893 sh4a_nofpu_sh4a_nofpu_model::model_extub_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1894 {
1895 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1896   const sh4a_nofpu_scache* abuf = sem;
1897   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1898   int cycles = 0;
1899   {
1900     INT in_usereg = -1;
1901     in_usereg = FLD (in_rm);
1902     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1903   }
1904   {
1905     cycles += model_u_exec_before (current_cpu, idesc, 1);
1906   }
1907   {
1908     cycles += model_u_shift_before (current_cpu, idesc, 2);
1909   }
1910   return cycles;
1911 #undef FLD
1912 }
1913
1914 UINT
1915 sh4a_nofpu_sh4a_nofpu_model::model_extub_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1916 {
1917 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1918   const sh4a_nofpu_scache* abuf = sem;
1919   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1920   int cycles = 0;
1921   {
1922     int referenced = 0;
1923     unsigned long long insn_referenced = abuf->written;
1924     INT in_usereg = -1;
1925     in_usereg = FLD (in_rm);
1926     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1927   }
1928   {
1929     int referenced = 0;
1930     unsigned long long insn_referenced = abuf->written;
1931     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1932   }
1933   {
1934     int referenced = 0;
1935     unsigned long long insn_referenced = abuf->written;
1936     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
1937   }
1938   return cycles;
1939 #undef FLD
1940 }
1941
1942 UINT
1943 sh4a_nofpu_sh4a_nofpu_model::model_extuw_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1944 {
1945 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1946   const sh4a_nofpu_scache* abuf = sem;
1947   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1948   int cycles = 0;
1949   {
1950     INT in_usereg = -1;
1951     in_usereg = FLD (in_rm);
1952     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1953   }
1954   {
1955     cycles += model_u_exec_before (current_cpu, idesc, 1);
1956   }
1957   {
1958     cycles += model_u_shift_before (current_cpu, idesc, 2);
1959   }
1960   return cycles;
1961 #undef FLD
1962 }
1963
1964 UINT
1965 sh4a_nofpu_sh4a_nofpu_model::model_extuw_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1966 {
1967 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
1968   const sh4a_nofpu_scache* abuf = sem;
1969   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1970   int cycles = 0;
1971   {
1972     int referenced = 0;
1973     unsigned long long insn_referenced = abuf->written;
1974     INT in_usereg = -1;
1975     in_usereg = FLD (in_rm);
1976     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1977   }
1978   {
1979     int referenced = 0;
1980     unsigned long long insn_referenced = abuf->written;
1981     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1982   }
1983   {
1984     int referenced = 0;
1985     unsigned long long insn_referenced = abuf->written;
1986     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
1987   }
1988   return cycles;
1989 #undef FLD
1990 }
1991
1992 UINT
1993 sh4a_nofpu_sh4a_nofpu_model::model_frchg_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
1994 {
1995 #define FLD(f) abuf->fields.fmt_empty.f
1996   const sh4a_nofpu_scache* abuf = sem;
1997   const sh4a_nofpu_idesc* idesc = abuf->idesc;
1998   int cycles = 0;
1999   {
2000     cycles += model_u_exec_before (current_cpu, idesc, 0);
2001   }
2002   return cycles;
2003 #undef FLD
2004 }
2005
2006 UINT
2007 sh4a_nofpu_sh4a_nofpu_model::model_frchg_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2008 {
2009 #define FLD(f) abuf->fields.fmt_empty.f
2010   const sh4a_nofpu_scache* abuf = sem;
2011   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2012   int cycles = 0;
2013   {
2014     int referenced = 0;
2015     unsigned long long insn_referenced = abuf->written;
2016     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2017   }
2018   return cycles;
2019 #undef FLD
2020 }
2021
2022 UINT
2023 sh4a_nofpu_sh4a_nofpu_model::model_fschg_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2024 {
2025 #define FLD(f) abuf->fields.fmt_empty.f
2026   const sh4a_nofpu_scache* abuf = sem;
2027   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2028   int cycles = 0;
2029   {
2030     cycles += model_u_exec_before (current_cpu, idesc, 0);
2031   }
2032   return cycles;
2033 #undef FLD
2034 }
2035
2036 UINT
2037 sh4a_nofpu_sh4a_nofpu_model::model_fschg_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2038 {
2039 #define FLD(f) abuf->fields.fmt_empty.f
2040   const sh4a_nofpu_scache* abuf = sem;
2041   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2042   int cycles = 0;
2043   {
2044     int referenced = 0;
2045     unsigned long long insn_referenced = abuf->written;
2046     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2047   }
2048   return cycles;
2049 #undef FLD
2050 }
2051
2052 UINT
2053 sh4a_nofpu_sh4a_nofpu_model::model_jmp_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2054 {
2055 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2056   const sh4a_nofpu_scache* abuf = sem;
2057   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2058   int cycles = 0;
2059   {
2060     cycles += model_u_jmp_before (current_cpu, idesc, 0);
2061   }
2062   return cycles;
2063 #undef FLD
2064 }
2065
2066 UINT
2067 sh4a_nofpu_sh4a_nofpu_model::model_jmp_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2068 {
2069 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2070   const sh4a_nofpu_scache* abuf = sem;
2071   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2072   int cycles = 0;
2073   {
2074     int referenced = 0;
2075     unsigned long long insn_referenced = abuf->written;
2076     referenced |= 1 << 0;
2077     cycles += model_u_jmp_after (current_cpu, idesc, 0, referenced);
2078   }
2079   return cycles;
2080 #undef FLD
2081 }
2082
2083 UINT
2084 sh4a_nofpu_sh4a_nofpu_model::model_jsr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2085 {
2086 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2087   const sh4a_nofpu_scache* abuf = sem;
2088   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2089   int cycles = 0;
2090   {
2091     cycles += model_u_jsr_before (current_cpu, idesc, 0);
2092   }
2093   return cycles;
2094 #undef FLD
2095 }
2096
2097 UINT
2098 sh4a_nofpu_sh4a_nofpu_model::model_jsr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2099 {
2100 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2101   const sh4a_nofpu_scache* abuf = sem;
2102   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2103   int cycles = 0;
2104   {
2105     int referenced = 0;
2106     unsigned long long insn_referenced = abuf->written;
2107     referenced |= 1 << 0;
2108     cycles += model_u_jsr_after (current_cpu, idesc, 0, referenced);
2109   }
2110   return cycles;
2111 #undef FLD
2112 }
2113
2114 UINT
2115 sh4a_nofpu_sh4a_nofpu_model::model_ldc_gbr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2116 {
2117 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2118   const sh4a_nofpu_scache* abuf = sem;
2119   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2120   int cycles = 0;
2121   {
2122     INT in_usereg = -1;
2123     in_usereg = FLD (in_rn);
2124     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2125   }
2126   {
2127     cycles += model_u_ldc_gbr_before (current_cpu, idesc, 1);
2128   }
2129   return cycles;
2130 #undef FLD
2131 }
2132
2133 UINT
2134 sh4a_nofpu_sh4a_nofpu_model::model_ldc_gbr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2135 {
2136 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2137   const sh4a_nofpu_scache* abuf = sem;
2138   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2139   int cycles = 0;
2140   {
2141     int referenced = 0;
2142     unsigned long long insn_referenced = abuf->written;
2143     INT in_usereg = -1;
2144     in_usereg = FLD (in_rn);
2145     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2146   }
2147   {
2148     int referenced = 0;
2149     unsigned long long insn_referenced = abuf->written;
2150     cycles += model_u_ldc_gbr_after (current_cpu, idesc, 1, referenced);
2151   }
2152   return cycles;
2153 #undef FLD
2154 }
2155
2156 UINT
2157 sh4a_nofpu_sh4a_nofpu_model::model_ldc_vbr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2158 {
2159 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2160   const sh4a_nofpu_scache* abuf = sem;
2161   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2162   int cycles = 0;
2163   {
2164     INT in_usereg = -1;
2165     in_usereg = FLD (in_rn);
2166     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2167   }
2168   {
2169     cycles += model_u_exec_before (current_cpu, idesc, 1);
2170   }
2171   return cycles;
2172 #undef FLD
2173 }
2174
2175 UINT
2176 sh4a_nofpu_sh4a_nofpu_model::model_ldc_vbr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2177 {
2178 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2179   const sh4a_nofpu_scache* abuf = sem;
2180   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2181   int cycles = 0;
2182   {
2183     int referenced = 0;
2184     unsigned long long insn_referenced = abuf->written;
2185     INT in_usereg = -1;
2186     in_usereg = FLD (in_rn);
2187     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2188   }
2189   {
2190     int referenced = 0;
2191     unsigned long long insn_referenced = abuf->written;
2192     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2193   }
2194   return cycles;
2195 #undef FLD
2196 }
2197
2198 UINT
2199 sh4a_nofpu_sh4a_nofpu_model::model_ldc_sr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2200 {
2201 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2202   const sh4a_nofpu_scache* abuf = sem;
2203   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2204   int cycles = 0;
2205   {
2206     INT in_usereg = -1;
2207     in_usereg = FLD (in_rn);
2208     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2209   }
2210   {
2211     cycles += model_u_ldc_sr_before (current_cpu, idesc, 1);
2212   }
2213   return cycles;
2214 #undef FLD
2215 }
2216
2217 UINT
2218 sh4a_nofpu_sh4a_nofpu_model::model_ldc_sr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2219 {
2220 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2221   const sh4a_nofpu_scache* abuf = sem;
2222   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2223   int cycles = 0;
2224   {
2225     int referenced = 0;
2226     unsigned long long insn_referenced = abuf->written;
2227     INT in_usereg = -1;
2228     in_usereg = FLD (in_rn);
2229     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2230   }
2231   {
2232     int referenced = 0;
2233     unsigned long long insn_referenced = abuf->written;
2234     cycles += model_u_ldc_sr_after (current_cpu, idesc, 1, referenced);
2235   }
2236   return cycles;
2237 #undef FLD
2238 }
2239
2240 UINT
2241 sh4a_nofpu_sh4a_nofpu_model::model_ldcl_gbr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2242 {
2243 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2244   const sh4a_nofpu_scache* abuf = sem;
2245   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2246   int cycles = 0;
2247   {
2248     INT in_usereg = -1;
2249     in_usereg = FLD (in_rn);
2250     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2251   }
2252   {
2253     cycles += model_u_ldcl_before (current_cpu, idesc, 1);
2254   }
2255   {
2256     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
2257   }
2258   {
2259     cycles += model_u_load_gbr_before (current_cpu, idesc, 3);
2260   }
2261   return cycles;
2262 #undef FLD
2263 }
2264
2265 UINT
2266 sh4a_nofpu_sh4a_nofpu_model::model_ldcl_gbr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2267 {
2268 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2269   const sh4a_nofpu_scache* abuf = sem;
2270   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2271   int cycles = 0;
2272   {
2273     int referenced = 0;
2274     unsigned long long insn_referenced = abuf->written;
2275     INT in_usereg = -1;
2276     in_usereg = FLD (in_rn);
2277     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2278   }
2279   {
2280     int referenced = 0;
2281     unsigned long long insn_referenced = abuf->written;
2282     cycles += model_u_ldcl_after (current_cpu, idesc, 1, referenced);
2283   }
2284   {
2285     int referenced = 0;
2286     unsigned long long insn_referenced = abuf->written;
2287     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
2288   }
2289   {
2290     int referenced = 0;
2291     unsigned long long insn_referenced = abuf->written;
2292     cycles += model_u_load_gbr_after (current_cpu, idesc, 3, referenced);
2293   }
2294   return cycles;
2295 #undef FLD
2296 }
2297
2298 UINT
2299 sh4a_nofpu_sh4a_nofpu_model::model_ldcl_vbr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2300 {
2301 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2302   const sh4a_nofpu_scache* abuf = sem;
2303   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2304   int cycles = 0;
2305   {
2306     INT in_usereg = -1;
2307     in_usereg = FLD (in_rn);
2308     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2309   }
2310   {
2311     cycles += model_u_ldcl_vbr_before (current_cpu, idesc, 1);
2312   }
2313   {
2314     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
2315   }
2316   {
2317     cycles += model_u_load_vbr_before (current_cpu, idesc, 3);
2318   }
2319   return cycles;
2320 #undef FLD
2321 }
2322
2323 UINT
2324 sh4a_nofpu_sh4a_nofpu_model::model_ldcl_vbr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2325 {
2326 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2327   const sh4a_nofpu_scache* abuf = sem;
2328   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2329   int cycles = 0;
2330   {
2331     int referenced = 0;
2332     unsigned long long insn_referenced = abuf->written;
2333     INT in_usereg = -1;
2334     in_usereg = FLD (in_rn);
2335     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2336   }
2337   {
2338     int referenced = 0;
2339     unsigned long long insn_referenced = abuf->written;
2340     cycles += model_u_ldcl_vbr_after (current_cpu, idesc, 1, referenced);
2341   }
2342   {
2343     int referenced = 0;
2344     unsigned long long insn_referenced = abuf->written;
2345     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
2346   }
2347   {
2348     int referenced = 0;
2349     unsigned long long insn_referenced = abuf->written;
2350     cycles += model_u_load_vbr_after (current_cpu, idesc, 3, referenced);
2351   }
2352   return cycles;
2353 #undef FLD
2354 }
2355
2356 UINT
2357 sh4a_nofpu_sh4a_nofpu_model::model_lds_mach_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2358 {
2359 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2360   const sh4a_nofpu_scache* abuf = sem;
2361   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2362   int cycles = 0;
2363   {
2364     INT in_usereg = -1;
2365     in_usereg = FLD (in_rn);
2366     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2367   }
2368   {
2369     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
2370   }
2371   {
2372     cycles += model_u_exec_before (current_cpu, idesc, 2);
2373   }
2374   {
2375     cycles += model_u_set_mac_before (current_cpu, idesc, 3);
2376   }
2377   return cycles;
2378 #undef FLD
2379 }
2380
2381 UINT
2382 sh4a_nofpu_sh4a_nofpu_model::model_lds_mach_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2383 {
2384 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2385   const sh4a_nofpu_scache* abuf = sem;
2386   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2387   int cycles = 0;
2388   {
2389     int referenced = 0;
2390     unsigned long long insn_referenced = abuf->written;
2391     INT in_usereg = -1;
2392     in_usereg = FLD (in_rn);
2393     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2394   }
2395   {
2396     int referenced = 0;
2397     unsigned long long insn_referenced = abuf->written;
2398     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
2399   }
2400   {
2401     int referenced = 0;
2402     unsigned long long insn_referenced = abuf->written;
2403     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2404   }
2405   {
2406     int referenced = 0;
2407     unsigned long long insn_referenced = abuf->written;
2408     cycles += model_u_set_mac_after (current_cpu, idesc, 3, referenced);
2409   }
2410   return cycles;
2411 #undef FLD
2412 }
2413
2414 UINT
2415 sh4a_nofpu_sh4a_nofpu_model::model_ldsl_mach_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2416 {
2417 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2418   const sh4a_nofpu_scache* abuf = sem;
2419   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2420   int cycles = 0;
2421   {
2422     INT in_usereg = -1;
2423     in_usereg = FLD (in_rn);
2424     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2425   }
2426   {
2427     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
2428   }
2429   {
2430     cycles += model_u_exec_before (current_cpu, idesc, 2);
2431   }
2432   {
2433     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
2434   }
2435   {
2436     cycles += model_u_load_mac_before (current_cpu, idesc, 4);
2437   }
2438   return cycles;
2439 #undef FLD
2440 }
2441
2442 UINT
2443 sh4a_nofpu_sh4a_nofpu_model::model_ldsl_mach_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2444 {
2445 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2446   const sh4a_nofpu_scache* abuf = sem;
2447   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2448   int cycles = 0;
2449   {
2450     int referenced = 0;
2451     unsigned long long insn_referenced = abuf->written;
2452     INT in_usereg = -1;
2453     in_usereg = FLD (in_rn);
2454     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2455   }
2456   {
2457     int referenced = 0;
2458     unsigned long long insn_referenced = abuf->written;
2459     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
2460   }
2461   {
2462     int referenced = 0;
2463     unsigned long long insn_referenced = abuf->written;
2464     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2465   }
2466   {
2467     int referenced = 0;
2468     unsigned long long insn_referenced = abuf->written;
2469     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
2470   }
2471   {
2472     int referenced = 0;
2473     unsigned long long insn_referenced = abuf->written;
2474     cycles += model_u_load_mac_after (current_cpu, idesc, 4, referenced);
2475   }
2476   return cycles;
2477 #undef FLD
2478 }
2479
2480 UINT
2481 sh4a_nofpu_sh4a_nofpu_model::model_lds_macl_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2482 {
2483 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2484   const sh4a_nofpu_scache* abuf = sem;
2485   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2486   int cycles = 0;
2487   {
2488     INT in_usereg = -1;
2489     in_usereg = FLD (in_rn);
2490     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2491   }
2492   {
2493     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
2494   }
2495   {
2496     cycles += model_u_exec_before (current_cpu, idesc, 2);
2497   }
2498   {
2499     cycles += model_u_set_mac_before (current_cpu, idesc, 3);
2500   }
2501   return cycles;
2502 #undef FLD
2503 }
2504
2505 UINT
2506 sh4a_nofpu_sh4a_nofpu_model::model_lds_macl_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2507 {
2508 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2509   const sh4a_nofpu_scache* abuf = sem;
2510   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2511   int cycles = 0;
2512   {
2513     int referenced = 0;
2514     unsigned long long insn_referenced = abuf->written;
2515     INT in_usereg = -1;
2516     in_usereg = FLD (in_rn);
2517     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2518   }
2519   {
2520     int referenced = 0;
2521     unsigned long long insn_referenced = abuf->written;
2522     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
2523   }
2524   {
2525     int referenced = 0;
2526     unsigned long long insn_referenced = abuf->written;
2527     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2528   }
2529   {
2530     int referenced = 0;
2531     unsigned long long insn_referenced = abuf->written;
2532     cycles += model_u_set_mac_after (current_cpu, idesc, 3, referenced);
2533   }
2534   return cycles;
2535 #undef FLD
2536 }
2537
2538 UINT
2539 sh4a_nofpu_sh4a_nofpu_model::model_ldsl_macl_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2540 {
2541 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2542   const sh4a_nofpu_scache* abuf = sem;
2543   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2544   int cycles = 0;
2545   {
2546     INT in_usereg = -1;
2547     in_usereg = FLD (in_rn);
2548     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2549   }
2550   {
2551     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
2552   }
2553   {
2554     cycles += model_u_exec_before (current_cpu, idesc, 2);
2555   }
2556   {
2557     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
2558   }
2559   {
2560     cycles += model_u_load_mac_before (current_cpu, idesc, 4);
2561   }
2562   return cycles;
2563 #undef FLD
2564 }
2565
2566 UINT
2567 sh4a_nofpu_sh4a_nofpu_model::model_ldsl_macl_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2568 {
2569 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2570   const sh4a_nofpu_scache* abuf = sem;
2571   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2572   int cycles = 0;
2573   {
2574     int referenced = 0;
2575     unsigned long long insn_referenced = abuf->written;
2576     INT in_usereg = -1;
2577     in_usereg = FLD (in_rn);
2578     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2579   }
2580   {
2581     int referenced = 0;
2582     unsigned long long insn_referenced = abuf->written;
2583     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
2584   }
2585   {
2586     int referenced = 0;
2587     unsigned long long insn_referenced = abuf->written;
2588     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2589   }
2590   {
2591     int referenced = 0;
2592     unsigned long long insn_referenced = abuf->written;
2593     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
2594   }
2595   {
2596     int referenced = 0;
2597     unsigned long long insn_referenced = abuf->written;
2598     cycles += model_u_load_mac_after (current_cpu, idesc, 4, referenced);
2599   }
2600   return cycles;
2601 #undef FLD
2602 }
2603
2604 UINT
2605 sh4a_nofpu_sh4a_nofpu_model::model_lds_pr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2606 {
2607 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2608   const sh4a_nofpu_scache* abuf = sem;
2609   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2610   int cycles = 0;
2611   {
2612     INT in_usereg = -1;
2613     in_usereg = FLD (in_rn);
2614     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2615   }
2616   {
2617     cycles += model_u_lds_pr_before (current_cpu, idesc, 1);
2618   }
2619   return cycles;
2620 #undef FLD
2621 }
2622
2623 UINT
2624 sh4a_nofpu_sh4a_nofpu_model::model_lds_pr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2625 {
2626 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2627   const sh4a_nofpu_scache* abuf = sem;
2628   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2629   int cycles = 0;
2630   {
2631     int referenced = 0;
2632     unsigned long long insn_referenced = abuf->written;
2633     INT in_usereg = -1;
2634     in_usereg = FLD (in_rn);
2635     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2636   }
2637   {
2638     int referenced = 0;
2639     unsigned long long insn_referenced = abuf->written;
2640     cycles += model_u_lds_pr_after (current_cpu, idesc, 1, referenced);
2641   }
2642   return cycles;
2643 #undef FLD
2644 }
2645
2646 UINT
2647 sh4a_nofpu_sh4a_nofpu_model::model_ldsl_pr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2648 {
2649 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2650   const sh4a_nofpu_scache* abuf = sem;
2651   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2652   int cycles = 0;
2653   {
2654     INT in_usereg = -1;
2655     in_usereg = FLD (in_rn);
2656     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2657   }
2658   {
2659     cycles += model_u_lds_pr_before (current_cpu, idesc, 1);
2660   }
2661   {
2662     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
2663   }
2664   {
2665     cycles += model_u_load_pr_before (current_cpu, idesc, 3);
2666   }
2667   return cycles;
2668 #undef FLD
2669 }
2670
2671 UINT
2672 sh4a_nofpu_sh4a_nofpu_model::model_ldsl_pr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2673 {
2674 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
2675   const sh4a_nofpu_scache* abuf = sem;
2676   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2677   int cycles = 0;
2678   {
2679     int referenced = 0;
2680     unsigned long long insn_referenced = abuf->written;
2681     INT in_usereg = -1;
2682     in_usereg = FLD (in_rn);
2683     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2684   }
2685   {
2686     int referenced = 0;
2687     unsigned long long insn_referenced = abuf->written;
2688     cycles += model_u_lds_pr_after (current_cpu, idesc, 1, referenced);
2689   }
2690   {
2691     int referenced = 0;
2692     unsigned long long insn_referenced = abuf->written;
2693     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
2694   }
2695   {
2696     int referenced = 0;
2697     unsigned long long insn_referenced = abuf->written;
2698     cycles += model_u_load_pr_after (current_cpu, idesc, 3, referenced);
2699   }
2700   return cycles;
2701 #undef FLD
2702 }
2703
2704 UINT
2705 sh4a_nofpu_sh4a_nofpu_model::model_macl_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2706 {
2707 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2708   const sh4a_nofpu_scache* abuf = sem;
2709   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2710   int cycles = 0;
2711   {
2712     INT in_usereg = -1;
2713     in_usereg = FLD (in_rn);
2714     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2715   }
2716   {
2717     INT in_usereg = -1;
2718     in_usereg = FLD (in_rm);
2719     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
2720   }
2721   {
2722     cycles += model_u_macl_before (current_cpu, idesc, 2);
2723   }
2724   return cycles;
2725 #undef FLD
2726 }
2727
2728 UINT
2729 sh4a_nofpu_sh4a_nofpu_model::model_macl_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2730 {
2731 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2732   const sh4a_nofpu_scache* abuf = sem;
2733   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2734   int cycles = 0;
2735   {
2736     int referenced = 0;
2737     unsigned long long insn_referenced = abuf->written;
2738     INT in_usereg = -1;
2739     in_usereg = FLD (in_rn);
2740     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2741   }
2742   {
2743     int referenced = 0;
2744     unsigned long long insn_referenced = abuf->written;
2745     INT in_usereg = -1;
2746     in_usereg = FLD (in_rm);
2747     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
2748   }
2749   {
2750     int referenced = 0;
2751     unsigned long long insn_referenced = abuf->written;
2752     cycles += model_u_macl_after (current_cpu, idesc, 2, referenced);
2753   }
2754   return cycles;
2755 #undef FLD
2756 }
2757
2758 UINT
2759 sh4a_nofpu_sh4a_nofpu_model::model_macw_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2760 {
2761 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2762   const sh4a_nofpu_scache* abuf = sem;
2763   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2764   int cycles = 0;
2765   {
2766     INT in_usereg = -1;
2767     in_usereg = FLD (in_rn);
2768     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2769   }
2770   {
2771     INT in_usereg = -1;
2772     in_usereg = FLD (in_rm);
2773     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
2774   }
2775   {
2776     cycles += model_u_macw_before (current_cpu, idesc, 2);
2777   }
2778   return cycles;
2779 #undef FLD
2780 }
2781
2782 UINT
2783 sh4a_nofpu_sh4a_nofpu_model::model_macw_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2784 {
2785 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2786   const sh4a_nofpu_scache* abuf = sem;
2787   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2788   int cycles = 0;
2789   {
2790     int referenced = 0;
2791     unsigned long long insn_referenced = abuf->written;
2792     INT in_usereg = -1;
2793     in_usereg = FLD (in_rn);
2794     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2795   }
2796   {
2797     int referenced = 0;
2798     unsigned long long insn_referenced = abuf->written;
2799     INT in_usereg = -1;
2800     in_usereg = FLD (in_rm);
2801     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
2802   }
2803   {
2804     int referenced = 0;
2805     unsigned long long insn_referenced = abuf->written;
2806     cycles += model_u_macw_after (current_cpu, idesc, 2, referenced);
2807   }
2808   return cycles;
2809 #undef FLD
2810 }
2811
2812 UINT
2813 sh4a_nofpu_sh4a_nofpu_model::model_mov_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2814 {
2815 #define FLD(f) abuf->fields.sfmt_and_compact.f
2816   const sh4a_nofpu_scache* abuf = sem;
2817   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2818   int cycles = 0;
2819   {
2820     INT in_usereg = -1;
2821     in_usereg = FLD (in_rm64);
2822     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2823   }
2824   {
2825     cycles += model_u_exec_before (current_cpu, idesc, 1);
2826   }
2827   return cycles;
2828 #undef FLD
2829 }
2830
2831 UINT
2832 sh4a_nofpu_sh4a_nofpu_model::model_mov_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2833 {
2834 #define FLD(f) abuf->fields.sfmt_and_compact.f
2835   const sh4a_nofpu_scache* abuf = sem;
2836   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2837   int cycles = 0;
2838   {
2839     int referenced = 0;
2840     unsigned long long insn_referenced = abuf->written;
2841     INT in_usereg = -1;
2842     in_usereg = FLD (in_rm64);
2843     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2844   }
2845   {
2846     int referenced = 0;
2847     unsigned long long insn_referenced = abuf->written;
2848     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2849   }
2850   return cycles;
2851 #undef FLD
2852 }
2853
2854 UINT
2855 sh4a_nofpu_sh4a_nofpu_model::model_movi_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2856 {
2857 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2858   const sh4a_nofpu_scache* abuf = sem;
2859   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2860   int cycles = 0;
2861   {
2862     cycles += model_u_exec_before (current_cpu, idesc, 0);
2863   }
2864   return cycles;
2865 #undef FLD
2866 }
2867
2868 UINT
2869 sh4a_nofpu_sh4a_nofpu_model::model_movi_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2870 {
2871 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2872   const sh4a_nofpu_scache* abuf = sem;
2873   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2874   int cycles = 0;
2875   {
2876     int referenced = 0;
2877     unsigned long long insn_referenced = abuf->written;
2878     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2879   }
2880   return cycles;
2881 #undef FLD
2882 }
2883
2884 UINT
2885 sh4a_nofpu_sh4a_nofpu_model::model_movb1_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2886 {
2887 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
2888   const sh4a_nofpu_scache* abuf = sem;
2889   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2890   int cycles = 0;
2891   {
2892     INT in_usereg = -1;
2893     in_usereg = FLD (in_rn);
2894     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2895   }
2896   {
2897     INT in_usereg = -1;
2898     in_usereg = FLD (in_rm);
2899     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
2900   }
2901   {
2902     cycles += model_u_exec_before (current_cpu, idesc, 2);
2903   }
2904   {
2905     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
2906   }
2907   return cycles;
2908 #undef FLD
2909 }
2910
2911 UINT
2912 sh4a_nofpu_sh4a_nofpu_model::model_movb1_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2913 {
2914 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
2915   const sh4a_nofpu_scache* abuf = sem;
2916   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2917   int cycles = 0;
2918   {
2919     int referenced = 0;
2920     unsigned long long insn_referenced = abuf->written;
2921     INT in_usereg = -1;
2922     in_usereg = FLD (in_rn);
2923     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2924   }
2925   {
2926     int referenced = 0;
2927     unsigned long long insn_referenced = abuf->written;
2928     INT in_usereg = -1;
2929     in_usereg = FLD (in_rm);
2930     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
2931   }
2932   {
2933     int referenced = 0;
2934     unsigned long long insn_referenced = abuf->written;
2935     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2936   }
2937   {
2938     int referenced = 0;
2939     unsigned long long insn_referenced = abuf->written;
2940     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
2941   }
2942   return cycles;
2943 #undef FLD
2944 }
2945
2946 UINT
2947 sh4a_nofpu_sh4a_nofpu_model::model_movb2_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2948 {
2949 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2950   const sh4a_nofpu_scache* abuf = sem;
2951   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2952   int cycles = 0;
2953   {
2954     INT in_usereg = -1;
2955     in_usereg = FLD (in_rn);
2956     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2957   }
2958   {
2959     INT in_usereg = -1;
2960     in_usereg = FLD (in_rm);
2961     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
2962   }
2963   {
2964     cycles += model_u_exec_before (current_cpu, idesc, 2);
2965   }
2966   {
2967     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
2968   }
2969   return cycles;
2970 #undef FLD
2971 }
2972
2973 UINT
2974 sh4a_nofpu_sh4a_nofpu_model::model_movb2_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
2975 {
2976 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2977   const sh4a_nofpu_scache* abuf = sem;
2978   const sh4a_nofpu_idesc* idesc = abuf->idesc;
2979   int cycles = 0;
2980   {
2981     int referenced = 0;
2982     unsigned long long insn_referenced = abuf->written;
2983     INT in_usereg = -1;
2984     in_usereg = FLD (in_rn);
2985     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2986   }
2987   {
2988     int referenced = 0;
2989     unsigned long long insn_referenced = abuf->written;
2990     INT in_usereg = -1;
2991     in_usereg = FLD (in_rm);
2992     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
2993   }
2994   {
2995     int referenced = 0;
2996     unsigned long long insn_referenced = abuf->written;
2997     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2998   }
2999   {
3000     int referenced = 0;
3001     unsigned long long insn_referenced = abuf->written;
3002     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3003   }
3004   return cycles;
3005 #undef FLD
3006 }
3007
3008 UINT
3009 sh4a_nofpu_sh4a_nofpu_model::model_movb3_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3010 {
3011 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
3012   const sh4a_nofpu_scache* abuf = sem;
3013   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3014   int cycles = 0;
3015   {
3016     INT in_usereg = -1;
3017     in_usereg = FLD (in_rn);
3018     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3019   }
3020   {
3021     INT in_usereg = -1;
3022     in_usereg = FLD (in_rm);
3023     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3024   }
3025   {
3026     INT in_usereg = -1;
3027     in_usereg = FLD (in_r0);
3028     cycles += model_u_use_gr_before (current_cpu, idesc, 2, in_usereg);
3029   }
3030   {
3031     cycles += model_u_exec_before (current_cpu, idesc, 3);
3032   }
3033   {
3034     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
3035   }
3036   return cycles;
3037 #undef FLD
3038 }
3039
3040 UINT
3041 sh4a_nofpu_sh4a_nofpu_model::model_movb3_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3042 {
3043 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
3044   const sh4a_nofpu_scache* abuf = sem;
3045   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3046   int cycles = 0;
3047   {
3048     int referenced = 0;
3049     unsigned long long insn_referenced = abuf->written;
3050     INT in_usereg = -1;
3051     in_usereg = FLD (in_rn);
3052     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3053   }
3054   {
3055     int referenced = 0;
3056     unsigned long long insn_referenced = abuf->written;
3057     INT in_usereg = -1;
3058     in_usereg = FLD (in_rm);
3059     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3060   }
3061   {
3062     int referenced = 0;
3063     unsigned long long insn_referenced = abuf->written;
3064     INT in_usereg = -1;
3065     in_usereg = FLD (in_r0);
3066     cycles += model_u_use_gr_after (current_cpu, idesc, 2, referenced, in_usereg);
3067   }
3068   {
3069     int referenced = 0;
3070     unsigned long long insn_referenced = abuf->written;
3071     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
3072   }
3073   {
3074     int referenced = 0;
3075     unsigned long long insn_referenced = abuf->written;
3076     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
3077   }
3078   return cycles;
3079 #undef FLD
3080 }
3081
3082 UINT
3083 sh4a_nofpu_sh4a_nofpu_model::model_movb4_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3084 {
3085 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3086   const sh4a_nofpu_scache* abuf = sem;
3087   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3088   int cycles = 0;
3089   {
3090     cycles += model_u_exec_before (current_cpu, idesc, 0);
3091   }
3092   {
3093     cycles += model_u_sx_before (current_cpu, idesc, 1);
3094   }
3095   {
3096     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3097   }
3098   return cycles;
3099 #undef FLD
3100 }
3101
3102 UINT
3103 sh4a_nofpu_sh4a_nofpu_model::model_movb4_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3104 {
3105 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3106   const sh4a_nofpu_scache* abuf = sem;
3107   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3108   int cycles = 0;
3109   {
3110     int referenced = 0;
3111     unsigned long long insn_referenced = abuf->written;
3112     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3113   }
3114   {
3115     int referenced = 0;
3116     unsigned long long insn_referenced = abuf->written;
3117     cycles += model_u_sx_after (current_cpu, idesc, 1, referenced);
3118   }
3119   {
3120     int referenced = 0;
3121     unsigned long long insn_referenced = abuf->written;
3122     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3123   }
3124   return cycles;
3125 #undef FLD
3126 }
3127
3128 UINT
3129 sh4a_nofpu_sh4a_nofpu_model::model_movb5_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3130 {
3131 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
3132   const sh4a_nofpu_scache* abuf = sem;
3133   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3134   int cycles = 0;
3135   {
3136     INT in_usereg = -1;
3137     in_usereg = FLD (in_r0);
3138     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3139   }
3140   {
3141     INT in_usereg = -1;
3142     in_usereg = FLD (in_rm);
3143     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3144   }
3145   {
3146     cycles += model_u_exec_before (current_cpu, idesc, 2);
3147   }
3148   {
3149     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3150   }
3151   return cycles;
3152 #undef FLD
3153 }
3154
3155 UINT
3156 sh4a_nofpu_sh4a_nofpu_model::model_movb5_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3157 {
3158 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
3159   const sh4a_nofpu_scache* abuf = sem;
3160   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3161   int cycles = 0;
3162   {
3163     int referenced = 0;
3164     unsigned long long insn_referenced = abuf->written;
3165     INT in_usereg = -1;
3166     in_usereg = FLD (in_r0);
3167     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3168   }
3169   {
3170     int referenced = 0;
3171     unsigned long long insn_referenced = abuf->written;
3172     INT in_usereg = -1;
3173     in_usereg = FLD (in_rm);
3174     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3175   }
3176   {
3177     int referenced = 0;
3178     unsigned long long insn_referenced = abuf->written;
3179     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3180   }
3181   {
3182     int referenced = 0;
3183     unsigned long long insn_referenced = abuf->written;
3184     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3185   }
3186   return cycles;
3187 #undef FLD
3188 }
3189
3190 UINT
3191 sh4a_nofpu_sh4a_nofpu_model::model_movb6_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3192 {
3193 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
3194   const sh4a_nofpu_scache* abuf = sem;
3195   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3196   int cycles = 0;
3197   {
3198     INT in_usereg = -1;
3199     in_usereg = FLD (in_rm);
3200     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3201   }
3202   {
3203     cycles += model_u_exec_before (current_cpu, idesc, 1);
3204   }
3205   {
3206     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3207   }
3208   {
3209     INT out_loadreg = -1;
3210     out_loadreg = FLD (out_rn);
3211     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
3212   }
3213   return cycles;
3214 #undef FLD
3215 }
3216
3217 UINT
3218 sh4a_nofpu_sh4a_nofpu_model::model_movb6_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3219 {
3220 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
3221   const sh4a_nofpu_scache* abuf = sem;
3222   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3223   int cycles = 0;
3224   {
3225     int referenced = 0;
3226     unsigned long long insn_referenced = abuf->written;
3227     INT in_usereg = -1;
3228     in_usereg = FLD (in_rm);
3229     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3230   }
3231   {
3232     int referenced = 0;
3233     unsigned long long insn_referenced = abuf->written;
3234     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3235   }
3236   {
3237     int referenced = 0;
3238     unsigned long long insn_referenced = abuf->written;
3239     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3240   }
3241   {
3242     int referenced = 0;
3243     unsigned long long insn_referenced = abuf->written;
3244     INT out_loadreg = -1;
3245     out_loadreg = FLD (out_rn);
3246     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
3247   }
3248   return cycles;
3249 #undef FLD
3250 }
3251
3252 UINT
3253 sh4a_nofpu_sh4a_nofpu_model::model_movb7_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3254 {
3255 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3256   const sh4a_nofpu_scache* abuf = sem;
3257   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3258   int cycles = 0;
3259   {
3260     INT in_usereg = -1;
3261     in_usereg = FLD (in_rm);
3262     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3263   }
3264   {
3265     cycles += model_u_exec_before (current_cpu, idesc, 1);
3266   }
3267   {
3268     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3269   }
3270   {
3271     INT out_loadreg = -1;
3272     out_loadreg = FLD (out_rn);
3273     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
3274   }
3275   return cycles;
3276 #undef FLD
3277 }
3278
3279 UINT
3280 sh4a_nofpu_sh4a_nofpu_model::model_movb7_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3281 {
3282 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3283   const sh4a_nofpu_scache* abuf = sem;
3284   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3285   int cycles = 0;
3286   {
3287     int referenced = 0;
3288     unsigned long long insn_referenced = abuf->written;
3289     INT in_usereg = -1;
3290     in_usereg = FLD (in_rm);
3291     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3292   }
3293   {
3294     int referenced = 0;
3295     unsigned long long insn_referenced = abuf->written;
3296     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3297   }
3298   {
3299     int referenced = 0;
3300     unsigned long long insn_referenced = abuf->written;
3301     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3302   }
3303   {
3304     int referenced = 0;
3305     unsigned long long insn_referenced = abuf->written;
3306     INT out_loadreg = -1;
3307     out_loadreg = FLD (out_rn);
3308     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
3309   }
3310   return cycles;
3311 #undef FLD
3312 }
3313
3314 UINT
3315 sh4a_nofpu_sh4a_nofpu_model::model_movb8_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3316 {
3317 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
3318   const sh4a_nofpu_scache* abuf = sem;
3319   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3320   int cycles = 0;
3321   {
3322     INT in_usereg = -1;
3323     in_usereg = FLD (in_rm);
3324     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3325   }
3326   {
3327     INT in_usereg = -1;
3328     in_usereg = FLD (in_r0);
3329     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3330   }
3331   {
3332     cycles += model_u_exec_before (current_cpu, idesc, 2);
3333   }
3334   {
3335     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3336   }
3337   {
3338     INT out_loadreg = -1;
3339     out_loadreg = FLD (out_rn);
3340     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
3341   }
3342   return cycles;
3343 #undef FLD
3344 }
3345
3346 UINT
3347 sh4a_nofpu_sh4a_nofpu_model::model_movb8_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3348 {
3349 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
3350   const sh4a_nofpu_scache* abuf = sem;
3351   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3352   int cycles = 0;
3353   {
3354     int referenced = 0;
3355     unsigned long long insn_referenced = abuf->written;
3356     INT in_usereg = -1;
3357     in_usereg = FLD (in_rm);
3358     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3359   }
3360   {
3361     int referenced = 0;
3362     unsigned long long insn_referenced = abuf->written;
3363     INT in_usereg = -1;
3364     in_usereg = FLD (in_r0);
3365     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3366   }
3367   {
3368     int referenced = 0;
3369     unsigned long long insn_referenced = abuf->written;
3370     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3371   }
3372   {
3373     int referenced = 0;
3374     unsigned long long insn_referenced = abuf->written;
3375     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3376   }
3377   {
3378     int referenced = 0;
3379     unsigned long long insn_referenced = abuf->written;
3380     INT out_loadreg = -1;
3381     out_loadreg = FLD (out_rn);
3382     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
3383   }
3384   return cycles;
3385 #undef FLD
3386 }
3387
3388 UINT
3389 sh4a_nofpu_sh4a_nofpu_model::model_movb9_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3390 {
3391 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3392   const sh4a_nofpu_scache* abuf = sem;
3393   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3394   int cycles = 0;
3395   {
3396     cycles += model_u_exec_before (current_cpu, idesc, 0);
3397   }
3398   {
3399     cycles += model_u_memory_access_before (current_cpu, idesc, 1);
3400   }
3401   {
3402     INT out_loadreg = -1;
3403     out_loadreg = FLD (out_r0);
3404     cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
3405   }
3406   return cycles;
3407 #undef FLD
3408 }
3409
3410 UINT
3411 sh4a_nofpu_sh4a_nofpu_model::model_movb9_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3412 {
3413 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3414   const sh4a_nofpu_scache* abuf = sem;
3415   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3416   int cycles = 0;
3417   {
3418     int referenced = 0;
3419     unsigned long long insn_referenced = abuf->written;
3420     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3421   }
3422   {
3423     int referenced = 0;
3424     unsigned long long insn_referenced = abuf->written;
3425     cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
3426   }
3427   {
3428     int referenced = 0;
3429     unsigned long long insn_referenced = abuf->written;
3430     INT out_loadreg = -1;
3431     out_loadreg = FLD (out_r0);
3432     cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
3433   }
3434   return cycles;
3435 #undef FLD
3436 }
3437
3438 UINT
3439 sh4a_nofpu_sh4a_nofpu_model::model_movb10_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3440 {
3441 #define FLD(f) abuf->fields.sfmt_movb10_compact.f
3442   const sh4a_nofpu_scache* abuf = sem;
3443   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3444   int cycles = 0;
3445   {
3446     INT in_usereg = -1;
3447     in_usereg = FLD (in_rm);
3448     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3449   }
3450   {
3451     cycles += model_u_exec_before (current_cpu, idesc, 1);
3452   }
3453   {
3454     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3455   }
3456   {
3457     INT out_loadreg = -1;
3458     out_loadreg = FLD (out_r0);
3459     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
3460   }
3461   return cycles;
3462 #undef FLD
3463 }
3464
3465 UINT
3466 sh4a_nofpu_sh4a_nofpu_model::model_movb10_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3467 {
3468 #define FLD(f) abuf->fields.sfmt_movb10_compact.f
3469   const sh4a_nofpu_scache* abuf = sem;
3470   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3471   int cycles = 0;
3472   {
3473     int referenced = 0;
3474     unsigned long long insn_referenced = abuf->written;
3475     INT in_usereg = -1;
3476     in_usereg = FLD (in_rm);
3477     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3478   }
3479   {
3480     int referenced = 0;
3481     unsigned long long insn_referenced = abuf->written;
3482     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3483   }
3484   {
3485     int referenced = 0;
3486     unsigned long long insn_referenced = abuf->written;
3487     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3488   }
3489   {
3490     int referenced = 0;
3491     unsigned long long insn_referenced = abuf->written;
3492     INT out_loadreg = -1;
3493     out_loadreg = FLD (out_r0);
3494     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
3495   }
3496   return cycles;
3497 #undef FLD
3498 }
3499
3500 UINT
3501 sh4a_nofpu_sh4a_nofpu_model::model_movl1_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3502 {
3503 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3504   const sh4a_nofpu_scache* abuf = sem;
3505   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3506   int cycles = 0;
3507   {
3508     INT in_usereg = -1;
3509     in_usereg = FLD (in_rm);
3510     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3511   }
3512   {
3513     INT in_usereg = -1;
3514     in_usereg = FLD (in_rn);
3515     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3516   }
3517   {
3518     cycles += model_u_exec_before (current_cpu, idesc, 2);
3519   }
3520   {
3521     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3522   }
3523   return cycles;
3524 #undef FLD
3525 }
3526
3527 UINT
3528 sh4a_nofpu_sh4a_nofpu_model::model_movl1_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3529 {
3530 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3531   const sh4a_nofpu_scache* abuf = sem;
3532   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3533   int cycles = 0;
3534   {
3535     int referenced = 0;
3536     unsigned long long insn_referenced = abuf->written;
3537     INT in_usereg = -1;
3538     in_usereg = FLD (in_rm);
3539     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3540   }
3541   {
3542     int referenced = 0;
3543     unsigned long long insn_referenced = abuf->written;
3544     INT in_usereg = -1;
3545     in_usereg = FLD (in_rn);
3546     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3547   }
3548   {
3549     int referenced = 0;
3550     unsigned long long insn_referenced = abuf->written;
3551     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3552   }
3553   {
3554     int referenced = 0;
3555     unsigned long long insn_referenced = abuf->written;
3556     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3557   }
3558   return cycles;
3559 #undef FLD
3560 }
3561
3562 UINT
3563 sh4a_nofpu_sh4a_nofpu_model::model_movl2_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3564 {
3565 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3566   const sh4a_nofpu_scache* abuf = sem;
3567   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3568   int cycles = 0;
3569   {
3570     INT in_usereg = -1;
3571     in_usereg = FLD (in_rm);
3572     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3573   }
3574   {
3575     INT in_usereg = -1;
3576     in_usereg = FLD (in_rn);
3577     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3578   }
3579   {
3580     cycles += model_u_exec_before (current_cpu, idesc, 2);
3581   }
3582   {
3583     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3584   }
3585   return cycles;
3586 #undef FLD
3587 }
3588
3589 UINT
3590 sh4a_nofpu_sh4a_nofpu_model::model_movl2_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3591 {
3592 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3593   const sh4a_nofpu_scache* abuf = sem;
3594   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3595   int cycles = 0;
3596   {
3597     int referenced = 0;
3598     unsigned long long insn_referenced = abuf->written;
3599     INT in_usereg = -1;
3600     in_usereg = FLD (in_rm);
3601     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3602   }
3603   {
3604     int referenced = 0;
3605     unsigned long long insn_referenced = abuf->written;
3606     INT in_usereg = -1;
3607     in_usereg = FLD (in_rn);
3608     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3609   }
3610   {
3611     int referenced = 0;
3612     unsigned long long insn_referenced = abuf->written;
3613     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3614   }
3615   {
3616     int referenced = 0;
3617     unsigned long long insn_referenced = abuf->written;
3618     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3619   }
3620   return cycles;
3621 #undef FLD
3622 }
3623
3624 UINT
3625 sh4a_nofpu_sh4a_nofpu_model::model_movl3_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3626 {
3627 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
3628   const sh4a_nofpu_scache* abuf = sem;
3629   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3630   int cycles = 0;
3631   {
3632     INT in_usereg = -1;
3633     in_usereg = FLD (in_rm);
3634     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3635   }
3636   {
3637     INT in_usereg = -1;
3638     in_usereg = FLD (in_rn);
3639     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3640   }
3641   {
3642     INT in_usereg = -1;
3643     in_usereg = FLD (in_r0);
3644     cycles += model_u_use_gr_before (current_cpu, idesc, 2, in_usereg);
3645   }
3646   {
3647     cycles += model_u_exec_before (current_cpu, idesc, 3);
3648   }
3649   {
3650     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
3651   }
3652   return cycles;
3653 #undef FLD
3654 }
3655
3656 UINT
3657 sh4a_nofpu_sh4a_nofpu_model::model_movl3_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3658 {
3659 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
3660   const sh4a_nofpu_scache* abuf = sem;
3661   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3662   int cycles = 0;
3663   {
3664     int referenced = 0;
3665     unsigned long long insn_referenced = abuf->written;
3666     INT in_usereg = -1;
3667     in_usereg = FLD (in_rm);
3668     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3669   }
3670   {
3671     int referenced = 0;
3672     unsigned long long insn_referenced = abuf->written;
3673     INT in_usereg = -1;
3674     in_usereg = FLD (in_rn);
3675     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3676   }
3677   {
3678     int referenced = 0;
3679     unsigned long long insn_referenced = abuf->written;
3680     INT in_usereg = -1;
3681     in_usereg = FLD (in_r0);
3682     cycles += model_u_use_gr_after (current_cpu, idesc, 2, referenced, in_usereg);
3683   }
3684   {
3685     int referenced = 0;
3686     unsigned long long insn_referenced = abuf->written;
3687     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
3688   }
3689   {
3690     int referenced = 0;
3691     unsigned long long insn_referenced = abuf->written;
3692     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
3693   }
3694   return cycles;
3695 #undef FLD
3696 }
3697
3698 UINT
3699 sh4a_nofpu_sh4a_nofpu_model::model_movl4_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3700 {
3701 #define FLD(f) abuf->fields.sfmt_movl4_compact.f
3702   const sh4a_nofpu_scache* abuf = sem;
3703   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3704   int cycles = 0;
3705   {
3706     INT in_usereg = -1;
3707     in_usereg = FLD (in_r0);
3708     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3709   }
3710   {
3711     cycles += model_u_exec_before (current_cpu, idesc, 1);
3712   }
3713   {
3714     cycles += model_u_sx_before (current_cpu, idesc, 2);
3715   }
3716   {
3717     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3718   }
3719   return cycles;
3720 #undef FLD
3721 }
3722
3723 UINT
3724 sh4a_nofpu_sh4a_nofpu_model::model_movl4_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3725 {
3726 #define FLD(f) abuf->fields.sfmt_movl4_compact.f
3727   const sh4a_nofpu_scache* abuf = sem;
3728   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3729   int cycles = 0;
3730   {
3731     int referenced = 0;
3732     unsigned long long insn_referenced = abuf->written;
3733     INT in_usereg = -1;
3734     in_usereg = FLD (in_r0);
3735     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3736   }
3737   {
3738     int referenced = 0;
3739     unsigned long long insn_referenced = abuf->written;
3740     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3741   }
3742   {
3743     int referenced = 0;
3744     unsigned long long insn_referenced = abuf->written;
3745     cycles += model_u_sx_after (current_cpu, idesc, 2, referenced);
3746   }
3747   {
3748     int referenced = 0;
3749     unsigned long long insn_referenced = abuf->written;
3750     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3751   }
3752   return cycles;
3753 #undef FLD
3754 }
3755
3756 UINT
3757 sh4a_nofpu_sh4a_nofpu_model::model_movl5_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3758 {
3759 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3760   const sh4a_nofpu_scache* abuf = sem;
3761   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3762   int cycles = 0;
3763   {
3764     INT in_usereg = -1;
3765     in_usereg = FLD (in_rm);
3766     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3767   }
3768   {
3769     INT in_usereg = -1;
3770     in_usereg = FLD (in_rn);
3771     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3772   }
3773   {
3774     cycles += model_u_exec_before (current_cpu, idesc, 2);
3775   }
3776   {
3777     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3778   }
3779   return cycles;
3780 #undef FLD
3781 }
3782
3783 UINT
3784 sh4a_nofpu_sh4a_nofpu_model::model_movl5_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3785 {
3786 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3787   const sh4a_nofpu_scache* abuf = sem;
3788   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3789   int cycles = 0;
3790   {
3791     int referenced = 0;
3792     unsigned long long insn_referenced = abuf->written;
3793     INT in_usereg = -1;
3794     in_usereg = FLD (in_rm);
3795     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3796   }
3797   {
3798     int referenced = 0;
3799     unsigned long long insn_referenced = abuf->written;
3800     INT in_usereg = -1;
3801     in_usereg = FLD (in_rn);
3802     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3803   }
3804   {
3805     int referenced = 0;
3806     unsigned long long insn_referenced = abuf->written;
3807     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3808   }
3809   {
3810     int referenced = 0;
3811     unsigned long long insn_referenced = abuf->written;
3812     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
3813   }
3814   return cycles;
3815 #undef FLD
3816 }
3817
3818 UINT
3819 sh4a_nofpu_sh4a_nofpu_model::model_movl6_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3820 {
3821 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
3822   const sh4a_nofpu_scache* abuf = sem;
3823   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3824   int cycles = 0;
3825   {
3826     INT in_usereg = -1;
3827     in_usereg = FLD (in_rm);
3828     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3829   }
3830   {
3831     cycles += model_u_exec_before (current_cpu, idesc, 1);
3832   }
3833   {
3834     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3835   }
3836   {
3837     INT out_loadreg = -1;
3838     out_loadreg = FLD (out_rn);
3839     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
3840   }
3841   return cycles;
3842 #undef FLD
3843 }
3844
3845 UINT
3846 sh4a_nofpu_sh4a_nofpu_model::model_movl6_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3847 {
3848 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
3849   const sh4a_nofpu_scache* abuf = sem;
3850   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3851   int cycles = 0;
3852   {
3853     int referenced = 0;
3854     unsigned long long insn_referenced = abuf->written;
3855     INT in_usereg = -1;
3856     in_usereg = FLD (in_rm);
3857     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3858   }
3859   {
3860     int referenced = 0;
3861     unsigned long long insn_referenced = abuf->written;
3862     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3863   }
3864   {
3865     int referenced = 0;
3866     unsigned long long insn_referenced = abuf->written;
3867     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3868   }
3869   {
3870     int referenced = 0;
3871     unsigned long long insn_referenced = abuf->written;
3872     INT out_loadreg = -1;
3873     out_loadreg = FLD (out_rn);
3874     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
3875   }
3876   return cycles;
3877 #undef FLD
3878 }
3879
3880 UINT
3881 sh4a_nofpu_sh4a_nofpu_model::model_movl7_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3882 {
3883 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3884   const sh4a_nofpu_scache* abuf = sem;
3885   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3886   int cycles = 0;
3887   {
3888     INT in_usereg = -1;
3889     in_usereg = FLD (in_rm);
3890     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3891   }
3892   {
3893     cycles += model_u_exec_before (current_cpu, idesc, 1);
3894   }
3895   {
3896     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
3897   }
3898   {
3899     INT out_loadreg = -1;
3900     out_loadreg = FLD (out_rn);
3901     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
3902   }
3903   return cycles;
3904 #undef FLD
3905 }
3906
3907 UINT
3908 sh4a_nofpu_sh4a_nofpu_model::model_movl7_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3909 {
3910 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3911   const sh4a_nofpu_scache* abuf = sem;
3912   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3913   int cycles = 0;
3914   {
3915     int referenced = 0;
3916     unsigned long long insn_referenced = abuf->written;
3917     INT in_usereg = -1;
3918     in_usereg = FLD (in_rm);
3919     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3920   }
3921   {
3922     int referenced = 0;
3923     unsigned long long insn_referenced = abuf->written;
3924     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3925   }
3926   {
3927     int referenced = 0;
3928     unsigned long long insn_referenced = abuf->written;
3929     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
3930   }
3931   {
3932     int referenced = 0;
3933     unsigned long long insn_referenced = abuf->written;
3934     INT out_loadreg = -1;
3935     out_loadreg = FLD (out_rn);
3936     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
3937   }
3938   return cycles;
3939 #undef FLD
3940 }
3941
3942 UINT
3943 sh4a_nofpu_sh4a_nofpu_model::model_movl8_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3944 {
3945 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
3946   const sh4a_nofpu_scache* abuf = sem;
3947   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3948   int cycles = 0;
3949   {
3950     INT in_usereg = -1;
3951     in_usereg = FLD (in_rm);
3952     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3953   }
3954   {
3955     INT in_usereg = -1;
3956     in_usereg = FLD (in_r0);
3957     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3958   }
3959   {
3960     cycles += model_u_exec_before (current_cpu, idesc, 2);
3961   }
3962   {
3963     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
3964   }
3965   {
3966     INT out_loadreg = -1;
3967     out_loadreg = FLD (out_rn);
3968     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
3969   }
3970   return cycles;
3971 #undef FLD
3972 }
3973
3974 UINT
3975 sh4a_nofpu_sh4a_nofpu_model::model_movl8_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
3976 {
3977 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
3978   const sh4a_nofpu_scache* abuf = sem;
3979   const sh4a_nofpu_idesc* idesc = abuf->idesc;
3980   int cycles = 0;
3981   {
3982     int referenced = 0;
3983     unsigned long long insn_referenced = abuf->written;
3984     INT in_usereg = -1;
3985     in_usereg = FLD (in_rm);
3986     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3987   }
3988   {
3989     int referenced = 0;
3990     unsigned long long insn_referenced = abuf->written;
3991     INT in_usereg = -1;
3992     in_usereg = FLD (in_r0);
3993     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3994   }
3995   {
3996     int referenced = 0;
3997     unsigned long long insn_referenced = abuf->written;
3998     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3999   }
4000   {
4001     int referenced = 0;
4002     unsigned long long insn_referenced = abuf->written;
4003     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4004   }
4005   {
4006     int referenced = 0;
4007     unsigned long long insn_referenced = abuf->written;
4008     INT out_loadreg = -1;
4009     out_loadreg = FLD (out_rn);
4010     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
4011   }
4012   return cycles;
4013 #undef FLD
4014 }
4015
4016 UINT
4017 sh4a_nofpu_sh4a_nofpu_model::model_movl9_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4018 {
4019 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
4020   const sh4a_nofpu_scache* abuf = sem;
4021   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4022   int cycles = 0;
4023   {
4024     cycles += model_u_exec_before (current_cpu, idesc, 0);
4025   }
4026   {
4027     cycles += model_u_memory_access_before (current_cpu, idesc, 1);
4028   }
4029   {
4030     INT out_loadreg = -1;
4031     out_loadreg = FLD (out_r0);
4032     cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
4033   }
4034   return cycles;
4035 #undef FLD
4036 }
4037
4038 UINT
4039 sh4a_nofpu_sh4a_nofpu_model::model_movl9_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4040 {
4041 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
4042   const sh4a_nofpu_scache* abuf = sem;
4043   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4044   int cycles = 0;
4045   {
4046     int referenced = 0;
4047     unsigned long long insn_referenced = abuf->written;
4048     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4049   }
4050   {
4051     int referenced = 0;
4052     unsigned long long insn_referenced = abuf->written;
4053     cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
4054   }
4055   {
4056     int referenced = 0;
4057     unsigned long long insn_referenced = abuf->written;
4058     INT out_loadreg = -1;
4059     out_loadreg = FLD (out_r0);
4060     cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
4061   }
4062   return cycles;
4063 #undef FLD
4064 }
4065
4066 UINT
4067 sh4a_nofpu_sh4a_nofpu_model::model_movl10_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4068 {
4069 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
4070   const sh4a_nofpu_scache* abuf = sem;
4071   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4072   int cycles = 0;
4073   {
4074     cycles += model_u_exec_before (current_cpu, idesc, 0);
4075   }
4076   {
4077     cycles += model_u_memory_access_before (current_cpu, idesc, 1);
4078   }
4079   {
4080     INT out_loadreg = -1;
4081     out_loadreg = FLD (out_rn);
4082     cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
4083   }
4084   return cycles;
4085 #undef FLD
4086 }
4087
4088 UINT
4089 sh4a_nofpu_sh4a_nofpu_model::model_movl10_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4090 {
4091 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
4092   const sh4a_nofpu_scache* abuf = sem;
4093   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4094   int cycles = 0;
4095   {
4096     int referenced = 0;
4097     unsigned long long insn_referenced = abuf->written;
4098     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4099   }
4100   {
4101     int referenced = 0;
4102     unsigned long long insn_referenced = abuf->written;
4103     cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
4104   }
4105   {
4106     int referenced = 0;
4107     unsigned long long insn_referenced = abuf->written;
4108     INT out_loadreg = -1;
4109     out_loadreg = FLD (out_rn);
4110     cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
4111   }
4112   return cycles;
4113 #undef FLD
4114 }
4115
4116 UINT
4117 sh4a_nofpu_sh4a_nofpu_model::model_movl11_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4118 {
4119 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4120   const sh4a_nofpu_scache* abuf = sem;
4121   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4122   int cycles = 0;
4123   {
4124     INT in_usereg = -1;
4125     in_usereg = FLD (in_rm);
4126     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4127   }
4128   {
4129     cycles += model_u_exec_before (current_cpu, idesc, 1);
4130   }
4131   {
4132     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
4133   }
4134   {
4135     INT out_loadreg = -1;
4136     out_loadreg = FLD (out_rn);
4137     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
4138   }
4139   return cycles;
4140 #undef FLD
4141 }
4142
4143 UINT
4144 sh4a_nofpu_sh4a_nofpu_model::model_movl11_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4145 {
4146 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4147   const sh4a_nofpu_scache* abuf = sem;
4148   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4149   int cycles = 0;
4150   {
4151     int referenced = 0;
4152     unsigned long long insn_referenced = abuf->written;
4153     INT in_usereg = -1;
4154     in_usereg = FLD (in_rm);
4155     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4156   }
4157   {
4158     int referenced = 0;
4159     unsigned long long insn_referenced = abuf->written;
4160     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4161   }
4162   {
4163     int referenced = 0;
4164     unsigned long long insn_referenced = abuf->written;
4165     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
4166   }
4167   {
4168     int referenced = 0;
4169     unsigned long long insn_referenced = abuf->written;
4170     INT out_loadreg = -1;
4171     out_loadreg = FLD (out_rn);
4172     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
4173   }
4174   return cycles;
4175 #undef FLD
4176 }
4177
4178 UINT
4179 sh4a_nofpu_sh4a_nofpu_model::model_movw1_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4180 {
4181 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4182   const sh4a_nofpu_scache* abuf = sem;
4183   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4184   int cycles = 0;
4185   {
4186     INT in_usereg = -1;
4187     in_usereg = FLD (in_rm);
4188     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4189   }
4190   {
4191     INT in_usereg = -1;
4192     in_usereg = FLD (in_rn);
4193     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4194   }
4195   {
4196     cycles += model_u_exec_before (current_cpu, idesc, 2);
4197   }
4198   {
4199     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4200   }
4201   return cycles;
4202 #undef FLD
4203 }
4204
4205 UINT
4206 sh4a_nofpu_sh4a_nofpu_model::model_movw1_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4207 {
4208 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4209   const sh4a_nofpu_scache* abuf = sem;
4210   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4211   int cycles = 0;
4212   {
4213     int referenced = 0;
4214     unsigned long long insn_referenced = abuf->written;
4215     INT in_usereg = -1;
4216     in_usereg = FLD (in_rm);
4217     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4218   }
4219   {
4220     int referenced = 0;
4221     unsigned long long insn_referenced = abuf->written;
4222     INT in_usereg = -1;
4223     in_usereg = FLD (in_rn);
4224     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4225   }
4226   {
4227     int referenced = 0;
4228     unsigned long long insn_referenced = abuf->written;
4229     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4230   }
4231   {
4232     int referenced = 0;
4233     unsigned long long insn_referenced = abuf->written;
4234     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4235   }
4236   return cycles;
4237 #undef FLD
4238 }
4239
4240 UINT
4241 sh4a_nofpu_sh4a_nofpu_model::model_movw2_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4242 {
4243 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4244   const sh4a_nofpu_scache* abuf = sem;
4245   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4246   int cycles = 0;
4247   {
4248     INT in_usereg = -1;
4249     in_usereg = FLD (in_rm);
4250     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4251   }
4252   {
4253     INT in_usereg = -1;
4254     in_usereg = FLD (in_rn);
4255     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4256   }
4257   {
4258     cycles += model_u_exec_before (current_cpu, idesc, 2);
4259   }
4260   {
4261     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4262   }
4263   return cycles;
4264 #undef FLD
4265 }
4266
4267 UINT
4268 sh4a_nofpu_sh4a_nofpu_model::model_movw2_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4269 {
4270 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4271   const sh4a_nofpu_scache* abuf = sem;
4272   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4273   int cycles = 0;
4274   {
4275     int referenced = 0;
4276     unsigned long long insn_referenced = abuf->written;
4277     INT in_usereg = -1;
4278     in_usereg = FLD (in_rm);
4279     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4280   }
4281   {
4282     int referenced = 0;
4283     unsigned long long insn_referenced = abuf->written;
4284     INT in_usereg = -1;
4285     in_usereg = FLD (in_rn);
4286     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4287   }
4288   {
4289     int referenced = 0;
4290     unsigned long long insn_referenced = abuf->written;
4291     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4292   }
4293   {
4294     int referenced = 0;
4295     unsigned long long insn_referenced = abuf->written;
4296     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4297   }
4298   return cycles;
4299 #undef FLD
4300 }
4301
4302 UINT
4303 sh4a_nofpu_sh4a_nofpu_model::model_movw3_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4304 {
4305 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4306   const sh4a_nofpu_scache* abuf = sem;
4307   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4308   int cycles = 0;
4309   {
4310     INT in_usereg = -1;
4311     in_usereg = FLD (in_rm);
4312     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4313   }
4314   {
4315     INT in_usereg = -1;
4316     in_usereg = FLD (in_rn);
4317     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4318   }
4319   {
4320     INT in_usereg = -1;
4321     in_usereg = FLD (in_r0);
4322     cycles += model_u_use_gr_before (current_cpu, idesc, 2, in_usereg);
4323   }
4324   {
4325     cycles += model_u_exec_before (current_cpu, idesc, 3);
4326   }
4327   {
4328     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
4329   }
4330   return cycles;
4331 #undef FLD
4332 }
4333
4334 UINT
4335 sh4a_nofpu_sh4a_nofpu_model::model_movw3_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4336 {
4337 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4338   const sh4a_nofpu_scache* abuf = sem;
4339   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4340   int cycles = 0;
4341   {
4342     int referenced = 0;
4343     unsigned long long insn_referenced = abuf->written;
4344     INT in_usereg = -1;
4345     in_usereg = FLD (in_rm);
4346     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4347   }
4348   {
4349     int referenced = 0;
4350     unsigned long long insn_referenced = abuf->written;
4351     INT in_usereg = -1;
4352     in_usereg = FLD (in_rn);
4353     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4354   }
4355   {
4356     int referenced = 0;
4357     unsigned long long insn_referenced = abuf->written;
4358     INT in_usereg = -1;
4359     in_usereg = FLD (in_r0);
4360     cycles += model_u_use_gr_after (current_cpu, idesc, 2, referenced, in_usereg);
4361   }
4362   {
4363     int referenced = 0;
4364     unsigned long long insn_referenced = abuf->written;
4365     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
4366   }
4367   {
4368     int referenced = 0;
4369     unsigned long long insn_referenced = abuf->written;
4370     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
4371   }
4372   return cycles;
4373 #undef FLD
4374 }
4375
4376 UINT
4377 sh4a_nofpu_sh4a_nofpu_model::model_movw4_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4378 {
4379 #define FLD(f) abuf->fields.sfmt_movw4_compact.f
4380   const sh4a_nofpu_scache* abuf = sem;
4381   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4382   int cycles = 0;
4383   {
4384     INT in_usereg = -1;
4385     in_usereg = FLD (in_r0);
4386     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4387   }
4388   {
4389     cycles += model_u_exec_before (current_cpu, idesc, 1);
4390   }
4391   {
4392     cycles += model_u_sx_before (current_cpu, idesc, 2);
4393   }
4394   {
4395     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4396   }
4397   return cycles;
4398 #undef FLD
4399 }
4400
4401 UINT
4402 sh4a_nofpu_sh4a_nofpu_model::model_movw4_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4403 {
4404 #define FLD(f) abuf->fields.sfmt_movw4_compact.f
4405   const sh4a_nofpu_scache* abuf = sem;
4406   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4407   int cycles = 0;
4408   {
4409     int referenced = 0;
4410     unsigned long long insn_referenced = abuf->written;
4411     INT in_usereg = -1;
4412     in_usereg = FLD (in_r0);
4413     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4414   }
4415   {
4416     int referenced = 0;
4417     unsigned long long insn_referenced = abuf->written;
4418     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4419   }
4420   {
4421     int referenced = 0;
4422     unsigned long long insn_referenced = abuf->written;
4423     cycles += model_u_sx_after (current_cpu, idesc, 2, referenced);
4424   }
4425   {
4426     int referenced = 0;
4427     unsigned long long insn_referenced = abuf->written;
4428     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4429   }
4430   return cycles;
4431 #undef FLD
4432 }
4433
4434 UINT
4435 sh4a_nofpu_sh4a_nofpu_model::model_movw5_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4436 {
4437 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
4438   const sh4a_nofpu_scache* abuf = sem;
4439   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4440   int cycles = 0;
4441   {
4442     INT in_usereg = -1;
4443     in_usereg = FLD (in_rm);
4444     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4445   }
4446   {
4447     INT in_usereg = -1;
4448     in_usereg = FLD (in_r0);
4449     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4450   }
4451   {
4452     cycles += model_u_exec_before (current_cpu, idesc, 2);
4453   }
4454   {
4455     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4456   }
4457   return cycles;
4458 #undef FLD
4459 }
4460
4461 UINT
4462 sh4a_nofpu_sh4a_nofpu_model::model_movw5_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4463 {
4464 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
4465   const sh4a_nofpu_scache* abuf = sem;
4466   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4467   int cycles = 0;
4468   {
4469     int referenced = 0;
4470     unsigned long long insn_referenced = abuf->written;
4471     INT in_usereg = -1;
4472     in_usereg = FLD (in_rm);
4473     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4474   }
4475   {
4476     int referenced = 0;
4477     unsigned long long insn_referenced = abuf->written;
4478     INT in_usereg = -1;
4479     in_usereg = FLD (in_r0);
4480     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4481   }
4482   {
4483     int referenced = 0;
4484     unsigned long long insn_referenced = abuf->written;
4485     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4486   }
4487   {
4488     int referenced = 0;
4489     unsigned long long insn_referenced = abuf->written;
4490     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4491   }
4492   return cycles;
4493 #undef FLD
4494 }
4495
4496 UINT
4497 sh4a_nofpu_sh4a_nofpu_model::model_movw6_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4498 {
4499 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4500   const sh4a_nofpu_scache* abuf = sem;
4501   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4502   int cycles = 0;
4503   {
4504     INT in_usereg = -1;
4505     in_usereg = FLD (in_rm);
4506     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4507   }
4508   {
4509     cycles += model_u_exec_before (current_cpu, idesc, 1);
4510   }
4511   {
4512     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
4513   }
4514   {
4515     INT out_loadreg = -1;
4516     out_loadreg = FLD (out_rn);
4517     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
4518   }
4519   return cycles;
4520 #undef FLD
4521 }
4522
4523 UINT
4524 sh4a_nofpu_sh4a_nofpu_model::model_movw6_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4525 {
4526 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4527   const sh4a_nofpu_scache* abuf = sem;
4528   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4529   int cycles = 0;
4530   {
4531     int referenced = 0;
4532     unsigned long long insn_referenced = abuf->written;
4533     INT in_usereg = -1;
4534     in_usereg = FLD (in_rm);
4535     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4536   }
4537   {
4538     int referenced = 0;
4539     unsigned long long insn_referenced = abuf->written;
4540     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4541   }
4542   {
4543     int referenced = 0;
4544     unsigned long long insn_referenced = abuf->written;
4545     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
4546   }
4547   {
4548     int referenced = 0;
4549     unsigned long long insn_referenced = abuf->written;
4550     INT out_loadreg = -1;
4551     out_loadreg = FLD (out_rn);
4552     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
4553   }
4554   return cycles;
4555 #undef FLD
4556 }
4557
4558 UINT
4559 sh4a_nofpu_sh4a_nofpu_model::model_movw7_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4560 {
4561 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4562   const sh4a_nofpu_scache* abuf = sem;
4563   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4564   int cycles = 0;
4565   {
4566     INT in_usereg = -1;
4567     in_usereg = FLD (in_rm);
4568     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4569   }
4570   {
4571     cycles += model_u_exec_before (current_cpu, idesc, 1);
4572   }
4573   {
4574     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
4575   }
4576   {
4577     INT out_loadreg = -1;
4578     out_loadreg = FLD (out_rn);
4579     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
4580   }
4581   return cycles;
4582 #undef FLD
4583 }
4584
4585 UINT
4586 sh4a_nofpu_sh4a_nofpu_model::model_movw7_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4587 {
4588 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4589   const sh4a_nofpu_scache* abuf = sem;
4590   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4591   int cycles = 0;
4592   {
4593     int referenced = 0;
4594     unsigned long long insn_referenced = abuf->written;
4595     INT in_usereg = -1;
4596     in_usereg = FLD (in_rm);
4597     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4598   }
4599   {
4600     int referenced = 0;
4601     unsigned long long insn_referenced = abuf->written;
4602     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4603   }
4604   {
4605     int referenced = 0;
4606     unsigned long long insn_referenced = abuf->written;
4607     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
4608   }
4609   {
4610     int referenced = 0;
4611     unsigned long long insn_referenced = abuf->written;
4612     INT out_loadreg = -1;
4613     out_loadreg = FLD (out_rn);
4614     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
4615   }
4616   return cycles;
4617 #undef FLD
4618 }
4619
4620 UINT
4621 sh4a_nofpu_sh4a_nofpu_model::model_movw8_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4622 {
4623 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
4624   const sh4a_nofpu_scache* abuf = sem;
4625   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4626   int cycles = 0;
4627   {
4628     INT in_usereg = -1;
4629     in_usereg = FLD (in_rm);
4630     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4631   }
4632   {
4633     INT in_usereg = -1;
4634     in_usereg = FLD (in_r0);
4635     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4636   }
4637   {
4638     cycles += model_u_exec_before (current_cpu, idesc, 2);
4639   }
4640   {
4641     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4642   }
4643   {
4644     INT out_loadreg = -1;
4645     out_loadreg = FLD (out_rn);
4646     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
4647   }
4648   return cycles;
4649 #undef FLD
4650 }
4651
4652 UINT
4653 sh4a_nofpu_sh4a_nofpu_model::model_movw8_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4654 {
4655 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
4656   const sh4a_nofpu_scache* abuf = sem;
4657   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4658   int cycles = 0;
4659   {
4660     int referenced = 0;
4661     unsigned long long insn_referenced = abuf->written;
4662     INT in_usereg = -1;
4663     in_usereg = FLD (in_rm);
4664     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4665   }
4666   {
4667     int referenced = 0;
4668     unsigned long long insn_referenced = abuf->written;
4669     INT in_usereg = -1;
4670     in_usereg = FLD (in_r0);
4671     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4672   }
4673   {
4674     int referenced = 0;
4675     unsigned long long insn_referenced = abuf->written;
4676     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4677   }
4678   {
4679     int referenced = 0;
4680     unsigned long long insn_referenced = abuf->written;
4681     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4682   }
4683   {
4684     int referenced = 0;
4685     unsigned long long insn_referenced = abuf->written;
4686     INT out_loadreg = -1;
4687     out_loadreg = FLD (out_rn);
4688     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
4689   }
4690   return cycles;
4691 #undef FLD
4692 }
4693
4694 UINT
4695 sh4a_nofpu_sh4a_nofpu_model::model_movw9_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4696 {
4697 #define FLD(f) abuf->fields.sfmt_movw9_compact.f
4698   const sh4a_nofpu_scache* abuf = sem;
4699   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4700   int cycles = 0;
4701   {
4702     cycles += model_u_exec_before (current_cpu, idesc, 0);
4703   }
4704   {
4705     cycles += model_u_memory_access_before (current_cpu, idesc, 1);
4706   }
4707   {
4708     INT out_loadreg = -1;
4709     out_loadreg = FLD (out_r0);
4710     cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
4711   }
4712   return cycles;
4713 #undef FLD
4714 }
4715
4716 UINT
4717 sh4a_nofpu_sh4a_nofpu_model::model_movw9_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4718 {
4719 #define FLD(f) abuf->fields.sfmt_movw9_compact.f
4720   const sh4a_nofpu_scache* abuf = sem;
4721   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4722   int cycles = 0;
4723   {
4724     int referenced = 0;
4725     unsigned long long insn_referenced = abuf->written;
4726     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4727   }
4728   {
4729     int referenced = 0;
4730     unsigned long long insn_referenced = abuf->written;
4731     cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
4732   }
4733   {
4734     int referenced = 0;
4735     unsigned long long insn_referenced = abuf->written;
4736     INT out_loadreg = -1;
4737     out_loadreg = FLD (out_r0);
4738     cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
4739   }
4740   return cycles;
4741 #undef FLD
4742 }
4743
4744 UINT
4745 sh4a_nofpu_sh4a_nofpu_model::model_movw10_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4746 {
4747 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4748   const sh4a_nofpu_scache* abuf = sem;
4749   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4750   int cycles = 0;
4751   {
4752     cycles += model_u_exec_before (current_cpu, idesc, 0);
4753   }
4754   {
4755     cycles += model_u_memory_access_before (current_cpu, idesc, 1);
4756   }
4757   {
4758     INT out_loadreg = -1;
4759     out_loadreg = FLD (out_rn);
4760     cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
4761   }
4762   return cycles;
4763 #undef FLD
4764 }
4765
4766 UINT
4767 sh4a_nofpu_sh4a_nofpu_model::model_movw10_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4768 {
4769 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4770   const sh4a_nofpu_scache* abuf = sem;
4771   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4772   int cycles = 0;
4773   {
4774     int referenced = 0;
4775     unsigned long long insn_referenced = abuf->written;
4776     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4777   }
4778   {
4779     int referenced = 0;
4780     unsigned long long insn_referenced = abuf->written;
4781     cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
4782   }
4783   {
4784     int referenced = 0;
4785     unsigned long long insn_referenced = abuf->written;
4786     INT out_loadreg = -1;
4787     out_loadreg = FLD (out_rn);
4788     cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
4789   }
4790   return cycles;
4791 #undef FLD
4792 }
4793
4794 UINT
4795 sh4a_nofpu_sh4a_nofpu_model::model_movw11_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4796 {
4797 #define FLD(f) abuf->fields.sfmt_movw11_compact.f
4798   const sh4a_nofpu_scache* abuf = sem;
4799   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4800   int cycles = 0;
4801   {
4802     INT in_usereg = -1;
4803     in_usereg = FLD (in_rm);
4804     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4805   }
4806   {
4807     cycles += model_u_exec_before (current_cpu, idesc, 1);
4808   }
4809   {
4810     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
4811   }
4812   {
4813     INT out_loadreg = -1;
4814     out_loadreg = FLD (out_r0);
4815     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
4816   }
4817   return cycles;
4818 #undef FLD
4819 }
4820
4821 UINT
4822 sh4a_nofpu_sh4a_nofpu_model::model_movw11_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4823 {
4824 #define FLD(f) abuf->fields.sfmt_movw11_compact.f
4825   const sh4a_nofpu_scache* abuf = sem;
4826   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4827   int cycles = 0;
4828   {
4829     int referenced = 0;
4830     unsigned long long insn_referenced = abuf->written;
4831     INT in_usereg = -1;
4832     in_usereg = FLD (in_rm);
4833     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4834   }
4835   {
4836     int referenced = 0;
4837     unsigned long long insn_referenced = abuf->written;
4838     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4839   }
4840   {
4841     int referenced = 0;
4842     unsigned long long insn_referenced = abuf->written;
4843     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
4844   }
4845   {
4846     int referenced = 0;
4847     unsigned long long insn_referenced = abuf->written;
4848     INT out_loadreg = -1;
4849     out_loadreg = FLD (out_r0);
4850     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
4851   }
4852   return cycles;
4853 #undef FLD
4854 }
4855
4856 UINT
4857 sh4a_nofpu_sh4a_nofpu_model::model_mova_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4858 {
4859 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
4860   const sh4a_nofpu_scache* abuf = sem;
4861   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4862   int cycles = 0;
4863   {
4864     cycles += model_u_exec_before (current_cpu, idesc, 0);
4865   }
4866   return cycles;
4867 #undef FLD
4868 }
4869
4870 UINT
4871 sh4a_nofpu_sh4a_nofpu_model::model_mova_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4872 {
4873 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
4874   const sh4a_nofpu_scache* abuf = sem;
4875   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4876   int cycles = 0;
4877   {
4878     int referenced = 0;
4879     unsigned long long insn_referenced = abuf->written;
4880     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4881   }
4882   return cycles;
4883 #undef FLD
4884 }
4885
4886 UINT
4887 sh4a_nofpu_sh4a_nofpu_model::model_movcal_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4888 {
4889 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4890   const sh4a_nofpu_scache* abuf = sem;
4891   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4892   int cycles = 0;
4893   {
4894     INT in_usereg = -1;
4895     in_usereg = FLD (in_rn);
4896     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4897   }
4898   {
4899     cycles += model_u_ocb_before (current_cpu, idesc, 1);
4900   }
4901   return cycles;
4902 #undef FLD
4903 }
4904
4905 UINT
4906 sh4a_nofpu_sh4a_nofpu_model::model_movcal_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4907 {
4908 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4909   const sh4a_nofpu_scache* abuf = sem;
4910   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4911   int cycles = 0;
4912   {
4913     int referenced = 0;
4914     unsigned long long insn_referenced = abuf->written;
4915     INT in_usereg = -1;
4916     in_usereg = FLD (in_rn);
4917     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4918   }
4919   {
4920     int referenced = 0;
4921     unsigned long long insn_referenced = abuf->written;
4922     cycles += model_u_ocb_after (current_cpu, idesc, 1, referenced);
4923   }
4924   return cycles;
4925 #undef FLD
4926 }
4927
4928 UINT
4929 sh4a_nofpu_sh4a_nofpu_model::model_movcol_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4930 {
4931 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
4932   const sh4a_nofpu_scache* abuf = sem;
4933   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4934   int cycles = 0;
4935   {
4936     INT in_usereg = -1;
4937     in_usereg = FLD (in_rn);
4938     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4939   }
4940   {
4941     cycles += model_u_exec_before (current_cpu, idesc, 1);
4942   }
4943   return cycles;
4944 #undef FLD
4945 }
4946
4947 UINT
4948 sh4a_nofpu_sh4a_nofpu_model::model_movcol_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4949 {
4950 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
4951   const sh4a_nofpu_scache* abuf = sem;
4952   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4953   int cycles = 0;
4954   {
4955     int referenced = 0;
4956     unsigned long long insn_referenced = abuf->written;
4957     INT in_usereg = -1;
4958     in_usereg = FLD (in_rn);
4959     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4960   }
4961   {
4962     int referenced = 0;
4963     unsigned long long insn_referenced = abuf->written;
4964     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4965   }
4966   return cycles;
4967 #undef FLD
4968 }
4969
4970 UINT
4971 sh4a_nofpu_sh4a_nofpu_model::model_movt_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4972 {
4973 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4974   const sh4a_nofpu_scache* abuf = sem;
4975   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4976   int cycles = 0;
4977   {
4978     cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
4979   }
4980   {
4981     cycles += model_u_exec_before (current_cpu, idesc, 1);
4982   }
4983   return cycles;
4984 #undef FLD
4985 }
4986
4987 UINT
4988 sh4a_nofpu_sh4a_nofpu_model::model_movt_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
4989 {
4990 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4991   const sh4a_nofpu_scache* abuf = sem;
4992   const sh4a_nofpu_idesc* idesc = abuf->idesc;
4993   int cycles = 0;
4994   {
4995     int referenced = 0;
4996     unsigned long long insn_referenced = abuf->written;
4997     cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
4998   }
4999   {
5000     int referenced = 0;
5001     unsigned long long insn_referenced = abuf->written;
5002     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5003   }
5004   return cycles;
5005 #undef FLD
5006 }
5007
5008 UINT
5009 sh4a_nofpu_sh4a_nofpu_model::model_movual_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5010 {
5011 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5012   const sh4a_nofpu_scache* abuf = sem;
5013   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5014   int cycles = 0;
5015   {
5016     INT in_usereg = -1;
5017     in_usereg = FLD (in_rn);
5018     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5019   }
5020   {
5021     cycles += model_u_exec_before (current_cpu, idesc, 1);
5022   }
5023   {
5024     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
5025   }
5026   {
5027     INT out_loadreg = -1;
5028     out_loadreg = FLD (out_r0);
5029     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
5030   }
5031   return cycles;
5032 #undef FLD
5033 }
5034
5035 UINT
5036 sh4a_nofpu_sh4a_nofpu_model::model_movual_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5037 {
5038 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5039   const sh4a_nofpu_scache* abuf = sem;
5040   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5041   int cycles = 0;
5042   {
5043     int referenced = 0;
5044     unsigned long long insn_referenced = abuf->written;
5045     INT in_usereg = -1;
5046     in_usereg = FLD (in_rn);
5047     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5048   }
5049   {
5050     int referenced = 0;
5051     unsigned long long insn_referenced = abuf->written;
5052     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5053   }
5054   {
5055     int referenced = 0;
5056     unsigned long long insn_referenced = abuf->written;
5057     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
5058   }
5059   {
5060     int referenced = 0;
5061     unsigned long long insn_referenced = abuf->written;
5062     INT out_loadreg = -1;
5063     out_loadreg = FLD (out_r0);
5064     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
5065   }
5066   return cycles;
5067 #undef FLD
5068 }
5069
5070 UINT
5071 sh4a_nofpu_sh4a_nofpu_model::model_movual2_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5072 {
5073 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5074   const sh4a_nofpu_scache* abuf = sem;
5075   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5076   int cycles = 0;
5077   {
5078     INT in_usereg = -1;
5079     in_usereg = FLD (in_rn);
5080     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5081   }
5082   {
5083     cycles += model_u_exec_before (current_cpu, idesc, 1);
5084   }
5085   {
5086     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
5087   }
5088   {
5089     INT out_loadreg = -1;
5090     out_loadreg = FLD (out_r0);
5091     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
5092   }
5093   return cycles;
5094 #undef FLD
5095 }
5096
5097 UINT
5098 sh4a_nofpu_sh4a_nofpu_model::model_movual2_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5099 {
5100 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5101   const sh4a_nofpu_scache* abuf = sem;
5102   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5103   int cycles = 0;
5104   {
5105     int referenced = 0;
5106     unsigned long long insn_referenced = abuf->written;
5107     INT in_usereg = -1;
5108     in_usereg = FLD (in_rn);
5109     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5110   }
5111   {
5112     int referenced = 0;
5113     unsigned long long insn_referenced = abuf->written;
5114     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5115   }
5116   {
5117     int referenced = 0;
5118     unsigned long long insn_referenced = abuf->written;
5119     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
5120   }
5121   {
5122     int referenced = 0;
5123     unsigned long long insn_referenced = abuf->written;
5124     INT out_loadreg = -1;
5125     out_loadreg = FLD (out_r0);
5126     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
5127   }
5128   return cycles;
5129 #undef FLD
5130 }
5131
5132 UINT
5133 sh4a_nofpu_sh4a_nofpu_model::model_mull_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5134 {
5135 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5136   const sh4a_nofpu_scache* abuf = sem;
5137   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5138   int cycles = 0;
5139   {
5140     INT in_usereg = -1;
5141     in_usereg = FLD (in_rn);
5142     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5143   }
5144   {
5145     INT in_usereg = -1;
5146     in_usereg = FLD (in_rm);
5147     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5148   }
5149   {
5150     cycles += model_u_mull_before (current_cpu, idesc, 2);
5151   }
5152   return cycles;
5153 #undef FLD
5154 }
5155
5156 UINT
5157 sh4a_nofpu_sh4a_nofpu_model::model_mull_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5158 {
5159 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5160   const sh4a_nofpu_scache* abuf = sem;
5161   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5162   int cycles = 0;
5163   {
5164     int referenced = 0;
5165     unsigned long long insn_referenced = abuf->written;
5166     INT in_usereg = -1;
5167     in_usereg = FLD (in_rn);
5168     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5169   }
5170   {
5171     int referenced = 0;
5172     unsigned long long insn_referenced = abuf->written;
5173     INT in_usereg = -1;
5174     in_usereg = FLD (in_rm);
5175     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5176   }
5177   {
5178     int referenced = 0;
5179     unsigned long long insn_referenced = abuf->written;
5180     cycles += model_u_mull_after (current_cpu, idesc, 2, referenced);
5181   }
5182   return cycles;
5183 #undef FLD
5184 }
5185
5186 UINT
5187 sh4a_nofpu_sh4a_nofpu_model::model_mulsw_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5188 {
5189 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5190   const sh4a_nofpu_scache* abuf = sem;
5191   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5192   int cycles = 0;
5193   {
5194     INT in_usereg = -1;
5195     in_usereg = FLD (in_rn);
5196     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5197   }
5198   {
5199     INT in_usereg = -1;
5200     in_usereg = FLD (in_rm);
5201     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5202   }
5203   {
5204     cycles += model_u_mulsw_before (current_cpu, idesc, 2);
5205   }
5206   {
5207     cycles += model_u_multiply_before (current_cpu, idesc, 3);
5208   }
5209   return cycles;
5210 #undef FLD
5211 }
5212
5213 UINT
5214 sh4a_nofpu_sh4a_nofpu_model::model_mulsw_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5215 {
5216 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5217   const sh4a_nofpu_scache* abuf = sem;
5218   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5219   int cycles = 0;
5220   {
5221     int referenced = 0;
5222     unsigned long long insn_referenced = abuf->written;
5223     INT in_usereg = -1;
5224     in_usereg = FLD (in_rn);
5225     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5226   }
5227   {
5228     int referenced = 0;
5229     unsigned long long insn_referenced = abuf->written;
5230     INT in_usereg = -1;
5231     in_usereg = FLD (in_rm);
5232     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5233   }
5234   {
5235     int referenced = 0;
5236     unsigned long long insn_referenced = abuf->written;
5237     cycles += model_u_mulsw_after (current_cpu, idesc, 2, referenced);
5238   }
5239   {
5240     int referenced = 0;
5241     unsigned long long insn_referenced = abuf->written;
5242     cycles += model_u_multiply_after (current_cpu, idesc, 3, referenced);
5243   }
5244   return cycles;
5245 #undef FLD
5246 }
5247
5248 UINT
5249 sh4a_nofpu_sh4a_nofpu_model::model_muluw_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5250 {
5251 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5252   const sh4a_nofpu_scache* abuf = sem;
5253   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5254   int cycles = 0;
5255   {
5256     INT in_usereg = -1;
5257     in_usereg = FLD (in_rn);
5258     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5259   }
5260   {
5261     INT in_usereg = -1;
5262     in_usereg = FLD (in_rm);
5263     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5264   }
5265   {
5266     cycles += model_u_mulsw_before (current_cpu, idesc, 2);
5267   }
5268   {
5269     cycles += model_u_multiply_before (current_cpu, idesc, 3);
5270   }
5271   return cycles;
5272 #undef FLD
5273 }
5274
5275 UINT
5276 sh4a_nofpu_sh4a_nofpu_model::model_muluw_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5277 {
5278 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5279   const sh4a_nofpu_scache* abuf = sem;
5280   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5281   int cycles = 0;
5282   {
5283     int referenced = 0;
5284     unsigned long long insn_referenced = abuf->written;
5285     INT in_usereg = -1;
5286     in_usereg = FLD (in_rn);
5287     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5288   }
5289   {
5290     int referenced = 0;
5291     unsigned long long insn_referenced = abuf->written;
5292     INT in_usereg = -1;
5293     in_usereg = FLD (in_rm);
5294     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5295   }
5296   {
5297     int referenced = 0;
5298     unsigned long long insn_referenced = abuf->written;
5299     cycles += model_u_mulsw_after (current_cpu, idesc, 2, referenced);
5300   }
5301   {
5302     int referenced = 0;
5303     unsigned long long insn_referenced = abuf->written;
5304     cycles += model_u_multiply_after (current_cpu, idesc, 3, referenced);
5305   }
5306   return cycles;
5307 #undef FLD
5308 }
5309
5310 UINT
5311 sh4a_nofpu_sh4a_nofpu_model::model_neg_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5312 {
5313 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5314   const sh4a_nofpu_scache* abuf = sem;
5315   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5316   int cycles = 0;
5317   {
5318     INT in_usereg = -1;
5319     in_usereg = FLD (in_rm);
5320     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5321   }
5322   {
5323     cycles += model_u_exec_before (current_cpu, idesc, 1);
5324   }
5325   return cycles;
5326 #undef FLD
5327 }
5328
5329 UINT
5330 sh4a_nofpu_sh4a_nofpu_model::model_neg_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5331 {
5332 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5333   const sh4a_nofpu_scache* abuf = sem;
5334   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5335   int cycles = 0;
5336   {
5337     int referenced = 0;
5338     unsigned long long insn_referenced = abuf->written;
5339     INT in_usereg = -1;
5340     in_usereg = FLD (in_rm);
5341     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5342   }
5343   {
5344     int referenced = 0;
5345     unsigned long long insn_referenced = abuf->written;
5346     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5347   }
5348   return cycles;
5349 #undef FLD
5350 }
5351
5352 UINT
5353 sh4a_nofpu_sh4a_nofpu_model::model_negc_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5354 {
5355 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5356   const sh4a_nofpu_scache* abuf = sem;
5357   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5358   int cycles = 0;
5359   {
5360     INT in_usereg = -1;
5361     in_usereg = FLD (in_rm);
5362     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5363   }
5364   {
5365     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5366   }
5367   {
5368     cycles += model_u_exec_before (current_cpu, idesc, 2);
5369   }
5370   {
5371     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
5372   }
5373   return cycles;
5374 #undef FLD
5375 }
5376
5377 UINT
5378 sh4a_nofpu_sh4a_nofpu_model::model_negc_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5379 {
5380 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5381   const sh4a_nofpu_scache* abuf = sem;
5382   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5383   int cycles = 0;
5384   {
5385     int referenced = 0;
5386     unsigned long long insn_referenced = abuf->written;
5387     INT in_usereg = -1;
5388     in_usereg = FLD (in_rm);
5389     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5390   }
5391   {
5392     int referenced = 0;
5393     unsigned long long insn_referenced = abuf->written;
5394     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5395   }
5396   {
5397     int referenced = 0;
5398     unsigned long long insn_referenced = abuf->written;
5399     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5400   }
5401   {
5402     int referenced = 0;
5403     unsigned long long insn_referenced = abuf->written;
5404     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
5405   }
5406   return cycles;
5407 #undef FLD
5408 }
5409
5410 UINT
5411 sh4a_nofpu_sh4a_nofpu_model::model_nop_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5412 {
5413 #define FLD(f) abuf->fields.fmt_empty.f
5414   const sh4a_nofpu_scache* abuf = sem;
5415   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5416   int cycles = 0;
5417   {
5418     cycles += model_u_exec_before (current_cpu, idesc, 0);
5419   }
5420   return cycles;
5421 #undef FLD
5422 }
5423
5424 UINT
5425 sh4a_nofpu_sh4a_nofpu_model::model_nop_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5426 {
5427 #define FLD(f) abuf->fields.fmt_empty.f
5428   const sh4a_nofpu_scache* abuf = sem;
5429   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5430   int cycles = 0;
5431   {
5432     int referenced = 0;
5433     unsigned long long insn_referenced = abuf->written;
5434     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5435   }
5436   return cycles;
5437 #undef FLD
5438 }
5439
5440 UINT
5441 sh4a_nofpu_sh4a_nofpu_model::model_not_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5442 {
5443 #define FLD(f) abuf->fields.sfmt_and_compact.f
5444   const sh4a_nofpu_scache* abuf = sem;
5445   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5446   int cycles = 0;
5447   {
5448     INT in_usereg = -1;
5449     in_usereg = FLD (in_rm64);
5450     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5451   }
5452   {
5453     cycles += model_u_exec_before (current_cpu, idesc, 1);
5454   }
5455   return cycles;
5456 #undef FLD
5457 }
5458
5459 UINT
5460 sh4a_nofpu_sh4a_nofpu_model::model_not_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5461 {
5462 #define FLD(f) abuf->fields.sfmt_and_compact.f
5463   const sh4a_nofpu_scache* abuf = sem;
5464   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5465   int cycles = 0;
5466   {
5467     int referenced = 0;
5468     unsigned long long insn_referenced = abuf->written;
5469     INT in_usereg = -1;
5470     in_usereg = FLD (in_rm64);
5471     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5472   }
5473   {
5474     int referenced = 0;
5475     unsigned long long insn_referenced = abuf->written;
5476     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5477   }
5478   return cycles;
5479 #undef FLD
5480 }
5481
5482 UINT
5483 sh4a_nofpu_sh4a_nofpu_model::model_ocbi_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5484 {
5485 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5486   const sh4a_nofpu_scache* abuf = sem;
5487   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5488   int cycles = 0;
5489   {
5490     INT in_usereg = -1;
5491     in_usereg = FLD (in_rn);
5492     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5493   }
5494   {
5495     cycles += model_u_ocb_before (current_cpu, idesc, 1);
5496   }
5497   return cycles;
5498 #undef FLD
5499 }
5500
5501 UINT
5502 sh4a_nofpu_sh4a_nofpu_model::model_ocbi_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5503 {
5504 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5505   const sh4a_nofpu_scache* abuf = sem;
5506   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5507   int cycles = 0;
5508   {
5509     int referenced = 0;
5510     unsigned long long insn_referenced = abuf->written;
5511     INT in_usereg = -1;
5512     in_usereg = FLD (in_rn);
5513     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5514   }
5515   {
5516     int referenced = 0;
5517     unsigned long long insn_referenced = abuf->written;
5518     cycles += model_u_ocb_after (current_cpu, idesc, 1, referenced);
5519   }
5520   return cycles;
5521 #undef FLD
5522 }
5523
5524 UINT
5525 sh4a_nofpu_sh4a_nofpu_model::model_ocbp_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5526 {
5527 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5528   const sh4a_nofpu_scache* abuf = sem;
5529   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5530   int cycles = 0;
5531   {
5532     INT in_usereg = -1;
5533     in_usereg = FLD (in_rn);
5534     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5535   }
5536   {
5537     cycles += model_u_ocb_before (current_cpu, idesc, 1);
5538   }
5539   return cycles;
5540 #undef FLD
5541 }
5542
5543 UINT
5544 sh4a_nofpu_sh4a_nofpu_model::model_ocbp_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5545 {
5546 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5547   const sh4a_nofpu_scache* abuf = sem;
5548   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5549   int cycles = 0;
5550   {
5551     int referenced = 0;
5552     unsigned long long insn_referenced = abuf->written;
5553     INT in_usereg = -1;
5554     in_usereg = FLD (in_rn);
5555     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5556   }
5557   {
5558     int referenced = 0;
5559     unsigned long long insn_referenced = abuf->written;
5560     cycles += model_u_ocb_after (current_cpu, idesc, 1, referenced);
5561   }
5562   return cycles;
5563 #undef FLD
5564 }
5565
5566 UINT
5567 sh4a_nofpu_sh4a_nofpu_model::model_ocbwb_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5568 {
5569 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5570   const sh4a_nofpu_scache* abuf = sem;
5571   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5572   int cycles = 0;
5573   {
5574     INT in_usereg = -1;
5575     in_usereg = FLD (in_rn);
5576     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5577   }
5578   {
5579     cycles += model_u_ocb_before (current_cpu, idesc, 1);
5580   }
5581   return cycles;
5582 #undef FLD
5583 }
5584
5585 UINT
5586 sh4a_nofpu_sh4a_nofpu_model::model_ocbwb_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5587 {
5588 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5589   const sh4a_nofpu_scache* abuf = sem;
5590   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5591   int cycles = 0;
5592   {
5593     int referenced = 0;
5594     unsigned long long insn_referenced = abuf->written;
5595     INT in_usereg = -1;
5596     in_usereg = FLD (in_rn);
5597     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5598   }
5599   {
5600     int referenced = 0;
5601     unsigned long long insn_referenced = abuf->written;
5602     cycles += model_u_ocb_after (current_cpu, idesc, 1, referenced);
5603   }
5604   return cycles;
5605 #undef FLD
5606 }
5607
5608 UINT
5609 sh4a_nofpu_sh4a_nofpu_model::model_or_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5610 {
5611 #define FLD(f) abuf->fields.sfmt_and_compact.f
5612   const sh4a_nofpu_scache* abuf = sem;
5613   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5614   int cycles = 0;
5615   {
5616     INT in_usereg = -1;
5617     in_usereg = FLD (in_rm64);
5618     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5619   }
5620   {
5621     INT in_usereg = -1;
5622     in_usereg = FLD (in_rn64);
5623     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5624   }
5625   {
5626     cycles += model_u_exec_before (current_cpu, idesc, 2);
5627   }
5628   return cycles;
5629 #undef FLD
5630 }
5631
5632 UINT
5633 sh4a_nofpu_sh4a_nofpu_model::model_or_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5634 {
5635 #define FLD(f) abuf->fields.sfmt_and_compact.f
5636   const sh4a_nofpu_scache* abuf = sem;
5637   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5638   int cycles = 0;
5639   {
5640     int referenced = 0;
5641     unsigned long long insn_referenced = abuf->written;
5642     INT in_usereg = -1;
5643     in_usereg = FLD (in_rm64);
5644     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5645   }
5646   {
5647     int referenced = 0;
5648     unsigned long long insn_referenced = abuf->written;
5649     INT in_usereg = -1;
5650     in_usereg = FLD (in_rn64);
5651     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5652   }
5653   {
5654     int referenced = 0;
5655     unsigned long long insn_referenced = abuf->written;
5656     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5657   }
5658   return cycles;
5659 #undef FLD
5660 }
5661
5662 UINT
5663 sh4a_nofpu_sh4a_nofpu_model::model_ori_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5664 {
5665 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5666   const sh4a_nofpu_scache* abuf = sem;
5667   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5668   int cycles = 0;
5669   {
5670     INT in_usereg = -1;
5671     in_usereg = FLD (in_r0);
5672     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5673   }
5674   {
5675     cycles += model_u_exec_before (current_cpu, idesc, 1);
5676   }
5677   return cycles;
5678 #undef FLD
5679 }
5680
5681 UINT
5682 sh4a_nofpu_sh4a_nofpu_model::model_ori_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5683 {
5684 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5685   const sh4a_nofpu_scache* abuf = sem;
5686   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5687   int cycles = 0;
5688   {
5689     int referenced = 0;
5690     unsigned long long insn_referenced = abuf->written;
5691     INT in_usereg = -1;
5692     in_usereg = FLD (in_r0);
5693     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5694   }
5695   {
5696     int referenced = 0;
5697     unsigned long long insn_referenced = abuf->written;
5698     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5699   }
5700   return cycles;
5701 #undef FLD
5702 }
5703
5704 UINT
5705 sh4a_nofpu_sh4a_nofpu_model::model_orb_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5706 {
5707 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5708   const sh4a_nofpu_scache* abuf = sem;
5709   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5710   int cycles = 0;
5711   {
5712     INT in_usereg = -1;
5713     in_usereg = FLD (in_r0);
5714     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5715   }
5716   {
5717     cycles += model_u_logic_b_before (current_cpu, idesc, 1);
5718   }
5719   {
5720     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
5721   }
5722   return cycles;
5723 #undef FLD
5724 }
5725
5726 UINT
5727 sh4a_nofpu_sh4a_nofpu_model::model_orb_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5728 {
5729 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5730   const sh4a_nofpu_scache* abuf = sem;
5731   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5732   int cycles = 0;
5733   {
5734     int referenced = 0;
5735     unsigned long long insn_referenced = abuf->written;
5736     INT in_usereg = -1;
5737     in_usereg = FLD (in_r0);
5738     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5739   }
5740   {
5741     int referenced = 0;
5742     unsigned long long insn_referenced = abuf->written;
5743     cycles += model_u_logic_b_after (current_cpu, idesc, 1, referenced);
5744   }
5745   {
5746     int referenced = 0;
5747     unsigned long long insn_referenced = abuf->written;
5748     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
5749   }
5750   return cycles;
5751 #undef FLD
5752 }
5753
5754 UINT
5755 sh4a_nofpu_sh4a_nofpu_model::model_pref_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5756 {
5757 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5758   const sh4a_nofpu_scache* abuf = sem;
5759   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5760   int cycles = 0;
5761   {
5762     INT in_usereg = -1;
5763     in_usereg = FLD (in_rn);
5764     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5765   }
5766   {
5767     cycles += model_u_exec_before (current_cpu, idesc, 1);
5768   }
5769   {
5770     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
5771   }
5772   return cycles;
5773 #undef FLD
5774 }
5775
5776 UINT
5777 sh4a_nofpu_sh4a_nofpu_model::model_pref_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5778 {
5779 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5780   const sh4a_nofpu_scache* abuf = sem;
5781   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5782   int cycles = 0;
5783   {
5784     int referenced = 0;
5785     unsigned long long insn_referenced = abuf->written;
5786     INT in_usereg = -1;
5787     in_usereg = FLD (in_rn);
5788     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5789   }
5790   {
5791     int referenced = 0;
5792     unsigned long long insn_referenced = abuf->written;
5793     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5794   }
5795   {
5796     int referenced = 0;
5797     unsigned long long insn_referenced = abuf->written;
5798     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
5799   }
5800   return cycles;
5801 #undef FLD
5802 }
5803
5804 UINT
5805 sh4a_nofpu_sh4a_nofpu_model::model_rotcl_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5806 {
5807 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5808   const sh4a_nofpu_scache* abuf = sem;
5809   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5810   int cycles = 0;
5811   {
5812     INT in_usereg = -1;
5813     in_usereg = FLD (in_rn);
5814     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5815   }
5816   {
5817     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5818   }
5819   {
5820     cycles += model_u_exec_before (current_cpu, idesc, 2);
5821   }
5822   {
5823     cycles += model_u_shift_before (current_cpu, idesc, 3);
5824   }
5825   {
5826     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
5827   }
5828   return cycles;
5829 #undef FLD
5830 }
5831
5832 UINT
5833 sh4a_nofpu_sh4a_nofpu_model::model_rotcl_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5834 {
5835 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5836   const sh4a_nofpu_scache* abuf = sem;
5837   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5838   int cycles = 0;
5839   {
5840     int referenced = 0;
5841     unsigned long long insn_referenced = abuf->written;
5842     INT in_usereg = -1;
5843     in_usereg = FLD (in_rn);
5844     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5845   }
5846   {
5847     int referenced = 0;
5848     unsigned long long insn_referenced = abuf->written;
5849     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5850   }
5851   {
5852     int referenced = 0;
5853     unsigned long long insn_referenced = abuf->written;
5854     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5855   }
5856   {
5857     int referenced = 0;
5858     unsigned long long insn_referenced = abuf->written;
5859     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
5860   }
5861   {
5862     int referenced = 0;
5863     unsigned long long insn_referenced = abuf->written;
5864     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
5865   }
5866   return cycles;
5867 #undef FLD
5868 }
5869
5870 UINT
5871 sh4a_nofpu_sh4a_nofpu_model::model_rotcr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5872 {
5873 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5874   const sh4a_nofpu_scache* abuf = sem;
5875   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5876   int cycles = 0;
5877   {
5878     INT in_usereg = -1;
5879     in_usereg = FLD (in_rn);
5880     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5881   }
5882   {
5883     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5884   }
5885   {
5886     cycles += model_u_exec_before (current_cpu, idesc, 2);
5887   }
5888   {
5889     cycles += model_u_shift_before (current_cpu, idesc, 3);
5890   }
5891   {
5892     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
5893   }
5894   return cycles;
5895 #undef FLD
5896 }
5897
5898 UINT
5899 sh4a_nofpu_sh4a_nofpu_model::model_rotcr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5900 {
5901 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5902   const sh4a_nofpu_scache* abuf = sem;
5903   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5904   int cycles = 0;
5905   {
5906     int referenced = 0;
5907     unsigned long long insn_referenced = abuf->written;
5908     INT in_usereg = -1;
5909     in_usereg = FLD (in_rn);
5910     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5911   }
5912   {
5913     int referenced = 0;
5914     unsigned long long insn_referenced = abuf->written;
5915     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5916   }
5917   {
5918     int referenced = 0;
5919     unsigned long long insn_referenced = abuf->written;
5920     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5921   }
5922   {
5923     int referenced = 0;
5924     unsigned long long insn_referenced = abuf->written;
5925     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
5926   }
5927   {
5928     int referenced = 0;
5929     unsigned long long insn_referenced = abuf->written;
5930     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
5931   }
5932   return cycles;
5933 #undef FLD
5934 }
5935
5936 UINT
5937 sh4a_nofpu_sh4a_nofpu_model::model_rotl_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5938 {
5939 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5940   const sh4a_nofpu_scache* abuf = sem;
5941   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5942   int cycles = 0;
5943   {
5944     INT in_usereg = -1;
5945     in_usereg = FLD (in_rn);
5946     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5947   }
5948   {
5949     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
5950   }
5951   {
5952     cycles += model_u_exec_before (current_cpu, idesc, 2);
5953   }
5954   {
5955     cycles += model_u_shift_before (current_cpu, idesc, 3);
5956   }
5957   {
5958     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
5959   }
5960   return cycles;
5961 #undef FLD
5962 }
5963
5964 UINT
5965 sh4a_nofpu_sh4a_nofpu_model::model_rotl_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
5966 {
5967 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5968   const sh4a_nofpu_scache* abuf = sem;
5969   const sh4a_nofpu_idesc* idesc = abuf->idesc;
5970   int cycles = 0;
5971   {
5972     int referenced = 0;
5973     unsigned long long insn_referenced = abuf->written;
5974     INT in_usereg = -1;
5975     in_usereg = FLD (in_rn);
5976     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5977   }
5978   {
5979     int referenced = 0;
5980     unsigned long long insn_referenced = abuf->written;
5981     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
5982   }
5983   {
5984     int referenced = 0;
5985     unsigned long long insn_referenced = abuf->written;
5986     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5987   }
5988   {
5989     int referenced = 0;
5990     unsigned long long insn_referenced = abuf->written;
5991     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
5992   }
5993   {
5994     int referenced = 0;
5995     unsigned long long insn_referenced = abuf->written;
5996     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
5997   }
5998   return cycles;
5999 #undef FLD
6000 }
6001
6002 UINT
6003 sh4a_nofpu_sh4a_nofpu_model::model_rotr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6004 {
6005 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6006   const sh4a_nofpu_scache* abuf = sem;
6007   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6008   int cycles = 0;
6009   {
6010     INT in_usereg = -1;
6011     in_usereg = FLD (in_rn);
6012     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6013   }
6014   {
6015     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
6016   }
6017   {
6018     cycles += model_u_exec_before (current_cpu, idesc, 2);
6019   }
6020   {
6021     cycles += model_u_shift_before (current_cpu, idesc, 3);
6022   }
6023   {
6024     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
6025   }
6026   return cycles;
6027 #undef FLD
6028 }
6029
6030 UINT
6031 sh4a_nofpu_sh4a_nofpu_model::model_rotr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6032 {
6033 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6034   const sh4a_nofpu_scache* abuf = sem;
6035   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6036   int cycles = 0;
6037   {
6038     int referenced = 0;
6039     unsigned long long insn_referenced = abuf->written;
6040     INT in_usereg = -1;
6041     in_usereg = FLD (in_rn);
6042     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6043   }
6044   {
6045     int referenced = 0;
6046     unsigned long long insn_referenced = abuf->written;
6047     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
6048   }
6049   {
6050     int referenced = 0;
6051     unsigned long long insn_referenced = abuf->written;
6052     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6053   }
6054   {
6055     int referenced = 0;
6056     unsigned long long insn_referenced = abuf->written;
6057     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
6058   }
6059   {
6060     int referenced = 0;
6061     unsigned long long insn_referenced = abuf->written;
6062     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
6063   }
6064   return cycles;
6065 #undef FLD
6066 }
6067
6068 UINT
6069 sh4a_nofpu_sh4a_nofpu_model::model_rts_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6070 {
6071 #define FLD(f) abuf->fields.fmt_empty.f
6072   const sh4a_nofpu_scache* abuf = sem;
6073   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6074   int cycles = 0;
6075   {
6076     cycles += model_u_jmp_before (current_cpu, idesc, 0);
6077   }
6078   return cycles;
6079 #undef FLD
6080 }
6081
6082 UINT
6083 sh4a_nofpu_sh4a_nofpu_model::model_rts_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6084 {
6085 #define FLD(f) abuf->fields.fmt_empty.f
6086   const sh4a_nofpu_scache* abuf = sem;
6087   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6088   int cycles = 0;
6089   {
6090     int referenced = 0;
6091     unsigned long long insn_referenced = abuf->written;
6092     referenced |= 1 << 0;
6093     cycles += model_u_jmp_after (current_cpu, idesc, 0, referenced);
6094   }
6095   return cycles;
6096 #undef FLD
6097 }
6098
6099 UINT
6100 sh4a_nofpu_sh4a_nofpu_model::model_sets_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6101 {
6102 #define FLD(f) abuf->fields.fmt_empty.f
6103   const sh4a_nofpu_scache* abuf = sem;
6104   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6105   int cycles = 0;
6106   {
6107     cycles += model_u_exec_before (current_cpu, idesc, 0);
6108   }
6109   {
6110     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 1);
6111   }
6112   return cycles;
6113 #undef FLD
6114 }
6115
6116 UINT
6117 sh4a_nofpu_sh4a_nofpu_model::model_sets_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6118 {
6119 #define FLD(f) abuf->fields.fmt_empty.f
6120   const sh4a_nofpu_scache* abuf = sem;
6121   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6122   int cycles = 0;
6123   {
6124     int referenced = 0;
6125     unsigned long long insn_referenced = abuf->written;
6126     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6127   }
6128   {
6129     int referenced = 0;
6130     unsigned long long insn_referenced = abuf->written;
6131     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 1, referenced);
6132   }
6133   return cycles;
6134 #undef FLD
6135 }
6136
6137 UINT
6138 sh4a_nofpu_sh4a_nofpu_model::model_sett_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6139 {
6140 #define FLD(f) abuf->fields.fmt_empty.f
6141   const sh4a_nofpu_scache* abuf = sem;
6142   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6143   int cycles = 0;
6144   {
6145     cycles += model_u_exec_before (current_cpu, idesc, 0);
6146   }
6147   {
6148     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
6149   }
6150   {
6151     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 2);
6152   }
6153   return cycles;
6154 #undef FLD
6155 }
6156
6157 UINT
6158 sh4a_nofpu_sh4a_nofpu_model::model_sett_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6159 {
6160 #define FLD(f) abuf->fields.fmt_empty.f
6161   const sh4a_nofpu_scache* abuf = sem;
6162   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6163   int cycles = 0;
6164   {
6165     int referenced = 0;
6166     unsigned long long insn_referenced = abuf->written;
6167     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6168   }
6169   {
6170     int referenced = 0;
6171     unsigned long long insn_referenced = abuf->written;
6172     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
6173   }
6174   {
6175     int referenced = 0;
6176     unsigned long long insn_referenced = abuf->written;
6177     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 2, referenced);
6178   }
6179   return cycles;
6180 #undef FLD
6181 }
6182
6183 UINT
6184 sh4a_nofpu_sh4a_nofpu_model::model_shad_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6185 {
6186 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6187   const sh4a_nofpu_scache* abuf = sem;
6188   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6189   int cycles = 0;
6190   {
6191     INT in_usereg = -1;
6192     in_usereg = FLD (in_rn);
6193     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6194   }
6195   {
6196     INT in_usereg = -1;
6197     in_usereg = FLD (in_rm);
6198     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6199   }
6200   {
6201     cycles += model_u_exec_before (current_cpu, idesc, 2);
6202   }
6203   {
6204     cycles += model_u_shift_before (current_cpu, idesc, 3);
6205   }
6206   return cycles;
6207 #undef FLD
6208 }
6209
6210 UINT
6211 sh4a_nofpu_sh4a_nofpu_model::model_shad_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6212 {
6213 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6214   const sh4a_nofpu_scache* abuf = sem;
6215   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6216   int cycles = 0;
6217   {
6218     int referenced = 0;
6219     unsigned long long insn_referenced = abuf->written;
6220     INT in_usereg = -1;
6221     in_usereg = FLD (in_rn);
6222     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6223   }
6224   {
6225     int referenced = 0;
6226     unsigned long long insn_referenced = abuf->written;
6227     INT in_usereg = -1;
6228     in_usereg = FLD (in_rm);
6229     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6230   }
6231   {
6232     int referenced = 0;
6233     unsigned long long insn_referenced = abuf->written;
6234     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6235   }
6236   {
6237     int referenced = 0;
6238     unsigned long long insn_referenced = abuf->written;
6239     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
6240   }
6241   return cycles;
6242 #undef FLD
6243 }
6244
6245 UINT
6246 sh4a_nofpu_sh4a_nofpu_model::model_shal_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6247 {
6248 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6249   const sh4a_nofpu_scache* abuf = sem;
6250   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6251   int cycles = 0;
6252   {
6253     INT in_usereg = -1;
6254     in_usereg = FLD (in_rn);
6255     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6256   }
6257   {
6258     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
6259   }
6260   {
6261     cycles += model_u_exec_before (current_cpu, idesc, 2);
6262   }
6263   {
6264     cycles += model_u_shift_before (current_cpu, idesc, 3);
6265   }
6266   {
6267     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
6268   }
6269   return cycles;
6270 #undef FLD
6271 }
6272
6273 UINT
6274 sh4a_nofpu_sh4a_nofpu_model::model_shal_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6275 {
6276 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6277   const sh4a_nofpu_scache* abuf = sem;
6278   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6279   int cycles = 0;
6280   {
6281     int referenced = 0;
6282     unsigned long long insn_referenced = abuf->written;
6283     INT in_usereg = -1;
6284     in_usereg = FLD (in_rn);
6285     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6286   }
6287   {
6288     int referenced = 0;
6289     unsigned long long insn_referenced = abuf->written;
6290     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
6291   }
6292   {
6293     int referenced = 0;
6294     unsigned long long insn_referenced = abuf->written;
6295     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6296   }
6297   {
6298     int referenced = 0;
6299     unsigned long long insn_referenced = abuf->written;
6300     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
6301   }
6302   {
6303     int referenced = 0;
6304     unsigned long long insn_referenced = abuf->written;
6305     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
6306   }
6307   return cycles;
6308 #undef FLD
6309 }
6310
6311 UINT
6312 sh4a_nofpu_sh4a_nofpu_model::model_shar_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6313 {
6314 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6315   const sh4a_nofpu_scache* abuf = sem;
6316   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6317   int cycles = 0;
6318   {
6319     INT in_usereg = -1;
6320     in_usereg = FLD (in_rn);
6321     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6322   }
6323   {
6324     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
6325   }
6326   {
6327     cycles += model_u_exec_before (current_cpu, idesc, 2);
6328   }
6329   {
6330     cycles += model_u_shift_before (current_cpu, idesc, 3);
6331   }
6332   {
6333     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
6334   }
6335   return cycles;
6336 #undef FLD
6337 }
6338
6339 UINT
6340 sh4a_nofpu_sh4a_nofpu_model::model_shar_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6341 {
6342 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6343   const sh4a_nofpu_scache* abuf = sem;
6344   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6345   int cycles = 0;
6346   {
6347     int referenced = 0;
6348     unsigned long long insn_referenced = abuf->written;
6349     INT in_usereg = -1;
6350     in_usereg = FLD (in_rn);
6351     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6352   }
6353   {
6354     int referenced = 0;
6355     unsigned long long insn_referenced = abuf->written;
6356     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
6357   }
6358   {
6359     int referenced = 0;
6360     unsigned long long insn_referenced = abuf->written;
6361     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6362   }
6363   {
6364     int referenced = 0;
6365     unsigned long long insn_referenced = abuf->written;
6366     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
6367   }
6368   {
6369     int referenced = 0;
6370     unsigned long long insn_referenced = abuf->written;
6371     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
6372   }
6373   return cycles;
6374 #undef FLD
6375 }
6376
6377 UINT
6378 sh4a_nofpu_sh4a_nofpu_model::model_shld_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6379 {
6380 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6381   const sh4a_nofpu_scache* abuf = sem;
6382   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6383   int cycles = 0;
6384   {
6385     INT in_usereg = -1;
6386     in_usereg = FLD (in_rn);
6387     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6388   }
6389   {
6390     cycles += model_u_exec_before (current_cpu, idesc, 1);
6391   }
6392   {
6393     cycles += model_u_shift_before (current_cpu, idesc, 2);
6394   }
6395   return cycles;
6396 #undef FLD
6397 }
6398
6399 UINT
6400 sh4a_nofpu_sh4a_nofpu_model::model_shld_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6401 {
6402 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6403   const sh4a_nofpu_scache* abuf = sem;
6404   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6405   int cycles = 0;
6406   {
6407     int referenced = 0;
6408     unsigned long long insn_referenced = abuf->written;
6409     INT in_usereg = -1;
6410     in_usereg = FLD (in_rn);
6411     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6412   }
6413   {
6414     int referenced = 0;
6415     unsigned long long insn_referenced = abuf->written;
6416     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6417   }
6418   {
6419     int referenced = 0;
6420     unsigned long long insn_referenced = abuf->written;
6421     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6422   }
6423   return cycles;
6424 #undef FLD
6425 }
6426
6427 UINT
6428 sh4a_nofpu_sh4a_nofpu_model::model_shll_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6429 {
6430 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6431   const sh4a_nofpu_scache* abuf = sem;
6432   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6433   int cycles = 0;
6434   {
6435     INT in_usereg = -1;
6436     in_usereg = FLD (in_rn);
6437     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6438   }
6439   {
6440     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
6441   }
6442   {
6443     cycles += model_u_exec_before (current_cpu, idesc, 2);
6444   }
6445   {
6446     cycles += model_u_shift_before (current_cpu, idesc, 3);
6447   }
6448   {
6449     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
6450   }
6451   return cycles;
6452 #undef FLD
6453 }
6454
6455 UINT
6456 sh4a_nofpu_sh4a_nofpu_model::model_shll_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6457 {
6458 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6459   const sh4a_nofpu_scache* abuf = sem;
6460   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6461   int cycles = 0;
6462   {
6463     int referenced = 0;
6464     unsigned long long insn_referenced = abuf->written;
6465     INT in_usereg = -1;
6466     in_usereg = FLD (in_rn);
6467     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6468   }
6469   {
6470     int referenced = 0;
6471     unsigned long long insn_referenced = abuf->written;
6472     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
6473   }
6474   {
6475     int referenced = 0;
6476     unsigned long long insn_referenced = abuf->written;
6477     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6478   }
6479   {
6480     int referenced = 0;
6481     unsigned long long insn_referenced = abuf->written;
6482     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
6483   }
6484   {
6485     int referenced = 0;
6486     unsigned long long insn_referenced = abuf->written;
6487     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
6488   }
6489   return cycles;
6490 #undef FLD
6491 }
6492
6493 UINT
6494 sh4a_nofpu_sh4a_nofpu_model::model_shll2_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6495 {
6496 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6497   const sh4a_nofpu_scache* abuf = sem;
6498   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6499   int cycles = 0;
6500   {
6501     INT in_usereg = -1;
6502     in_usereg = FLD (in_rn);
6503     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6504   }
6505   {
6506     cycles += model_u_exec_before (current_cpu, idesc, 1);
6507   }
6508   {
6509     cycles += model_u_shift_before (current_cpu, idesc, 2);
6510   }
6511   return cycles;
6512 #undef FLD
6513 }
6514
6515 UINT
6516 sh4a_nofpu_sh4a_nofpu_model::model_shll2_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6517 {
6518 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6519   const sh4a_nofpu_scache* abuf = sem;
6520   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6521   int cycles = 0;
6522   {
6523     int referenced = 0;
6524     unsigned long long insn_referenced = abuf->written;
6525     INT in_usereg = -1;
6526     in_usereg = FLD (in_rn);
6527     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6528   }
6529   {
6530     int referenced = 0;
6531     unsigned long long insn_referenced = abuf->written;
6532     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6533   }
6534   {
6535     int referenced = 0;
6536     unsigned long long insn_referenced = abuf->written;
6537     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6538   }
6539   return cycles;
6540 #undef FLD
6541 }
6542
6543 UINT
6544 sh4a_nofpu_sh4a_nofpu_model::model_shll8_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6545 {
6546 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6547   const sh4a_nofpu_scache* abuf = sem;
6548   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6549   int cycles = 0;
6550   {
6551     INT in_usereg = -1;
6552     in_usereg = FLD (in_rn);
6553     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6554   }
6555   {
6556     cycles += model_u_exec_before (current_cpu, idesc, 1);
6557   }
6558   {
6559     cycles += model_u_shift_before (current_cpu, idesc, 2);
6560   }
6561   return cycles;
6562 #undef FLD
6563 }
6564
6565 UINT
6566 sh4a_nofpu_sh4a_nofpu_model::model_shll8_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6567 {
6568 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6569   const sh4a_nofpu_scache* abuf = sem;
6570   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6571   int cycles = 0;
6572   {
6573     int referenced = 0;
6574     unsigned long long insn_referenced = abuf->written;
6575     INT in_usereg = -1;
6576     in_usereg = FLD (in_rn);
6577     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6578   }
6579   {
6580     int referenced = 0;
6581     unsigned long long insn_referenced = abuf->written;
6582     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6583   }
6584   {
6585     int referenced = 0;
6586     unsigned long long insn_referenced = abuf->written;
6587     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6588   }
6589   return cycles;
6590 #undef FLD
6591 }
6592
6593 UINT
6594 sh4a_nofpu_sh4a_nofpu_model::model_shll16_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6595 {
6596 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6597   const sh4a_nofpu_scache* abuf = sem;
6598   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6599   int cycles = 0;
6600   {
6601     INT in_usereg = -1;
6602     in_usereg = FLD (in_rn);
6603     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6604   }
6605   {
6606     cycles += model_u_exec_before (current_cpu, idesc, 1);
6607   }
6608   {
6609     cycles += model_u_shift_before (current_cpu, idesc, 2);
6610   }
6611   return cycles;
6612 #undef FLD
6613 }
6614
6615 UINT
6616 sh4a_nofpu_sh4a_nofpu_model::model_shll16_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6617 {
6618 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6619   const sh4a_nofpu_scache* abuf = sem;
6620   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6621   int cycles = 0;
6622   {
6623     int referenced = 0;
6624     unsigned long long insn_referenced = abuf->written;
6625     INT in_usereg = -1;
6626     in_usereg = FLD (in_rn);
6627     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6628   }
6629   {
6630     int referenced = 0;
6631     unsigned long long insn_referenced = abuf->written;
6632     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6633   }
6634   {
6635     int referenced = 0;
6636     unsigned long long insn_referenced = abuf->written;
6637     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6638   }
6639   return cycles;
6640 #undef FLD
6641 }
6642
6643 UINT
6644 sh4a_nofpu_sh4a_nofpu_model::model_shlr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6645 {
6646 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6647   const sh4a_nofpu_scache* abuf = sem;
6648   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6649   int cycles = 0;
6650   {
6651     INT in_usereg = -1;
6652     in_usereg = FLD (in_rn);
6653     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6654   }
6655   {
6656     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
6657   }
6658   {
6659     cycles += model_u_exec_before (current_cpu, idesc, 2);
6660   }
6661   {
6662     cycles += model_u_shift_before (current_cpu, idesc, 3);
6663   }
6664   {
6665     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
6666   }
6667   return cycles;
6668 #undef FLD
6669 }
6670
6671 UINT
6672 sh4a_nofpu_sh4a_nofpu_model::model_shlr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6673 {
6674 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6675   const sh4a_nofpu_scache* abuf = sem;
6676   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6677   int cycles = 0;
6678   {
6679     int referenced = 0;
6680     unsigned long long insn_referenced = abuf->written;
6681     INT in_usereg = -1;
6682     in_usereg = FLD (in_rn);
6683     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6684   }
6685   {
6686     int referenced = 0;
6687     unsigned long long insn_referenced = abuf->written;
6688     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
6689   }
6690   {
6691     int referenced = 0;
6692     unsigned long long insn_referenced = abuf->written;
6693     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6694   }
6695   {
6696     int referenced = 0;
6697     unsigned long long insn_referenced = abuf->written;
6698     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
6699   }
6700   {
6701     int referenced = 0;
6702     unsigned long long insn_referenced = abuf->written;
6703     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
6704   }
6705   return cycles;
6706 #undef FLD
6707 }
6708
6709 UINT
6710 sh4a_nofpu_sh4a_nofpu_model::model_shlr2_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6711 {
6712 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6713   const sh4a_nofpu_scache* abuf = sem;
6714   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6715   int cycles = 0;
6716   {
6717     INT in_usereg = -1;
6718     in_usereg = FLD (in_rn);
6719     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6720   }
6721   {
6722     cycles += model_u_exec_before (current_cpu, idesc, 1);
6723   }
6724   {
6725     cycles += model_u_shift_before (current_cpu, idesc, 2);
6726   }
6727   return cycles;
6728 #undef FLD
6729 }
6730
6731 UINT
6732 sh4a_nofpu_sh4a_nofpu_model::model_shlr2_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6733 {
6734 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6735   const sh4a_nofpu_scache* abuf = sem;
6736   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6737   int cycles = 0;
6738   {
6739     int referenced = 0;
6740     unsigned long long insn_referenced = abuf->written;
6741     INT in_usereg = -1;
6742     in_usereg = FLD (in_rn);
6743     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6744   }
6745   {
6746     int referenced = 0;
6747     unsigned long long insn_referenced = abuf->written;
6748     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6749   }
6750   {
6751     int referenced = 0;
6752     unsigned long long insn_referenced = abuf->written;
6753     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6754   }
6755   return cycles;
6756 #undef FLD
6757 }
6758
6759 UINT
6760 sh4a_nofpu_sh4a_nofpu_model::model_shlr8_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6761 {
6762 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6763   const sh4a_nofpu_scache* abuf = sem;
6764   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6765   int cycles = 0;
6766   {
6767     INT in_usereg = -1;
6768     in_usereg = FLD (in_rn);
6769     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6770   }
6771   {
6772     cycles += model_u_exec_before (current_cpu, idesc, 1);
6773   }
6774   {
6775     cycles += model_u_shift_before (current_cpu, idesc, 2);
6776   }
6777   return cycles;
6778 #undef FLD
6779 }
6780
6781 UINT
6782 sh4a_nofpu_sh4a_nofpu_model::model_shlr8_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6783 {
6784 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6785   const sh4a_nofpu_scache* abuf = sem;
6786   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6787   int cycles = 0;
6788   {
6789     int referenced = 0;
6790     unsigned long long insn_referenced = abuf->written;
6791     INT in_usereg = -1;
6792     in_usereg = FLD (in_rn);
6793     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6794   }
6795   {
6796     int referenced = 0;
6797     unsigned long long insn_referenced = abuf->written;
6798     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6799   }
6800   {
6801     int referenced = 0;
6802     unsigned long long insn_referenced = abuf->written;
6803     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6804   }
6805   return cycles;
6806 #undef FLD
6807 }
6808
6809 UINT
6810 sh4a_nofpu_sh4a_nofpu_model::model_shlr16_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6811 {
6812 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6813   const sh4a_nofpu_scache* abuf = sem;
6814   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6815   int cycles = 0;
6816   {
6817     INT in_usereg = -1;
6818     in_usereg = FLD (in_rn);
6819     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6820   }
6821   {
6822     cycles += model_u_exec_before (current_cpu, idesc, 1);
6823   }
6824   {
6825     cycles += model_u_shift_before (current_cpu, idesc, 2);
6826   }
6827   return cycles;
6828 #undef FLD
6829 }
6830
6831 UINT
6832 sh4a_nofpu_sh4a_nofpu_model::model_shlr16_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6833 {
6834 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6835   const sh4a_nofpu_scache* abuf = sem;
6836   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6837   int cycles = 0;
6838   {
6839     int referenced = 0;
6840     unsigned long long insn_referenced = abuf->written;
6841     INT in_usereg = -1;
6842     in_usereg = FLD (in_rn);
6843     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6844   }
6845   {
6846     int referenced = 0;
6847     unsigned long long insn_referenced = abuf->written;
6848     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6849   }
6850   {
6851     int referenced = 0;
6852     unsigned long long insn_referenced = abuf->written;
6853     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
6854   }
6855   return cycles;
6856 #undef FLD
6857 }
6858
6859 UINT
6860 sh4a_nofpu_sh4a_nofpu_model::model_stc_gbr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6861 {
6862 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6863   const sh4a_nofpu_scache* abuf = sem;
6864   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6865   int cycles = 0;
6866   {
6867     cycles += model_u_exec_before (current_cpu, idesc, 0);
6868   }
6869   return cycles;
6870 #undef FLD
6871 }
6872
6873 UINT
6874 sh4a_nofpu_sh4a_nofpu_model::model_stc_gbr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6875 {
6876 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6877   const sh4a_nofpu_scache* abuf = sem;
6878   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6879   int cycles = 0;
6880   {
6881     int referenced = 0;
6882     unsigned long long insn_referenced = abuf->written;
6883     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6884   }
6885   return cycles;
6886 #undef FLD
6887 }
6888
6889 UINT
6890 sh4a_nofpu_sh4a_nofpu_model::model_stc_vbr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6891 {
6892 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6893   const sh4a_nofpu_scache* abuf = sem;
6894   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6895   int cycles = 0;
6896   {
6897     cycles += model_u_stc_vbr_before (current_cpu, idesc, 0);
6898   }
6899   return cycles;
6900 #undef FLD
6901 }
6902
6903 UINT
6904 sh4a_nofpu_sh4a_nofpu_model::model_stc_vbr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6905 {
6906 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6907   const sh4a_nofpu_scache* abuf = sem;
6908   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6909   int cycles = 0;
6910   {
6911     int referenced = 0;
6912     unsigned long long insn_referenced = abuf->written;
6913     cycles += model_u_stc_vbr_after (current_cpu, idesc, 0, referenced);
6914   }
6915   return cycles;
6916 #undef FLD
6917 }
6918
6919 UINT
6920 sh4a_nofpu_sh4a_nofpu_model::model_stcl_gbr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6921 {
6922 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6923   const sh4a_nofpu_scache* abuf = sem;
6924   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6925   int cycles = 0;
6926   {
6927     INT in_usereg = -1;
6928     in_usereg = FLD (in_rn);
6929     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6930   }
6931   {
6932     cycles += model_u_ldcl_before (current_cpu, idesc, 1);
6933   }
6934   {
6935     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
6936   }
6937   return cycles;
6938 #undef FLD
6939 }
6940
6941 UINT
6942 sh4a_nofpu_sh4a_nofpu_model::model_stcl_gbr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6943 {
6944 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6945   const sh4a_nofpu_scache* abuf = sem;
6946   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6947   int cycles = 0;
6948   {
6949     int referenced = 0;
6950     unsigned long long insn_referenced = abuf->written;
6951     INT in_usereg = -1;
6952     in_usereg = FLD (in_rn);
6953     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6954   }
6955   {
6956     int referenced = 0;
6957     unsigned long long insn_referenced = abuf->written;
6958     cycles += model_u_ldcl_after (current_cpu, idesc, 1, referenced);
6959   }
6960   {
6961     int referenced = 0;
6962     unsigned long long insn_referenced = abuf->written;
6963     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
6964   }
6965   return cycles;
6966 #undef FLD
6967 }
6968
6969 UINT
6970 sh4a_nofpu_sh4a_nofpu_model::model_stcl_vbr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6971 {
6972 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6973   const sh4a_nofpu_scache* abuf = sem;
6974   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6975   int cycles = 0;
6976   {
6977     INT in_usereg = -1;
6978     in_usereg = FLD (in_rn);
6979     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6980   }
6981   {
6982     cycles += model_u_ldcl_before (current_cpu, idesc, 1);
6983   }
6984   {
6985     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
6986   }
6987   return cycles;
6988 #undef FLD
6989 }
6990
6991 UINT
6992 sh4a_nofpu_sh4a_nofpu_model::model_stcl_vbr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
6993 {
6994 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
6995   const sh4a_nofpu_scache* abuf = sem;
6996   const sh4a_nofpu_idesc* idesc = abuf->idesc;
6997   int cycles = 0;
6998   {
6999     int referenced = 0;
7000     unsigned long long insn_referenced = abuf->written;
7001     INT in_usereg = -1;
7002     in_usereg = FLD (in_rn);
7003     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7004   }
7005   {
7006     int referenced = 0;
7007     unsigned long long insn_referenced = abuf->written;
7008     cycles += model_u_ldcl_after (current_cpu, idesc, 1, referenced);
7009   }
7010   {
7011     int referenced = 0;
7012     unsigned long long insn_referenced = abuf->written;
7013     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
7014   }
7015   return cycles;
7016 #undef FLD
7017 }
7018
7019 UINT
7020 sh4a_nofpu_sh4a_nofpu_model::model_sts_mach_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7021 {
7022 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
7023   const sh4a_nofpu_scache* abuf = sem;
7024   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7025   int cycles = 0;
7026   {
7027     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 0);
7028   }
7029   {
7030     cycles += model_u_write_back_before (current_cpu, idesc, 1);
7031   }
7032   {
7033     cycles += model_u_exec_before (current_cpu, idesc, 2);
7034   }
7035   {
7036     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
7037   }
7038   return cycles;
7039 #undef FLD
7040 }
7041
7042 UINT
7043 sh4a_nofpu_sh4a_nofpu_model::model_sts_mach_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7044 {
7045 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
7046   const sh4a_nofpu_scache* abuf = sem;
7047   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7048   int cycles = 0;
7049   {
7050     int referenced = 0;
7051     unsigned long long insn_referenced = abuf->written;
7052     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 0, referenced);
7053   }
7054   {
7055     int referenced = 0;
7056     unsigned long long insn_referenced = abuf->written;
7057     cycles += model_u_write_back_after (current_cpu, idesc, 1, referenced);
7058   }
7059   {
7060     int referenced = 0;
7061     unsigned long long insn_referenced = abuf->written;
7062     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7063   }
7064   {
7065     int referenced = 0;
7066     unsigned long long insn_referenced = abuf->written;
7067     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
7068   }
7069   return cycles;
7070 #undef FLD
7071 }
7072
7073 UINT
7074 sh4a_nofpu_sh4a_nofpu_model::model_stsl_mach_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7075 {
7076 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
7077   const sh4a_nofpu_scache* abuf = sem;
7078   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7079   int cycles = 0;
7080   {
7081     INT in_usereg = -1;
7082     in_usereg = FLD (in_rn);
7083     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7084   }
7085   {
7086     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
7087   }
7088   {
7089     cycles += model_u_write_back_before (current_cpu, idesc, 2);
7090   }
7091   {
7092     cycles += model_u_exec_before (current_cpu, idesc, 3);
7093   }
7094   {
7095     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
7096   }
7097   return cycles;
7098 #undef FLD
7099 }
7100
7101 UINT
7102 sh4a_nofpu_sh4a_nofpu_model::model_stsl_mach_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7103 {
7104 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
7105   const sh4a_nofpu_scache* abuf = sem;
7106   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7107   int cycles = 0;
7108   {
7109     int referenced = 0;
7110     unsigned long long insn_referenced = abuf->written;
7111     INT in_usereg = -1;
7112     in_usereg = FLD (in_rn);
7113     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7114   }
7115   {
7116     int referenced = 0;
7117     unsigned long long insn_referenced = abuf->written;
7118     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
7119   }
7120   {
7121     int referenced = 0;
7122     unsigned long long insn_referenced = abuf->written;
7123     cycles += model_u_write_back_after (current_cpu, idesc, 2, referenced);
7124   }
7125   {
7126     int referenced = 0;
7127     unsigned long long insn_referenced = abuf->written;
7128     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
7129   }
7130   {
7131     int referenced = 0;
7132     unsigned long long insn_referenced = abuf->written;
7133     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
7134   }
7135   return cycles;
7136 #undef FLD
7137 }
7138
7139 UINT
7140 sh4a_nofpu_sh4a_nofpu_model::model_sts_macl_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7141 {
7142 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
7143   const sh4a_nofpu_scache* abuf = sem;
7144   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7145   int cycles = 0;
7146   {
7147     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 0);
7148   }
7149   {
7150     cycles += model_u_write_back_before (current_cpu, idesc, 1);
7151   }
7152   {
7153     cycles += model_u_exec_before (current_cpu, idesc, 2);
7154   }
7155   {
7156     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
7157   }
7158   return cycles;
7159 #undef FLD
7160 }
7161
7162 UINT
7163 sh4a_nofpu_sh4a_nofpu_model::model_sts_macl_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7164 {
7165 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
7166   const sh4a_nofpu_scache* abuf = sem;
7167   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7168   int cycles = 0;
7169   {
7170     int referenced = 0;
7171     unsigned long long insn_referenced = abuf->written;
7172     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 0, referenced);
7173   }
7174   {
7175     int referenced = 0;
7176     unsigned long long insn_referenced = abuf->written;
7177     cycles += model_u_write_back_after (current_cpu, idesc, 1, referenced);
7178   }
7179   {
7180     int referenced = 0;
7181     unsigned long long insn_referenced = abuf->written;
7182     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7183   }
7184   {
7185     int referenced = 0;
7186     unsigned long long insn_referenced = abuf->written;
7187     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
7188   }
7189   return cycles;
7190 #undef FLD
7191 }
7192
7193 UINT
7194 sh4a_nofpu_sh4a_nofpu_model::model_stsl_macl_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7195 {
7196 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
7197   const sh4a_nofpu_scache* abuf = sem;
7198   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7199   int cycles = 0;
7200   {
7201     INT in_usereg = -1;
7202     in_usereg = FLD (in_rn);
7203     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7204   }
7205   {
7206     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
7207   }
7208   {
7209     cycles += model_u_write_back_before (current_cpu, idesc, 2);
7210   }
7211   {
7212     cycles += model_u_exec_before (current_cpu, idesc, 3);
7213   }
7214   {
7215     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
7216   }
7217   return cycles;
7218 #undef FLD
7219 }
7220
7221 UINT
7222 sh4a_nofpu_sh4a_nofpu_model::model_stsl_macl_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7223 {
7224 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
7225   const sh4a_nofpu_scache* abuf = sem;
7226   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7227   int cycles = 0;
7228   {
7229     int referenced = 0;
7230     unsigned long long insn_referenced = abuf->written;
7231     INT in_usereg = -1;
7232     in_usereg = FLD (in_rn);
7233     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7234   }
7235   {
7236     int referenced = 0;
7237     unsigned long long insn_referenced = abuf->written;
7238     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
7239   }
7240   {
7241     int referenced = 0;
7242     unsigned long long insn_referenced = abuf->written;
7243     cycles += model_u_write_back_after (current_cpu, idesc, 2, referenced);
7244   }
7245   {
7246     int referenced = 0;
7247     unsigned long long insn_referenced = abuf->written;
7248     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
7249   }
7250   {
7251     int referenced = 0;
7252     unsigned long long insn_referenced = abuf->written;
7253     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
7254   }
7255   return cycles;
7256 #undef FLD
7257 }
7258
7259 UINT
7260 sh4a_nofpu_sh4a_nofpu_model::model_sts_pr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7261 {
7262 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
7263   const sh4a_nofpu_scache* abuf = sem;
7264   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7265   int cycles = 0;
7266   {
7267     cycles += model_u_use_pr_before (current_cpu, idesc, 0);
7268   }
7269   {
7270     cycles += model_u_sts_pr_before (current_cpu, idesc, 1);
7271   }
7272   return cycles;
7273 #undef FLD
7274 }
7275
7276 UINT
7277 sh4a_nofpu_sh4a_nofpu_model::model_sts_pr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7278 {
7279 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
7280   const sh4a_nofpu_scache* abuf = sem;
7281   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7282   int cycles = 0;
7283   {
7284     int referenced = 0;
7285     unsigned long long insn_referenced = abuf->written;
7286     cycles += model_u_use_pr_after (current_cpu, idesc, 0, referenced);
7287   }
7288   {
7289     int referenced = 0;
7290     unsigned long long insn_referenced = abuf->written;
7291     cycles += model_u_sts_pr_after (current_cpu, idesc, 1, referenced);
7292   }
7293   return cycles;
7294 #undef FLD
7295 }
7296
7297 UINT
7298 sh4a_nofpu_sh4a_nofpu_model::model_stsl_pr_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7299 {
7300 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
7301   const sh4a_nofpu_scache* abuf = sem;
7302   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7303   int cycles = 0;
7304   {
7305     INT in_usereg = -1;
7306     in_usereg = FLD (in_rn);
7307     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7308   }
7309   {
7310     cycles += model_u_use_pr_before (current_cpu, idesc, 1);
7311   }
7312   {
7313     cycles += model_u_sts_pr_before (current_cpu, idesc, 2);
7314   }
7315   {
7316     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
7317   }
7318   return cycles;
7319 #undef FLD
7320 }
7321
7322 UINT
7323 sh4a_nofpu_sh4a_nofpu_model::model_stsl_pr_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7324 {
7325 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
7326   const sh4a_nofpu_scache* abuf = sem;
7327   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7328   int cycles = 0;
7329   {
7330     int referenced = 0;
7331     unsigned long long insn_referenced = abuf->written;
7332     INT in_usereg = -1;
7333     in_usereg = FLD (in_rn);
7334     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7335   }
7336   {
7337     int referenced = 0;
7338     unsigned long long insn_referenced = abuf->written;
7339     cycles += model_u_use_pr_after (current_cpu, idesc, 1, referenced);
7340   }
7341   {
7342     int referenced = 0;
7343     unsigned long long insn_referenced = abuf->written;
7344     cycles += model_u_sts_pr_after (current_cpu, idesc, 2, referenced);
7345   }
7346   {
7347     int referenced = 0;
7348     unsigned long long insn_referenced = abuf->written;
7349     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
7350   }
7351   return cycles;
7352 #undef FLD
7353 }
7354
7355 UINT
7356 sh4a_nofpu_sh4a_nofpu_model::model_sub_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7357 {
7358 #define FLD(f) abuf->fields.sfmt_macl_compact.f
7359   const sh4a_nofpu_scache* abuf = sem;
7360   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7361   int cycles = 0;
7362   {
7363     INT in_usereg = -1;
7364     in_usereg = FLD (in_rn);
7365     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7366   }
7367   {
7368     INT in_usereg = -1;
7369     in_usereg = FLD (in_rm);
7370     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7371   }
7372   {
7373     cycles += model_u_exec_before (current_cpu, idesc, 2);
7374   }
7375   return cycles;
7376 #undef FLD
7377 }
7378
7379 UINT
7380 sh4a_nofpu_sh4a_nofpu_model::model_sub_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7381 {
7382 #define FLD(f) abuf->fields.sfmt_macl_compact.f
7383   const sh4a_nofpu_scache* abuf = sem;
7384   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7385   int cycles = 0;
7386   {
7387     int referenced = 0;
7388     unsigned long long insn_referenced = abuf->written;
7389     INT in_usereg = -1;
7390     in_usereg = FLD (in_rn);
7391     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7392   }
7393   {
7394     int referenced = 0;
7395     unsigned long long insn_referenced = abuf->written;
7396     INT in_usereg = -1;
7397     in_usereg = FLD (in_rm);
7398     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7399   }
7400   {
7401     int referenced = 0;
7402     unsigned long long insn_referenced = abuf->written;
7403     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7404   }
7405   return cycles;
7406 #undef FLD
7407 }
7408
7409 UINT
7410 sh4a_nofpu_sh4a_nofpu_model::model_subc_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7411 {
7412 #define FLD(f) abuf->fields.sfmt_macl_compact.f
7413   const sh4a_nofpu_scache* abuf = sem;
7414   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7415   int cycles = 0;
7416   {
7417     INT in_usereg = -1;
7418     in_usereg = FLD (in_rn);
7419     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7420   }
7421   {
7422     INT in_usereg = -1;
7423     in_usereg = FLD (in_rm);
7424     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7425   }
7426   {
7427     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
7428   }
7429   {
7430     cycles += model_u_exec_before (current_cpu, idesc, 3);
7431   }
7432   return cycles;
7433 #undef FLD
7434 }
7435
7436 UINT
7437 sh4a_nofpu_sh4a_nofpu_model::model_subc_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7438 {
7439 #define FLD(f) abuf->fields.sfmt_macl_compact.f
7440   const sh4a_nofpu_scache* abuf = sem;
7441   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7442   int cycles = 0;
7443   {
7444     int referenced = 0;
7445     unsigned long long insn_referenced = abuf->written;
7446     INT in_usereg = -1;
7447     in_usereg = FLD (in_rn);
7448     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7449   }
7450   {
7451     int referenced = 0;
7452     unsigned long long insn_referenced = abuf->written;
7453     INT in_usereg = -1;
7454     in_usereg = FLD (in_rm);
7455     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7456   }
7457   {
7458     int referenced = 0;
7459     unsigned long long insn_referenced = abuf->written;
7460     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
7461   }
7462   {
7463     int referenced = 0;
7464     unsigned long long insn_referenced = abuf->written;
7465     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
7466   }
7467   return cycles;
7468 #undef FLD
7469 }
7470
7471 UINT
7472 sh4a_nofpu_sh4a_nofpu_model::model_subv_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7473 {
7474 #define FLD(f) abuf->fields.sfmt_macl_compact.f
7475   const sh4a_nofpu_scache* abuf = sem;
7476   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7477   int cycles = 0;
7478   {
7479     INT in_usereg = -1;
7480     in_usereg = FLD (in_rn);
7481     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7482   }
7483   {
7484     INT in_usereg = -1;
7485     in_usereg = FLD (in_rm);
7486     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7487   }
7488   {
7489     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
7490   }
7491   {
7492     cycles += model_u_exec_before (current_cpu, idesc, 3);
7493   }
7494   {
7495     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
7496   }
7497   return cycles;
7498 #undef FLD
7499 }
7500
7501 UINT
7502 sh4a_nofpu_sh4a_nofpu_model::model_subv_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7503 {
7504 #define FLD(f) abuf->fields.sfmt_macl_compact.f
7505   const sh4a_nofpu_scache* abuf = sem;
7506   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7507   int cycles = 0;
7508   {
7509     int referenced = 0;
7510     unsigned long long insn_referenced = abuf->written;
7511     INT in_usereg = -1;
7512     in_usereg = FLD (in_rn);
7513     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7514   }
7515   {
7516     int referenced = 0;
7517     unsigned long long insn_referenced = abuf->written;
7518     INT in_usereg = -1;
7519     in_usereg = FLD (in_rm);
7520     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7521   }
7522   {
7523     int referenced = 0;
7524     unsigned long long insn_referenced = abuf->written;
7525     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
7526   }
7527   {
7528     int referenced = 0;
7529     unsigned long long insn_referenced = abuf->written;
7530     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
7531   }
7532   {
7533     int referenced = 0;
7534     unsigned long long insn_referenced = abuf->written;
7535     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
7536   }
7537   return cycles;
7538 #undef FLD
7539 }
7540
7541 UINT
7542 sh4a_nofpu_sh4a_nofpu_model::model_swapb_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7543 {
7544 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
7545   const sh4a_nofpu_scache* abuf = sem;
7546   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7547   int cycles = 0;
7548   {
7549     INT in_usereg = -1;
7550     in_usereg = FLD (in_rm);
7551     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7552   }
7553   {
7554     cycles += model_u_exec_before (current_cpu, idesc, 1);
7555   }
7556   {
7557     cycles += model_u_shift_before (current_cpu, idesc, 2);
7558   }
7559   return cycles;
7560 #undef FLD
7561 }
7562
7563 UINT
7564 sh4a_nofpu_sh4a_nofpu_model::model_swapb_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7565 {
7566 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
7567   const sh4a_nofpu_scache* abuf = sem;
7568   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7569   int cycles = 0;
7570   {
7571     int referenced = 0;
7572     unsigned long long insn_referenced = abuf->written;
7573     INT in_usereg = -1;
7574     in_usereg = FLD (in_rm);
7575     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7576   }
7577   {
7578     int referenced = 0;
7579     unsigned long long insn_referenced = abuf->written;
7580     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7581   }
7582   {
7583     int referenced = 0;
7584     unsigned long long insn_referenced = abuf->written;
7585     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
7586   }
7587   return cycles;
7588 #undef FLD
7589 }
7590
7591 UINT
7592 sh4a_nofpu_sh4a_nofpu_model::model_swapw_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7593 {
7594 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
7595   const sh4a_nofpu_scache* abuf = sem;
7596   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7597   int cycles = 0;
7598   {
7599     INT in_usereg = -1;
7600     in_usereg = FLD (in_rm);
7601     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7602   }
7603   {
7604     cycles += model_u_exec_before (current_cpu, idesc, 1);
7605   }
7606   {
7607     cycles += model_u_shift_before (current_cpu, idesc, 2);
7608   }
7609   return cycles;
7610 #undef FLD
7611 }
7612
7613 UINT
7614 sh4a_nofpu_sh4a_nofpu_model::model_swapw_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7615 {
7616 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
7617   const sh4a_nofpu_scache* abuf = sem;
7618   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7619   int cycles = 0;
7620   {
7621     int referenced = 0;
7622     unsigned long long insn_referenced = abuf->written;
7623     INT in_usereg = -1;
7624     in_usereg = FLD (in_rm);
7625     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7626   }
7627   {
7628     int referenced = 0;
7629     unsigned long long insn_referenced = abuf->written;
7630     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7631   }
7632   {
7633     int referenced = 0;
7634     unsigned long long insn_referenced = abuf->written;
7635     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
7636   }
7637   return cycles;
7638 #undef FLD
7639 }
7640
7641 UINT
7642 sh4a_nofpu_sh4a_nofpu_model::model_tasb_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7643 {
7644 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
7645   const sh4a_nofpu_scache* abuf = sem;
7646   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7647   int cycles = 0;
7648   {
7649     INT in_usereg = -1;
7650     in_usereg = FLD (in_rn);
7651     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7652   }
7653   {
7654     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7655   }
7656   {
7657     cycles += model_u_tas_before (current_cpu, idesc, 2);
7658   }
7659   {
7660     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
7661   }
7662   {
7663     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
7664   }
7665   return cycles;
7666 #undef FLD
7667 }
7668
7669 UINT
7670 sh4a_nofpu_sh4a_nofpu_model::model_tasb_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7671 {
7672 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
7673   const sh4a_nofpu_scache* abuf = sem;
7674   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7675   int cycles = 0;
7676   {
7677     int referenced = 0;
7678     unsigned long long insn_referenced = abuf->written;
7679     INT in_usereg = -1;
7680     in_usereg = FLD (in_rn);
7681     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7682   }
7683   {
7684     int referenced = 0;
7685     unsigned long long insn_referenced = abuf->written;
7686     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7687   }
7688   {
7689     int referenced = 0;
7690     unsigned long long insn_referenced = abuf->written;
7691     cycles += model_u_tas_after (current_cpu, idesc, 2, referenced);
7692   }
7693   {
7694     int referenced = 0;
7695     unsigned long long insn_referenced = abuf->written;
7696     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
7697   }
7698   {
7699     int referenced = 0;
7700     unsigned long long insn_referenced = abuf->written;
7701     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
7702   }
7703   return cycles;
7704 #undef FLD
7705 }
7706
7707 UINT
7708 sh4a_nofpu_sh4a_nofpu_model::model_trapa_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7709 {
7710 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7711   const sh4a_nofpu_scache* abuf = sem;
7712   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7713   int cycles = 0;
7714   {
7715     cycles += model_u_trap_before (current_cpu, idesc, 0);
7716   }
7717   return cycles;
7718 #undef FLD
7719 }
7720
7721 UINT
7722 sh4a_nofpu_sh4a_nofpu_model::model_trapa_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7723 {
7724 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7725   const sh4a_nofpu_scache* abuf = sem;
7726   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7727   int cycles = 0;
7728   {
7729     int referenced = 0;
7730     unsigned long long insn_referenced = abuf->written;
7731     cycles += model_u_trap_after (current_cpu, idesc, 0, referenced);
7732   }
7733   return cycles;
7734 #undef FLD
7735 }
7736
7737 UINT
7738 sh4a_nofpu_sh4a_nofpu_model::model_tst_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7739 {
7740 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
7741   const sh4a_nofpu_scache* abuf = sem;
7742   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7743   int cycles = 0;
7744   {
7745     INT in_usereg = -1;
7746     in_usereg = FLD (in_rn);
7747     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7748   }
7749   {
7750     INT in_usereg = -1;
7751     in_usereg = FLD (in_rm);
7752     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7753   }
7754   {
7755     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
7756   }
7757   {
7758     cycles += model_u_exec_before (current_cpu, idesc, 3);
7759   }
7760   {
7761     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
7762   }
7763   return cycles;
7764 #undef FLD
7765 }
7766
7767 UINT
7768 sh4a_nofpu_sh4a_nofpu_model::model_tst_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7769 {
7770 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
7771   const sh4a_nofpu_scache* abuf = sem;
7772   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7773   int cycles = 0;
7774   {
7775     int referenced = 0;
7776     unsigned long long insn_referenced = abuf->written;
7777     INT in_usereg = -1;
7778     in_usereg = FLD (in_rn);
7779     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7780   }
7781   {
7782     int referenced = 0;
7783     unsigned long long insn_referenced = abuf->written;
7784     INT in_usereg = -1;
7785     in_usereg = FLD (in_rm);
7786     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7787   }
7788   {
7789     int referenced = 0;
7790     unsigned long long insn_referenced = abuf->written;
7791     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
7792   }
7793   {
7794     int referenced = 0;
7795     unsigned long long insn_referenced = abuf->written;
7796     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
7797   }
7798   {
7799     int referenced = 0;
7800     unsigned long long insn_referenced = abuf->written;
7801     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
7802   }
7803   return cycles;
7804 #undef FLD
7805 }
7806
7807 UINT
7808 sh4a_nofpu_sh4a_nofpu_model::model_tsti_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7809 {
7810 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7811   const sh4a_nofpu_scache* abuf = sem;
7812   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7813   int cycles = 0;
7814   {
7815     INT in_usereg = -1;
7816     in_usereg = FLD (in_r0);
7817     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7818   }
7819   {
7820     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7821   }
7822   {
7823     cycles += model_u_exec_before (current_cpu, idesc, 2);
7824   }
7825   {
7826     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
7827   }
7828   return cycles;
7829 #undef FLD
7830 }
7831
7832 UINT
7833 sh4a_nofpu_sh4a_nofpu_model::model_tsti_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7834 {
7835 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7836   const sh4a_nofpu_scache* abuf = sem;
7837   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7838   int cycles = 0;
7839   {
7840     int referenced = 0;
7841     unsigned long long insn_referenced = abuf->written;
7842     INT in_usereg = -1;
7843     in_usereg = FLD (in_r0);
7844     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7845   }
7846   {
7847     int referenced = 0;
7848     unsigned long long insn_referenced = abuf->written;
7849     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7850   }
7851   {
7852     int referenced = 0;
7853     unsigned long long insn_referenced = abuf->written;
7854     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7855   }
7856   {
7857     int referenced = 0;
7858     unsigned long long insn_referenced = abuf->written;
7859     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
7860   }
7861   return cycles;
7862 #undef FLD
7863 }
7864
7865 UINT
7866 sh4a_nofpu_sh4a_nofpu_model::model_tstb_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7867 {
7868 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7869   const sh4a_nofpu_scache* abuf = sem;
7870   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7871   int cycles = 0;
7872   {
7873     INT in_usereg = -1;
7874     in_usereg = FLD (in_r0);
7875     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7876   }
7877   {
7878     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7879   }
7880   {
7881     cycles += model_u_exec_before (current_cpu, idesc, 2);
7882   }
7883   {
7884     cycles += model_u_sx_before (current_cpu, idesc, 3);
7885   }
7886   {
7887     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
7888   }
7889   {
7890     cycles += model_u_memory_access_before (current_cpu, idesc, 5);
7891   }
7892   return cycles;
7893 #undef FLD
7894 }
7895
7896 UINT
7897 sh4a_nofpu_sh4a_nofpu_model::model_tstb_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7898 {
7899 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7900   const sh4a_nofpu_scache* abuf = sem;
7901   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7902   int cycles = 0;
7903   {
7904     int referenced = 0;
7905     unsigned long long insn_referenced = abuf->written;
7906     INT in_usereg = -1;
7907     in_usereg = FLD (in_r0);
7908     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7909   }
7910   {
7911     int referenced = 0;
7912     unsigned long long insn_referenced = abuf->written;
7913     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7914   }
7915   {
7916     int referenced = 0;
7917     unsigned long long insn_referenced = abuf->written;
7918     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7919   }
7920   {
7921     int referenced = 0;
7922     unsigned long long insn_referenced = abuf->written;
7923     cycles += model_u_sx_after (current_cpu, idesc, 3, referenced);
7924   }
7925   {
7926     int referenced = 0;
7927     unsigned long long insn_referenced = abuf->written;
7928     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
7929   }
7930   {
7931     int referenced = 0;
7932     unsigned long long insn_referenced = abuf->written;
7933     cycles += model_u_memory_access_after (current_cpu, idesc, 5, referenced);
7934   }
7935   return cycles;
7936 #undef FLD
7937 }
7938
7939 UINT
7940 sh4a_nofpu_sh4a_nofpu_model::model_xor_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7941 {
7942 #define FLD(f) abuf->fields.sfmt_and_compact.f
7943   const sh4a_nofpu_scache* abuf = sem;
7944   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7945   int cycles = 0;
7946   {
7947     INT in_usereg = -1;
7948     in_usereg = FLD (in_rn64);
7949     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7950   }
7951   {
7952     INT in_usereg = -1;
7953     in_usereg = FLD (in_rm64);
7954     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7955   }
7956   {
7957     cycles += model_u_exec_before (current_cpu, idesc, 2);
7958   }
7959   return cycles;
7960 #undef FLD
7961 }
7962
7963 UINT
7964 sh4a_nofpu_sh4a_nofpu_model::model_xor_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7965 {
7966 #define FLD(f) abuf->fields.sfmt_and_compact.f
7967   const sh4a_nofpu_scache* abuf = sem;
7968   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7969   int cycles = 0;
7970   {
7971     int referenced = 0;
7972     unsigned long long insn_referenced = abuf->written;
7973     INT in_usereg = -1;
7974     in_usereg = FLD (in_rn64);
7975     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7976   }
7977   {
7978     int referenced = 0;
7979     unsigned long long insn_referenced = abuf->written;
7980     INT in_usereg = -1;
7981     in_usereg = FLD (in_rm64);
7982     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7983   }
7984   {
7985     int referenced = 0;
7986     unsigned long long insn_referenced = abuf->written;
7987     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7988   }
7989   return cycles;
7990 #undef FLD
7991 }
7992
7993 UINT
7994 sh4a_nofpu_sh4a_nofpu_model::model_xori_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
7995 {
7996 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7997   const sh4a_nofpu_scache* abuf = sem;
7998   const sh4a_nofpu_idesc* idesc = abuf->idesc;
7999   int cycles = 0;
8000   {
8001     INT in_usereg = -1;
8002     in_usereg = FLD (in_r0);
8003     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8004   }
8005   {
8006     cycles += model_u_exec_before (current_cpu, idesc, 1);
8007   }
8008   return cycles;
8009 #undef FLD
8010 }
8011
8012 UINT
8013 sh4a_nofpu_sh4a_nofpu_model::model_xori_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
8014 {
8015 #define FLD(f) abuf->fields.sfmt_andi_compact.f
8016   const sh4a_nofpu_scache* abuf = sem;
8017   const sh4a_nofpu_idesc* idesc = abuf->idesc;
8018   int cycles = 0;
8019   {
8020     int referenced = 0;
8021     unsigned long long insn_referenced = abuf->written;
8022     INT in_usereg = -1;
8023     in_usereg = FLD (in_r0);
8024     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8025   }
8026   {
8027     int referenced = 0;
8028     unsigned long long insn_referenced = abuf->written;
8029     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
8030   }
8031   return cycles;
8032 #undef FLD
8033 }
8034
8035 UINT
8036 sh4a_nofpu_sh4a_nofpu_model::model_xorb_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
8037 {
8038 #define FLD(f) abuf->fields.sfmt_andi_compact.f
8039   const sh4a_nofpu_scache* abuf = sem;
8040   const sh4a_nofpu_idesc* idesc = abuf->idesc;
8041   int cycles = 0;
8042   {
8043     INT in_usereg = -1;
8044     in_usereg = FLD (in_r0);
8045     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8046   }
8047   {
8048     cycles += model_u_logic_b_before (current_cpu, idesc, 1);
8049   }
8050   {
8051     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
8052   }
8053   return cycles;
8054 #undef FLD
8055 }
8056
8057 UINT
8058 sh4a_nofpu_sh4a_nofpu_model::model_xorb_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
8059 {
8060 #define FLD(f) abuf->fields.sfmt_andi_compact.f
8061   const sh4a_nofpu_scache* abuf = sem;
8062   const sh4a_nofpu_idesc* idesc = abuf->idesc;
8063   int cycles = 0;
8064   {
8065     int referenced = 0;
8066     unsigned long long insn_referenced = abuf->written;
8067     INT in_usereg = -1;
8068     in_usereg = FLD (in_r0);
8069     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8070   }
8071   {
8072     int referenced = 0;
8073     unsigned long long insn_referenced = abuf->written;
8074     cycles += model_u_logic_b_after (current_cpu, idesc, 1, referenced);
8075   }
8076   {
8077     int referenced = 0;
8078     unsigned long long insn_referenced = abuf->written;
8079     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
8080   }
8081   return cycles;
8082 #undef FLD
8083 }
8084
8085 UINT
8086 sh4a_nofpu_sh4a_nofpu_model::model_xtrct_compact_before (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
8087 {
8088 #define FLD(f) abuf->fields.sfmt_macl_compact.f
8089   const sh4a_nofpu_scache* abuf = sem;
8090   const sh4a_nofpu_idesc* idesc = abuf->idesc;
8091   int cycles = 0;
8092   {
8093     INT in_usereg = -1;
8094     in_usereg = FLD (in_rn);
8095     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8096   }
8097   {
8098     INT in_usereg = -1;
8099     in_usereg = FLD (in_rm);
8100     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
8101   }
8102   {
8103     cycles += model_u_exec_before (current_cpu, idesc, 2);
8104   }
8105   {
8106     cycles += model_u_shift_before (current_cpu, idesc, 3);
8107   }
8108   return cycles;
8109 #undef FLD
8110 }
8111
8112 UINT
8113 sh4a_nofpu_sh4a_nofpu_model::model_xtrct_compact_after (sh4a_nofpu_cpu *current_cpu, sh4a_nofpu_scache *sem)
8114 {
8115 #define FLD(f) abuf->fields.sfmt_macl_compact.f
8116   const sh4a_nofpu_scache* abuf = sem;
8117   const sh4a_nofpu_idesc* idesc = abuf->idesc;
8118   int cycles = 0;
8119   {
8120     int referenced = 0;
8121     unsigned long long insn_referenced = abuf->written;
8122     INT in_usereg = -1;
8123     in_usereg = FLD (in_rn);
8124     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8125   }
8126   {
8127     int referenced = 0;
8128     unsigned long long insn_referenced = abuf->written;
8129     INT in_usereg = -1;
8130     in_usereg = FLD (in_rm);
8131     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
8132   }
8133   {
8134     int referenced = 0;
8135     unsigned long long insn_referenced = abuf->written;
8136     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
8137   }
8138   {
8139     int referenced = 0;
8140     unsigned long long insn_referenced = abuf->written;
8141     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
8142   }
8143   return cycles;
8144 #undef FLD
8145 }
8146
8147 /* We assume UNIT_NONE == 0 because the tables don't always terminate
8148    entries with it.  */
8149
8150 /* Model timing data for `sh4a-nofpu'.  */
8151
8152 const sh4a_nofpu_sh4a_nofpu_model::insn_timing sh4a_nofpu_sh4a_nofpu_model::timing[] = {
8153   { SH4A_NOFPU_INSN_X_INVALID, 0, 0, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8154   { SH4A_NOFPU_INSN_ADD_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_add_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_add_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8155   { SH4A_NOFPU_INSN_ADDI_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_addi_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_addi_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8156   { SH4A_NOFPU_INSN_ADDC_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_addc_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_addc_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8157   { SH4A_NOFPU_INSN_ADDV_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_addv_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_addv_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8158   { SH4A_NOFPU_INSN_AND_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_and_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_and_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8159   { SH4A_NOFPU_INSN_ANDI_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_andi_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_andi_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8160   { SH4A_NOFPU_INSN_ANDB_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_andb_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_andb_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOGIC_B, 0, 3 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8161   { SH4A_NOFPU_INSN_BF_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_bf_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_bf_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_BRANCH, 0, 3 } } },
8162   { SH4A_NOFPU_INSN_BFS_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_bfs_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_bfs_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_BRANCH, 0, 2 } } },
8163   { SH4A_NOFPU_INSN_BRA_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_bra_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_bra_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_BRANCH, 0, 2 } } },
8164   { SH4A_NOFPU_INSN_BRAF_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_braf_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_braf_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_JMP, 0, 2 } } },
8165   { SH4A_NOFPU_INSN_BSR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_bsr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_bsr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_BRANCH, 0, 2 } } },
8166   { SH4A_NOFPU_INSN_BSRF_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_bsrf_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_bsrf_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_JSR, 0, 2 } } },
8167   { SH4A_NOFPU_INSN_BT_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_bt_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_bt_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_BRANCH, 0, 3 } } },
8168   { SH4A_NOFPU_INSN_BTS_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_bts_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_bts_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_BRANCH, 0, 2 } } },
8169   { SH4A_NOFPU_INSN_CLRMAC_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_clrmac_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_clrmac_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_MAC, 0, 0 } } },
8170   { SH4A_NOFPU_INSN_CLRS_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_clrs_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_clrs_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8171   { SH4A_NOFPU_INSN_CLRT_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_clrt_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_clrt_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8172   { SH4A_NOFPU_INSN_CMPEQ_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_cmpeq_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_cmpeq_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8173   { SH4A_NOFPU_INSN_CMPEQI_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_cmpeqi_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_cmpeqi_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8174   { SH4A_NOFPU_INSN_CMPGE_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_cmpge_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_cmpge_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8175   { SH4A_NOFPU_INSN_CMPGT_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_cmpgt_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_cmpgt_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8176   { SH4A_NOFPU_INSN_CMPHI_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_cmphi_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_cmphi_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8177   { SH4A_NOFPU_INSN_CMPHS_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_cmphs_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_cmphs_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8178   { SH4A_NOFPU_INSN_CMPPL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_cmppl_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_cmppl_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8179   { SH4A_NOFPU_INSN_CMPPZ_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_cmppz_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_cmppz_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8180   { SH4A_NOFPU_INSN_CMPSTR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_cmpstr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_cmpstr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8181   { SH4A_NOFPU_INSN_DIV0S_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_div0s_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_div0s_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8182   { SH4A_NOFPU_INSN_DIV0U_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_div0u_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_div0u_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8183   { SH4A_NOFPU_INSN_DIV1_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_div1_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_div1_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8184   { SH4A_NOFPU_INSN_DMULSL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_dmulsl_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_dmulsl_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_DMUL, 1, 2 } } },
8185   { SH4A_NOFPU_INSN_DMULUL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_dmulul_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_dmulul_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_DMUL, 1, 2 } } },
8186   { SH4A_NOFPU_INSN_DT_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_dt_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_dt_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8187   { SH4A_NOFPU_INSN_EXTSB_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_extsb_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_extsb_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8188   { SH4A_NOFPU_INSN_EXTSW_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_extsw_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_extsw_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8189   { SH4A_NOFPU_INSN_EXTUB_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_extub_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_extub_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8190   { SH4A_NOFPU_INSN_EXTUW_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_extuw_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_extuw_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8191   { SH4A_NOFPU_INSN_FRCHG_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_frchg_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_frchg_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8192   { SH4A_NOFPU_INSN_FSCHG_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_fschg_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_fschg_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8193   { SH4A_NOFPU_INSN_JMP_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_jmp_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_jmp_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_JMP, 0, 2 } } },
8194   { SH4A_NOFPU_INSN_JSR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_jsr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_jsr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_JSR, 0, 2 } } },
8195   { SH4A_NOFPU_INSN_LDC_GBR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ldc_gbr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ldc_gbr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LDC_GBR, 0, 1 } } },
8196   { SH4A_NOFPU_INSN_LDC_VBR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ldc_vbr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ldc_vbr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8197   { SH4A_NOFPU_INSN_LDC_SR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ldc_sr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ldc_sr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LDC_SR, 0, 1 } } },
8198   { SH4A_NOFPU_INSN_LDCL_GBR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ldcl_gbr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ldcl_gbr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LDCL, 0, 3 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GBR, 0, 0 } } },
8199   { SH4A_NOFPU_INSN_LDCL_VBR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ldcl_vbr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ldcl_vbr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LDCL_VBR, 0, 3 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_VBR, 0, 0 } } },
8200   { SH4A_NOFPU_INSN_LDS_MACH_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_lds_mach_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_lds_mach_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_MAC, 0, 0 } } },
8201   { SH4A_NOFPU_INSN_LDSL_MACH_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ldsl_mach_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ldsl_mach_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_MAC, 0, 0 } } },
8202   { SH4A_NOFPU_INSN_LDS_MACL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_lds_macl_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_lds_macl_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_MAC, 0, 0 } } },
8203   { SH4A_NOFPU_INSN_LDSL_MACL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ldsl_macl_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ldsl_macl_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_MAC, 0, 0 } } },
8204   { SH4A_NOFPU_INSN_LDS_PR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_lds_pr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_lds_pr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LDS_PR, 0, 1 } } },
8205   { SH4A_NOFPU_INSN_LDSL_PR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ldsl_pr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ldsl_pr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LDS_PR, 0, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_PR, 0, 0 } } },
8206   { SH4A_NOFPU_INSN_MACL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_macl_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_macl_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MACL, 1, 2 } } },
8207   { SH4A_NOFPU_INSN_MACW_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_macw_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_macw_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MACW, 1, 2 } } },
8208   { SH4A_NOFPU_INSN_MOV_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_mov_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_mov_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8209   { SH4A_NOFPU_INSN_MOVI_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movi_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movi_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8210   { SH4A_NOFPU_INSN_MOVB1_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movb1_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movb1_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8211   { SH4A_NOFPU_INSN_MOVB2_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movb2_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movb2_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8212   { SH4A_NOFPU_INSN_MOVB3_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movb3_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movb3_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8213   { SH4A_NOFPU_INSN_MOVB4_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movb4_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movb4_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SX, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8214   { SH4A_NOFPU_INSN_MOVB5_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movb5_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movb5_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8215   { SH4A_NOFPU_INSN_MOVB6_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movb6_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movb6_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8216   { SH4A_NOFPU_INSN_MOVB7_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movb7_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movb7_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8217   { SH4A_NOFPU_INSN_MOVB8_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movb8_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movb8_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8218   { SH4A_NOFPU_INSN_MOVB9_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movb9_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movb9_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8219   { SH4A_NOFPU_INSN_MOVB10_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movb10_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movb10_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8220   { SH4A_NOFPU_INSN_MOVL1_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movl1_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movl1_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8221   { SH4A_NOFPU_INSN_MOVL2_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movl2_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movl2_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8222   { SH4A_NOFPU_INSN_MOVL3_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movl3_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movl3_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8223   { SH4A_NOFPU_INSN_MOVL4_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movl4_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movl4_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SX, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8224   { SH4A_NOFPU_INSN_MOVL5_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movl5_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movl5_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8225   { SH4A_NOFPU_INSN_MOVL6_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movl6_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movl6_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8226   { SH4A_NOFPU_INSN_MOVL7_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movl7_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movl7_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8227   { SH4A_NOFPU_INSN_MOVL8_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movl8_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movl8_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8228   { SH4A_NOFPU_INSN_MOVL9_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movl9_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movl9_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8229   { SH4A_NOFPU_INSN_MOVL10_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movl10_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movl10_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8230   { SH4A_NOFPU_INSN_MOVL11_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movl11_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movl11_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8231   { SH4A_NOFPU_INSN_MOVW1_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movw1_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movw1_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8232   { SH4A_NOFPU_INSN_MOVW2_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movw2_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movw2_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8233   { SH4A_NOFPU_INSN_MOVW3_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movw3_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movw3_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8234   { SH4A_NOFPU_INSN_MOVW4_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movw4_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movw4_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SX, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8235   { SH4A_NOFPU_INSN_MOVW5_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movw5_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movw5_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8236   { SH4A_NOFPU_INSN_MOVW6_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movw6_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movw6_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8237   { SH4A_NOFPU_INSN_MOVW7_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movw7_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movw7_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8238   { SH4A_NOFPU_INSN_MOVW8_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movw8_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movw8_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8239   { SH4A_NOFPU_INSN_MOVW9_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movw9_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movw9_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8240   { SH4A_NOFPU_INSN_MOVW10_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movw10_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movw10_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8241   { SH4A_NOFPU_INSN_MOVW11_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movw11_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movw11_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8242   { SH4A_NOFPU_INSN_MOVA_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_mova_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_mova_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8243   { SH4A_NOFPU_INSN_MOVCAL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movcal_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movcal_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_OCB, 0, 6 } } },
8244   { SH4A_NOFPU_INSN_MOVCOL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movcol_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movcol_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8245   { SH4A_NOFPU_INSN_MOVT_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movt_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movt_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8246   { SH4A_NOFPU_INSN_MOVUAL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movual_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movual_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8247   { SH4A_NOFPU_INSN_MOVUAL2_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_movual2_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_movual2_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
8248   { SH4A_NOFPU_INSN_MULL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_mull_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_mull_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MULL, 1, 2 } } },
8249   { SH4A_NOFPU_INSN_MULSW_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_mulsw_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_mulsw_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MULSW, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MULTIPLY, 1, 2 } } },
8250   { SH4A_NOFPU_INSN_MULUW_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_muluw_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_muluw_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MULSW, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MULTIPLY, 1, 2 } } },
8251   { SH4A_NOFPU_INSN_NEG_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_neg_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_neg_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8252   { SH4A_NOFPU_INSN_NEGC_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_negc_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_negc_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8253   { SH4A_NOFPU_INSN_NOP_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_nop_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_nop_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8254   { SH4A_NOFPU_INSN_NOT_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_not_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_not_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8255   { SH4A_NOFPU_INSN_OCBI_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ocbi_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ocbi_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_OCB, 0, 1 } } },
8256   { SH4A_NOFPU_INSN_OCBP_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ocbp_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ocbp_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_OCB, 0, 4 } } },
8257   { SH4A_NOFPU_INSN_OCBWB_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ocbwb_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ocbwb_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_OCB, 0, 4 } } },
8258   { SH4A_NOFPU_INSN_OR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_or_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_or_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8259   { SH4A_NOFPU_INSN_ORI_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_ori_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_ori_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8260   { SH4A_NOFPU_INSN_ORB_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_orb_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_orb_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOGIC_B, 0, 3 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8261   { SH4A_NOFPU_INSN_PREF_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_pref_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_pref_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8262   { SH4A_NOFPU_INSN_ROTCL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_rotcl_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_rotcl_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8263   { SH4A_NOFPU_INSN_ROTCR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_rotcr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_rotcr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8264   { SH4A_NOFPU_INSN_ROTL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_rotl_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_rotl_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8265   { SH4A_NOFPU_INSN_ROTR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_rotr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_rotr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8266   { SH4A_NOFPU_INSN_RTS_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_rts_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_rts_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_JMP, 0, 2 } } },
8267   { SH4A_NOFPU_INSN_SETS_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_sets_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_sets_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8268   { SH4A_NOFPU_INSN_SETT_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_sett_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_sett_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8269   { SH4A_NOFPU_INSN_SHAD_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shad_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shad_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8270   { SH4A_NOFPU_INSN_SHAL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shal_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shal_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8271   { SH4A_NOFPU_INSN_SHAR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shar_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shar_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8272   { SH4A_NOFPU_INSN_SHLD_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shld_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shld_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8273   { SH4A_NOFPU_INSN_SHLL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shll_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shll_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8274   { SH4A_NOFPU_INSN_SHLL2_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shll2_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shll2_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8275   { SH4A_NOFPU_INSN_SHLL8_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shll8_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shll8_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8276   { SH4A_NOFPU_INSN_SHLL16_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shll16_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shll16_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8277   { SH4A_NOFPU_INSN_SHLR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shlr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shlr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8278   { SH4A_NOFPU_INSN_SHLR2_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shlr2_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shlr2_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8279   { SH4A_NOFPU_INSN_SHLR8_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shlr8_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shlr8_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8280   { SH4A_NOFPU_INSN_SHLR16_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_shlr16_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_shlr16_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8281   { SH4A_NOFPU_INSN_STC_GBR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_stc_gbr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_stc_gbr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8282   { SH4A_NOFPU_INSN_STC_VBR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_stc_vbr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_stc_vbr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_STC_VBR, 0, 1 } } },
8283   { SH4A_NOFPU_INSN_STCL_GBR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_stcl_gbr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_stcl_gbr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LDCL, 0, 2 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8284   { SH4A_NOFPU_INSN_STCL_VBR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_stcl_vbr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_stcl_vbr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LDCL, 0, 2 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8285   { SH4A_NOFPU_INSN_STS_MACH_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_sts_mach_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_sts_mach_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8286   { SH4A_NOFPU_INSN_STSL_MACH_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_stsl_mach_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_stsl_mach_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8287   { SH4A_NOFPU_INSN_STS_MACL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_sts_macl_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_sts_macl_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8288   { SH4A_NOFPU_INSN_STSL_MACL_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_stsl_macl_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_stsl_macl_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8289   { SH4A_NOFPU_INSN_STS_PR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_sts_pr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_sts_pr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_PR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_STS_PR, 0, 1 } } },
8290   { SH4A_NOFPU_INSN_STSL_PR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_stsl_pr_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_stsl_pr_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_PR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_STS_PR, 0, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8291   { SH4A_NOFPU_INSN_SUB_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_sub_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_sub_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8292   { SH4A_NOFPU_INSN_SUBC_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_subc_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_subc_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8293   { SH4A_NOFPU_INSN_SUBV_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_subv_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_subv_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8294   { SH4A_NOFPU_INSN_SWAPB_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_swapb_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_swapb_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8295   { SH4A_NOFPU_INSN_SWAPW_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_swapw_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_swapw_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8296   { SH4A_NOFPU_INSN_TASB_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_tasb_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_tasb_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_TAS, 1, 4 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8297   { SH4A_NOFPU_INSN_TRAPA_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_trapa_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_trapa_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_TRAP, 0, 8 } } },
8298   { SH4A_NOFPU_INSN_TST_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_tst_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_tst_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8299   { SH4A_NOFPU_INSN_TSTI_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_tsti_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_tsti_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
8300   { SH4A_NOFPU_INSN_TSTB_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_tstb_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_tstb_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 3 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SX, 1, 3 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SET_SR_BIT, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8301   { SH4A_NOFPU_INSN_XOR_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_xor_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_xor_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8302   { SH4A_NOFPU_INSN_XORI_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_xori_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_xori_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 } } },
8303   { SH4A_NOFPU_INSN_XORB_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_xorb_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_xorb_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_LOGIC_B, 0, 3 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
8304   { SH4A_NOFPU_INSN_XTRCT_COMPACT, & sh4a_nofpu_sh4a_nofpu_model::model_xtrct_compact_before, & sh4a_nofpu_sh4a_nofpu_model::model_xtrct_compact_after, { { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_USE_GR, 0, 0 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_EXEC, 1, 1 }, { sh4a_nofpu_sh4a_nofpu_model::UNIT_U_SHIFT, 0, 0 } } },
8305 };
8306