OSDN Git Service

da318ea5d8da4466a9ce8a07dba14424fa75ea83
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / cgen-cpu / sh / sh2a-fpu-model.cxx
1 /* Simulator model support for sh2a_fpu.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright (C) 2000-2009 Red Hat, Inc.
6
7 This file is part of the Red Hat simulators.
8
9
10 */
11
12
13 #if HAVE_CONFIG_H
14 #include "config.h"
15 #endif
16 #include "sh2a_fpu.h"
17
18 using namespace sh2a_fpu; // 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 sh2a_fpu_sh2a_fpu_model::sh2a_fpu_sh2a_fpu_model (sh2a_fpu_cpu *cpu)
26   : cgen_model (cpu)
27 {
28 }
29
30 UINT
31 sh2a_fpu_sh2a_fpu_model::model_add_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
32 {
33 #define FLD(f) abuf->fields.sfmt_macl_compact.f
34   const sh2a_fpu_scache* abuf = sem;
35   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_add_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
56 {
57 #define FLD(f) abuf->fields.sfmt_macl_compact.f
58   const sh2a_fpu_scache* abuf = sem;
59   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_addi_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
86 {
87 #define FLD(f) abuf->fields.sfmt_addi_compact.f
88   const sh2a_fpu_scache* abuf = sem;
89   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_addi_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
105 {
106 #define FLD(f) abuf->fields.sfmt_addi_compact.f
107   const sh2a_fpu_scache* abuf = sem;
108   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_addc_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
128 {
129 #define FLD(f) abuf->fields.sfmt_macl_compact.f
130   const sh2a_fpu_scache* abuf = sem;
131   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_addc_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
158 {
159 #define FLD(f) abuf->fields.sfmt_macl_compact.f
160   const sh2a_fpu_scache* abuf = sem;
161   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_addv_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
198 {
199 #define FLD(f) abuf->fields.sfmt_macl_compact.f
200   const sh2a_fpu_scache* abuf = sem;
201   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_addv_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
228 {
229 #define FLD(f) abuf->fields.sfmt_macl_compact.f
230   const sh2a_fpu_scache* abuf = sem;
231   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_and_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
268 {
269 #define FLD(f) abuf->fields.sfmt_and_compact.f
270   const sh2a_fpu_scache* abuf = sem;
271   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_and_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
292 {
293 #define FLD(f) abuf->fields.sfmt_and_compact.f
294   const sh2a_fpu_scache* abuf = sem;
295   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_andi_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
322 {
323 #define FLD(f) abuf->fields.sfmt_andi_compact.f
324   const sh2a_fpu_scache* abuf = sem;
325   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_andi_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
341 {
342 #define FLD(f) abuf->fields.sfmt_andi_compact.f
343   const sh2a_fpu_scache* abuf = sem;
344   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_andb_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
364 {
365 #define FLD(f) abuf->fields.sfmt_andi_compact.f
366   const sh2a_fpu_scache* abuf = sem;
367   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_andb_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
386 {
387 #define FLD(f) abuf->fields.sfmt_andi_compact.f
388   const sh2a_fpu_scache* abuf = sem;
389   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bf_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
414 {
415 #define FLD(f) abuf->fields.sfmt_bf_compact.f
416   const sh2a_fpu_scache* abuf = sem;
417   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bf_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
431 {
432 #define FLD(f) abuf->fields.sfmt_bf_compact.f
433   const sh2a_fpu_scache* abuf = sem;
434   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bfs_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
453 {
454 #define FLD(f) abuf->fields.sfmt_bf_compact.f
455   const sh2a_fpu_scache* abuf = sem;
456   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bfs_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
470 {
471 #define FLD(f) abuf->fields.sfmt_bf_compact.f
472   const sh2a_fpu_scache* abuf = sem;
473   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bra_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
492 {
493 #define FLD(f) abuf->fields.sfmt_bra_compact.f
494   const sh2a_fpu_scache* abuf = sem;
495   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bra_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
506 {
507 #define FLD(f) abuf->fields.sfmt_bra_compact.f
508   const sh2a_fpu_scache* abuf = sem;
509   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_braf_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
523 {
524 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
525   const sh2a_fpu_scache* abuf = sem;
526   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_braf_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
542 {
543 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
544   const sh2a_fpu_scache* abuf = sem;
545   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bsr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
566 {
567 #define FLD(f) abuf->fields.sfmt_bra_compact.f
568   const sh2a_fpu_scache* abuf = sem;
569   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bsr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
580 {
581 #define FLD(f) abuf->fields.sfmt_bra_compact.f
582   const sh2a_fpu_scache* abuf = sem;
583   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bsrf_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
597 {
598 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
599   const sh2a_fpu_scache* abuf = sem;
600   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bsrf_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
616 {
617 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
618   const sh2a_fpu_scache* abuf = sem;
619   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bt_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
640 {
641 #define FLD(f) abuf->fields.sfmt_bf_compact.f
642   const sh2a_fpu_scache* abuf = sem;
643   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bt_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
657 {
658 #define FLD(f) abuf->fields.sfmt_bf_compact.f
659   const sh2a_fpu_scache* abuf = sem;
660   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bts_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
679 {
680 #define FLD(f) abuf->fields.sfmt_bf_compact.f
681   const sh2a_fpu_scache* abuf = sem;
682   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_bts_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
696 {
697 #define FLD(f) abuf->fields.sfmt_bf_compact.f
698   const sh2a_fpu_scache* abuf = sem;
699   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_clrmac_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
718 {
719 #define FLD(f) abuf->fields.fmt_empty.f
720   const sh2a_fpu_scache* abuf = sem;
721   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_clrmac_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
738 {
739 #define FLD(f) abuf->fields.fmt_empty.f
740   const sh2a_fpu_scache* abuf = sem;
741   const sh2a_fpu_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 sh2a_fpu_sh2a_fpu_model::model_clrt_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
764 {
765 #define FLD(f) abuf->fields.fmt_empty.f
766   const sh2a_fpu_scache* abuf = sem;
767   const sh2a_fpu_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_use_tbit_before (current_cpu, idesc, 1);
774   }
775   {
776     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 2);
777   }
778   return cycles;
779 #undef FLD
780 }
781
782 UINT
783 sh2a_fpu_sh2a_fpu_model::model_clrt_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
784 {
785 #define FLD(f) abuf->fields.fmt_empty.f
786   const sh2a_fpu_scache* abuf = sem;
787   const sh2a_fpu_idesc* idesc = abuf->idesc;
788   int cycles = 0;
789   {
790     int referenced = 0;
791     unsigned long long insn_referenced = abuf->written;
792     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
793   }
794   {
795     int referenced = 0;
796     unsigned long long insn_referenced = abuf->written;
797     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
798   }
799   {
800     int referenced = 0;
801     unsigned long long insn_referenced = abuf->written;
802     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 2, referenced);
803   }
804   return cycles;
805 #undef FLD
806 }
807
808 UINT
809 sh2a_fpu_sh2a_fpu_model::model_cmpeq_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
810 {
811 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
812   const sh2a_fpu_scache* abuf = sem;
813   const sh2a_fpu_idesc* idesc = abuf->idesc;
814   int cycles = 0;
815   {
816     INT in_usereg = -1;
817     in_usereg = FLD (in_rn);
818     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
819   }
820   {
821     INT in_usereg = -1;
822     in_usereg = FLD (in_rm);
823     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
824   }
825   {
826     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
827   }
828   {
829     cycles += model_u_exec_before (current_cpu, idesc, 3);
830   }
831   {
832     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
833   }
834   return cycles;
835 #undef FLD
836 }
837
838 UINT
839 sh2a_fpu_sh2a_fpu_model::model_cmpeq_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
840 {
841 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
842   const sh2a_fpu_scache* abuf = sem;
843   const sh2a_fpu_idesc* idesc = abuf->idesc;
844   int cycles = 0;
845   {
846     int referenced = 0;
847     unsigned long long insn_referenced = abuf->written;
848     INT in_usereg = -1;
849     in_usereg = FLD (in_rn);
850     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
851   }
852   {
853     int referenced = 0;
854     unsigned long long insn_referenced = abuf->written;
855     INT in_usereg = -1;
856     in_usereg = FLD (in_rm);
857     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
858   }
859   {
860     int referenced = 0;
861     unsigned long long insn_referenced = abuf->written;
862     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
863   }
864   {
865     int referenced = 0;
866     unsigned long long insn_referenced = abuf->written;
867     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
868   }
869   {
870     int referenced = 0;
871     unsigned long long insn_referenced = abuf->written;
872     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
873   }
874   return cycles;
875 #undef FLD
876 }
877
878 UINT
879 sh2a_fpu_sh2a_fpu_model::model_cmpeqi_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
880 {
881 #define FLD(f) abuf->fields.sfmt_andi_compact.f
882   const sh2a_fpu_scache* abuf = sem;
883   const sh2a_fpu_idesc* idesc = abuf->idesc;
884   int cycles = 0;
885   {
886     INT in_usereg = -1;
887     in_usereg = FLD (in_r0);
888     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
889   }
890   {
891     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
892   }
893   {
894     cycles += model_u_exec_before (current_cpu, idesc, 2);
895   }
896   {
897     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
898   }
899   return cycles;
900 #undef FLD
901 }
902
903 UINT
904 sh2a_fpu_sh2a_fpu_model::model_cmpeqi_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
905 {
906 #define FLD(f) abuf->fields.sfmt_andi_compact.f
907   const sh2a_fpu_scache* abuf = sem;
908   const sh2a_fpu_idesc* idesc = abuf->idesc;
909   int cycles = 0;
910   {
911     int referenced = 0;
912     unsigned long long insn_referenced = abuf->written;
913     INT in_usereg = -1;
914     in_usereg = FLD (in_r0);
915     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
916   }
917   {
918     int referenced = 0;
919     unsigned long long insn_referenced = abuf->written;
920     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
921   }
922   {
923     int referenced = 0;
924     unsigned long long insn_referenced = abuf->written;
925     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
926   }
927   {
928     int referenced = 0;
929     unsigned long long insn_referenced = abuf->written;
930     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
931   }
932   return cycles;
933 #undef FLD
934 }
935
936 UINT
937 sh2a_fpu_sh2a_fpu_model::model_cmpge_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
938 {
939 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
940   const sh2a_fpu_scache* abuf = sem;
941   const sh2a_fpu_idesc* idesc = abuf->idesc;
942   int cycles = 0;
943   {
944     INT in_usereg = -1;
945     in_usereg = FLD (in_rn);
946     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
947   }
948   {
949     INT in_usereg = -1;
950     in_usereg = FLD (in_rm);
951     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
952   }
953   {
954     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
955   }
956   {
957     cycles += model_u_exec_before (current_cpu, idesc, 3);
958   }
959   {
960     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
961   }
962   return cycles;
963 #undef FLD
964 }
965
966 UINT
967 sh2a_fpu_sh2a_fpu_model::model_cmpge_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
968 {
969 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
970   const sh2a_fpu_scache* abuf = sem;
971   const sh2a_fpu_idesc* idesc = abuf->idesc;
972   int cycles = 0;
973   {
974     int referenced = 0;
975     unsigned long long insn_referenced = abuf->written;
976     INT in_usereg = -1;
977     in_usereg = FLD (in_rn);
978     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
979   }
980   {
981     int referenced = 0;
982     unsigned long long insn_referenced = abuf->written;
983     INT in_usereg = -1;
984     in_usereg = FLD (in_rm);
985     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
986   }
987   {
988     int referenced = 0;
989     unsigned long long insn_referenced = abuf->written;
990     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
991   }
992   {
993     int referenced = 0;
994     unsigned long long insn_referenced = abuf->written;
995     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
996   }
997   {
998     int referenced = 0;
999     unsigned long long insn_referenced = abuf->written;
1000     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1001   }
1002   return cycles;
1003 #undef FLD
1004 }
1005
1006 UINT
1007 sh2a_fpu_sh2a_fpu_model::model_cmpgt_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1008 {
1009 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1010   const sh2a_fpu_scache* abuf = sem;
1011   const sh2a_fpu_idesc* idesc = abuf->idesc;
1012   int cycles = 0;
1013   {
1014     INT in_usereg = -1;
1015     in_usereg = FLD (in_rn);
1016     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1017   }
1018   {
1019     INT in_usereg = -1;
1020     in_usereg = FLD (in_rm);
1021     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1022   }
1023   {
1024     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1025   }
1026   {
1027     cycles += model_u_exec_before (current_cpu, idesc, 3);
1028   }
1029   {
1030     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1031   }
1032   return cycles;
1033 #undef FLD
1034 }
1035
1036 UINT
1037 sh2a_fpu_sh2a_fpu_model::model_cmpgt_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1038 {
1039 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1040   const sh2a_fpu_scache* abuf = sem;
1041   const sh2a_fpu_idesc* idesc = abuf->idesc;
1042   int cycles = 0;
1043   {
1044     int referenced = 0;
1045     unsigned long long insn_referenced = abuf->written;
1046     INT in_usereg = -1;
1047     in_usereg = FLD (in_rn);
1048     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1049   }
1050   {
1051     int referenced = 0;
1052     unsigned long long insn_referenced = abuf->written;
1053     INT in_usereg = -1;
1054     in_usereg = FLD (in_rm);
1055     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1056   }
1057   {
1058     int referenced = 0;
1059     unsigned long long insn_referenced = abuf->written;
1060     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1061   }
1062   {
1063     int referenced = 0;
1064     unsigned long long insn_referenced = abuf->written;
1065     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1066   }
1067   {
1068     int referenced = 0;
1069     unsigned long long insn_referenced = abuf->written;
1070     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1071   }
1072   return cycles;
1073 #undef FLD
1074 }
1075
1076 UINT
1077 sh2a_fpu_sh2a_fpu_model::model_cmphi_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1078 {
1079 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1080   const sh2a_fpu_scache* abuf = sem;
1081   const sh2a_fpu_idesc* idesc = abuf->idesc;
1082   int cycles = 0;
1083   {
1084     INT in_usereg = -1;
1085     in_usereg = FLD (in_rn);
1086     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1087   }
1088   {
1089     INT in_usereg = -1;
1090     in_usereg = FLD (in_rm);
1091     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1092   }
1093   {
1094     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1095   }
1096   {
1097     cycles += model_u_exec_before (current_cpu, idesc, 3);
1098   }
1099   {
1100     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1101   }
1102   return cycles;
1103 #undef FLD
1104 }
1105
1106 UINT
1107 sh2a_fpu_sh2a_fpu_model::model_cmphi_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1108 {
1109 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1110   const sh2a_fpu_scache* abuf = sem;
1111   const sh2a_fpu_idesc* idesc = abuf->idesc;
1112   int cycles = 0;
1113   {
1114     int referenced = 0;
1115     unsigned long long insn_referenced = abuf->written;
1116     INT in_usereg = -1;
1117     in_usereg = FLD (in_rn);
1118     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1119   }
1120   {
1121     int referenced = 0;
1122     unsigned long long insn_referenced = abuf->written;
1123     INT in_usereg = -1;
1124     in_usereg = FLD (in_rm);
1125     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1126   }
1127   {
1128     int referenced = 0;
1129     unsigned long long insn_referenced = abuf->written;
1130     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1131   }
1132   {
1133     int referenced = 0;
1134     unsigned long long insn_referenced = abuf->written;
1135     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1136   }
1137   {
1138     int referenced = 0;
1139     unsigned long long insn_referenced = abuf->written;
1140     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1141   }
1142   return cycles;
1143 #undef FLD
1144 }
1145
1146 UINT
1147 sh2a_fpu_sh2a_fpu_model::model_cmphs_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1148 {
1149 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1150   const sh2a_fpu_scache* abuf = sem;
1151   const sh2a_fpu_idesc* idesc = abuf->idesc;
1152   int cycles = 0;
1153   {
1154     INT in_usereg = -1;
1155     in_usereg = FLD (in_rn);
1156     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1157   }
1158   {
1159     INT in_usereg = -1;
1160     in_usereg = FLD (in_rm);
1161     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1162   }
1163   {
1164     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1165   }
1166   {
1167     cycles += model_u_exec_before (current_cpu, idesc, 3);
1168   }
1169   {
1170     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1171   }
1172   return cycles;
1173 #undef FLD
1174 }
1175
1176 UINT
1177 sh2a_fpu_sh2a_fpu_model::model_cmphs_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1178 {
1179 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1180   const sh2a_fpu_scache* abuf = sem;
1181   const sh2a_fpu_idesc* idesc = abuf->idesc;
1182   int cycles = 0;
1183   {
1184     int referenced = 0;
1185     unsigned long long insn_referenced = abuf->written;
1186     INT in_usereg = -1;
1187     in_usereg = FLD (in_rn);
1188     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1189   }
1190   {
1191     int referenced = 0;
1192     unsigned long long insn_referenced = abuf->written;
1193     INT in_usereg = -1;
1194     in_usereg = FLD (in_rm);
1195     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1196   }
1197   {
1198     int referenced = 0;
1199     unsigned long long insn_referenced = abuf->written;
1200     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1201   }
1202   {
1203     int referenced = 0;
1204     unsigned long long insn_referenced = abuf->written;
1205     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1206   }
1207   {
1208     int referenced = 0;
1209     unsigned long long insn_referenced = abuf->written;
1210     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1211   }
1212   return cycles;
1213 #undef FLD
1214 }
1215
1216 UINT
1217 sh2a_fpu_sh2a_fpu_model::model_cmppl_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1218 {
1219 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
1220   const sh2a_fpu_scache* abuf = sem;
1221   const sh2a_fpu_idesc* idesc = abuf->idesc;
1222   int cycles = 0;
1223   {
1224     INT in_usereg = -1;
1225     in_usereg = FLD (in_rn);
1226     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1227   }
1228   {
1229     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
1230   }
1231   {
1232     cycles += model_u_exec_before (current_cpu, idesc, 2);
1233   }
1234   {
1235     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
1236   }
1237   return cycles;
1238 #undef FLD
1239 }
1240
1241 UINT
1242 sh2a_fpu_sh2a_fpu_model::model_cmppl_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1243 {
1244 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
1245   const sh2a_fpu_scache* abuf = sem;
1246   const sh2a_fpu_idesc* idesc = abuf->idesc;
1247   int cycles = 0;
1248   {
1249     int referenced = 0;
1250     unsigned long long insn_referenced = abuf->written;
1251     INT in_usereg = -1;
1252     in_usereg = FLD (in_rn);
1253     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1254   }
1255   {
1256     int referenced = 0;
1257     unsigned long long insn_referenced = abuf->written;
1258     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
1259   }
1260   {
1261     int referenced = 0;
1262     unsigned long long insn_referenced = abuf->written;
1263     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
1264   }
1265   {
1266     int referenced = 0;
1267     unsigned long long insn_referenced = abuf->written;
1268     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
1269   }
1270   return cycles;
1271 #undef FLD
1272 }
1273
1274 UINT
1275 sh2a_fpu_sh2a_fpu_model::model_cmppz_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1276 {
1277 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
1278   const sh2a_fpu_scache* abuf = sem;
1279   const sh2a_fpu_idesc* idesc = abuf->idesc;
1280   int cycles = 0;
1281   {
1282     INT in_usereg = -1;
1283     in_usereg = FLD (in_rn);
1284     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1285   }
1286   {
1287     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
1288   }
1289   {
1290     cycles += model_u_exec_before (current_cpu, idesc, 2);
1291   }
1292   {
1293     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
1294   }
1295   return cycles;
1296 #undef FLD
1297 }
1298
1299 UINT
1300 sh2a_fpu_sh2a_fpu_model::model_cmppz_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1301 {
1302 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
1303   const sh2a_fpu_scache* abuf = sem;
1304   const sh2a_fpu_idesc* idesc = abuf->idesc;
1305   int cycles = 0;
1306   {
1307     int referenced = 0;
1308     unsigned long long insn_referenced = abuf->written;
1309     INT in_usereg = -1;
1310     in_usereg = FLD (in_rn);
1311     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1312   }
1313   {
1314     int referenced = 0;
1315     unsigned long long insn_referenced = abuf->written;
1316     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
1317   }
1318   {
1319     int referenced = 0;
1320     unsigned long long insn_referenced = abuf->written;
1321     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
1322   }
1323   {
1324     int referenced = 0;
1325     unsigned long long insn_referenced = abuf->written;
1326     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
1327   }
1328   return cycles;
1329 #undef FLD
1330 }
1331
1332 UINT
1333 sh2a_fpu_sh2a_fpu_model::model_cmpstr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1334 {
1335 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1336   const sh2a_fpu_scache* abuf = sem;
1337   const sh2a_fpu_idesc* idesc = abuf->idesc;
1338   int cycles = 0;
1339   {
1340     INT in_usereg = -1;
1341     in_usereg = FLD (in_rn);
1342     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1343   }
1344   {
1345     INT in_usereg = -1;
1346     in_usereg = FLD (in_rm);
1347     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1348   }
1349   {
1350     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1351   }
1352   {
1353     cycles += model_u_exec_before (current_cpu, idesc, 3);
1354   }
1355   {
1356     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1357   }
1358   return cycles;
1359 #undef FLD
1360 }
1361
1362 UINT
1363 sh2a_fpu_sh2a_fpu_model::model_cmpstr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1364 {
1365 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1366   const sh2a_fpu_scache* abuf = sem;
1367   const sh2a_fpu_idesc* idesc = abuf->idesc;
1368   int cycles = 0;
1369   {
1370     int referenced = 0;
1371     unsigned long long insn_referenced = abuf->written;
1372     INT in_usereg = -1;
1373     in_usereg = FLD (in_rn);
1374     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1375   }
1376   {
1377     int referenced = 0;
1378     unsigned long long insn_referenced = abuf->written;
1379     INT in_usereg = -1;
1380     in_usereg = FLD (in_rm);
1381     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1382   }
1383   {
1384     int referenced = 0;
1385     unsigned long long insn_referenced = abuf->written;
1386     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1387   }
1388   {
1389     int referenced = 0;
1390     unsigned long long insn_referenced = abuf->written;
1391     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1392   }
1393   {
1394     int referenced = 0;
1395     unsigned long long insn_referenced = abuf->written;
1396     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1397   }
1398   return cycles;
1399 #undef FLD
1400 }
1401
1402 UINT
1403 sh2a_fpu_sh2a_fpu_model::model_div0s_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1404 {
1405 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1406   const sh2a_fpu_scache* abuf = sem;
1407   const sh2a_fpu_idesc* idesc = abuf->idesc;
1408   int cycles = 0;
1409   {
1410     INT in_usereg = -1;
1411     in_usereg = FLD (in_rn);
1412     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1413   }
1414   {
1415     INT in_usereg = -1;
1416     in_usereg = FLD (in_rm);
1417     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1418   }
1419   {
1420     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1421   }
1422   {
1423     cycles += model_u_exec_before (current_cpu, idesc, 3);
1424   }
1425   {
1426     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1427   }
1428   return cycles;
1429 #undef FLD
1430 }
1431
1432 UINT
1433 sh2a_fpu_sh2a_fpu_model::model_div0s_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1434 {
1435 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1436   const sh2a_fpu_scache* abuf = sem;
1437   const sh2a_fpu_idesc* idesc = abuf->idesc;
1438   int cycles = 0;
1439   {
1440     int referenced = 0;
1441     unsigned long long insn_referenced = abuf->written;
1442     INT in_usereg = -1;
1443     in_usereg = FLD (in_rn);
1444     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1445   }
1446   {
1447     int referenced = 0;
1448     unsigned long long insn_referenced = abuf->written;
1449     INT in_usereg = -1;
1450     in_usereg = FLD (in_rm);
1451     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1452   }
1453   {
1454     int referenced = 0;
1455     unsigned long long insn_referenced = abuf->written;
1456     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1457   }
1458   {
1459     int referenced = 0;
1460     unsigned long long insn_referenced = abuf->written;
1461     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1462   }
1463   {
1464     int referenced = 0;
1465     unsigned long long insn_referenced = abuf->written;
1466     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1467   }
1468   return cycles;
1469 #undef FLD
1470 }
1471
1472 UINT
1473 sh2a_fpu_sh2a_fpu_model::model_div0u_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1474 {
1475 #define FLD(f) abuf->fields.fmt_empty.f
1476   const sh2a_fpu_scache* abuf = sem;
1477   const sh2a_fpu_idesc* idesc = abuf->idesc;
1478   int cycles = 0;
1479   {
1480     cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
1481   }
1482   {
1483     cycles += model_u_exec_before (current_cpu, idesc, 1);
1484   }
1485   {
1486     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 2);
1487   }
1488   return cycles;
1489 #undef FLD
1490 }
1491
1492 UINT
1493 sh2a_fpu_sh2a_fpu_model::model_div0u_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1494 {
1495 #define FLD(f) abuf->fields.fmt_empty.f
1496   const sh2a_fpu_scache* abuf = sem;
1497   const sh2a_fpu_idesc* idesc = abuf->idesc;
1498   int cycles = 0;
1499   {
1500     int referenced = 0;
1501     unsigned long long insn_referenced = abuf->written;
1502     cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
1503   }
1504   {
1505     int referenced = 0;
1506     unsigned long long insn_referenced = abuf->written;
1507     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1508   }
1509   {
1510     int referenced = 0;
1511     unsigned long long insn_referenced = abuf->written;
1512     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 2, referenced);
1513   }
1514   return cycles;
1515 #undef FLD
1516 }
1517
1518 UINT
1519 sh2a_fpu_sh2a_fpu_model::model_div1_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1520 {
1521 #define FLD(f) abuf->fields.sfmt_macl_compact.f
1522   const sh2a_fpu_scache* abuf = sem;
1523   const sh2a_fpu_idesc* idesc = abuf->idesc;
1524   int cycles = 0;
1525   {
1526     INT in_usereg = -1;
1527     in_usereg = FLD (in_rn);
1528     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1529   }
1530   {
1531     INT in_usereg = -1;
1532     in_usereg = FLD (in_rm);
1533     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1534   }
1535   {
1536     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
1537   }
1538   {
1539     cycles += model_u_exec_before (current_cpu, idesc, 3);
1540   }
1541   {
1542     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
1543   }
1544   return cycles;
1545 #undef FLD
1546 }
1547
1548 UINT
1549 sh2a_fpu_sh2a_fpu_model::model_div1_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1550 {
1551 #define FLD(f) abuf->fields.sfmt_macl_compact.f
1552   const sh2a_fpu_scache* abuf = sem;
1553   const sh2a_fpu_idesc* idesc = abuf->idesc;
1554   int cycles = 0;
1555   {
1556     int referenced = 0;
1557     unsigned long long insn_referenced = abuf->written;
1558     INT in_usereg = -1;
1559     in_usereg = FLD (in_rn);
1560     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1561   }
1562   {
1563     int referenced = 0;
1564     unsigned long long insn_referenced = abuf->written;
1565     INT in_usereg = -1;
1566     in_usereg = FLD (in_rm);
1567     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1568   }
1569   {
1570     int referenced = 0;
1571     unsigned long long insn_referenced = abuf->written;
1572     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
1573   }
1574   {
1575     int referenced = 0;
1576     unsigned long long insn_referenced = abuf->written;
1577     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
1578   }
1579   {
1580     int referenced = 0;
1581     unsigned long long insn_referenced = abuf->written;
1582     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
1583   }
1584   return cycles;
1585 #undef FLD
1586 }
1587
1588 UINT
1589 sh2a_fpu_sh2a_fpu_model::model_divu_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1590 {
1591 #define FLD(f) abuf->fields.sfmt_divu_compact.f
1592   const sh2a_fpu_scache* abuf = sem;
1593   const sh2a_fpu_idesc* idesc = abuf->idesc;
1594   int cycles = 0;
1595   {
1596     INT in_usereg = -1;
1597     in_usereg = FLD (in_rn);
1598     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1599   }
1600   {
1601     INT in_usereg = -1;
1602     in_usereg = FLD (in_r0);
1603     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1604   }
1605   {
1606     cycles += model_u_exec_before (current_cpu, idesc, 2);
1607   }
1608   return cycles;
1609 #undef FLD
1610 }
1611
1612 UINT
1613 sh2a_fpu_sh2a_fpu_model::model_divu_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1614 {
1615 #define FLD(f) abuf->fields.sfmt_divu_compact.f
1616   const sh2a_fpu_scache* abuf = sem;
1617   const sh2a_fpu_idesc* idesc = abuf->idesc;
1618   int cycles = 0;
1619   {
1620     int referenced = 0;
1621     unsigned long long insn_referenced = abuf->written;
1622     INT in_usereg = -1;
1623     in_usereg = FLD (in_rn);
1624     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1625   }
1626   {
1627     int referenced = 0;
1628     unsigned long long insn_referenced = abuf->written;
1629     INT in_usereg = -1;
1630     in_usereg = FLD (in_r0);
1631     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1632   }
1633   {
1634     int referenced = 0;
1635     unsigned long long insn_referenced = abuf->written;
1636     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
1637   }
1638   return cycles;
1639 #undef FLD
1640 }
1641
1642 UINT
1643 sh2a_fpu_sh2a_fpu_model::model_mulr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1644 {
1645 #define FLD(f) abuf->fields.sfmt_divu_compact.f
1646   const sh2a_fpu_scache* abuf = sem;
1647   const sh2a_fpu_idesc* idesc = abuf->idesc;
1648   int cycles = 0;
1649   {
1650     INT in_usereg = -1;
1651     in_usereg = FLD (in_rn);
1652     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1653   }
1654   {
1655     INT in_usereg = -1;
1656     in_usereg = FLD (in_r0);
1657     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1658   }
1659   {
1660     cycles += model_u_mulr_before (current_cpu, idesc, 2);
1661   }
1662   {
1663     INT out_loadreg = -1;
1664     out_loadreg = FLD (out_rn);
1665     cycles += model_u_mulr_gr_before (current_cpu, idesc, 3, out_loadreg);
1666   }
1667   return cycles;
1668 #undef FLD
1669 }
1670
1671 UINT
1672 sh2a_fpu_sh2a_fpu_model::model_mulr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1673 {
1674 #define FLD(f) abuf->fields.sfmt_divu_compact.f
1675   const sh2a_fpu_scache* abuf = sem;
1676   const sh2a_fpu_idesc* idesc = abuf->idesc;
1677   int cycles = 0;
1678   {
1679     int referenced = 0;
1680     unsigned long long insn_referenced = abuf->written;
1681     INT in_usereg = -1;
1682     in_usereg = FLD (in_rn);
1683     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1684   }
1685   {
1686     int referenced = 0;
1687     unsigned long long insn_referenced = abuf->written;
1688     INT in_usereg = -1;
1689     in_usereg = FLD (in_r0);
1690     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1691   }
1692   {
1693     int referenced = 0;
1694     unsigned long long insn_referenced = abuf->written;
1695     cycles += model_u_mulr_after (current_cpu, idesc, 2, referenced);
1696   }
1697   {
1698     int referenced = 0;
1699     unsigned long long insn_referenced = abuf->written;
1700     INT out_loadreg = -1;
1701     out_loadreg = FLD (out_rn);
1702     cycles += model_u_mulr_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
1703   }
1704   return cycles;
1705 #undef FLD
1706 }
1707
1708 UINT
1709 sh2a_fpu_sh2a_fpu_model::model_dmulsl_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1710 {
1711 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1712   const sh2a_fpu_scache* abuf = sem;
1713   const sh2a_fpu_idesc* idesc = abuf->idesc;
1714   int cycles = 0;
1715   {
1716     INT in_usereg = -1;
1717     in_usereg = FLD (in_rn);
1718     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1719   }
1720   {
1721     INT in_usereg = -1;
1722     in_usereg = FLD (in_rm);
1723     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1724   }
1725   {
1726     cycles += model_u_dmul_before (current_cpu, idesc, 2);
1727   }
1728   return cycles;
1729 #undef FLD
1730 }
1731
1732 UINT
1733 sh2a_fpu_sh2a_fpu_model::model_dmulsl_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1734 {
1735 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1736   const sh2a_fpu_scache* abuf = sem;
1737   const sh2a_fpu_idesc* idesc = abuf->idesc;
1738   int cycles = 0;
1739   {
1740     int referenced = 0;
1741     unsigned long long insn_referenced = abuf->written;
1742     INT in_usereg = -1;
1743     in_usereg = FLD (in_rn);
1744     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1745   }
1746   {
1747     int referenced = 0;
1748     unsigned long long insn_referenced = abuf->written;
1749     INT in_usereg = -1;
1750     in_usereg = FLD (in_rm);
1751     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1752   }
1753   {
1754     int referenced = 0;
1755     unsigned long long insn_referenced = abuf->written;
1756     cycles += model_u_dmul_after (current_cpu, idesc, 2, referenced);
1757   }
1758   return cycles;
1759 #undef FLD
1760 }
1761
1762 UINT
1763 sh2a_fpu_sh2a_fpu_model::model_dmulul_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1764 {
1765 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1766   const sh2a_fpu_scache* abuf = sem;
1767   const sh2a_fpu_idesc* idesc = abuf->idesc;
1768   int cycles = 0;
1769   {
1770     INT in_usereg = -1;
1771     in_usereg = FLD (in_rn);
1772     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1773   }
1774   {
1775     INT in_usereg = -1;
1776     in_usereg = FLD (in_rm);
1777     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
1778   }
1779   {
1780     cycles += model_u_dmul_before (current_cpu, idesc, 2);
1781   }
1782   return cycles;
1783 #undef FLD
1784 }
1785
1786 UINT
1787 sh2a_fpu_sh2a_fpu_model::model_dmulul_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1788 {
1789 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
1790   const sh2a_fpu_scache* abuf = sem;
1791   const sh2a_fpu_idesc* idesc = abuf->idesc;
1792   int cycles = 0;
1793   {
1794     int referenced = 0;
1795     unsigned long long insn_referenced = abuf->written;
1796     INT in_usereg = -1;
1797     in_usereg = FLD (in_rn);
1798     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1799   }
1800   {
1801     int referenced = 0;
1802     unsigned long long insn_referenced = abuf->written;
1803     INT in_usereg = -1;
1804     in_usereg = FLD (in_rm);
1805     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
1806   }
1807   {
1808     int referenced = 0;
1809     unsigned long long insn_referenced = abuf->written;
1810     cycles += model_u_dmul_after (current_cpu, idesc, 2, referenced);
1811   }
1812   return cycles;
1813 #undef FLD
1814 }
1815
1816 UINT
1817 sh2a_fpu_sh2a_fpu_model::model_dt_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1818 {
1819 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
1820   const sh2a_fpu_scache* abuf = sem;
1821   const sh2a_fpu_idesc* idesc = abuf->idesc;
1822   int cycles = 0;
1823   {
1824     INT in_usereg = -1;
1825     in_usereg = FLD (in_rn);
1826     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1827   }
1828   {
1829     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
1830   }
1831   {
1832     cycles += model_u_exec_before (current_cpu, idesc, 2);
1833   }
1834   {
1835     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
1836   }
1837   return cycles;
1838 #undef FLD
1839 }
1840
1841 UINT
1842 sh2a_fpu_sh2a_fpu_model::model_dt_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1843 {
1844 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
1845   const sh2a_fpu_scache* abuf = sem;
1846   const sh2a_fpu_idesc* idesc = abuf->idesc;
1847   int cycles = 0;
1848   {
1849     int referenced = 0;
1850     unsigned long long insn_referenced = abuf->written;
1851     INT in_usereg = -1;
1852     in_usereg = FLD (in_rn);
1853     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1854   }
1855   {
1856     int referenced = 0;
1857     unsigned long long insn_referenced = abuf->written;
1858     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
1859   }
1860   {
1861     int referenced = 0;
1862     unsigned long long insn_referenced = abuf->written;
1863     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
1864   }
1865   {
1866     int referenced = 0;
1867     unsigned long long insn_referenced = abuf->written;
1868     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
1869   }
1870   return cycles;
1871 #undef FLD
1872 }
1873
1874 UINT
1875 sh2a_fpu_sh2a_fpu_model::model_extsb_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1876 {
1877 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
1878   const sh2a_fpu_scache* abuf = sem;
1879   const sh2a_fpu_idesc* idesc = abuf->idesc;
1880   int cycles = 0;
1881   {
1882     INT in_usereg = -1;
1883     in_usereg = FLD (in_rm);
1884     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1885   }
1886   {
1887     cycles += model_u_exec_before (current_cpu, idesc, 1);
1888   }
1889   {
1890     cycles += model_u_shift_before (current_cpu, idesc, 2);
1891   }
1892   return cycles;
1893 #undef FLD
1894 }
1895
1896 UINT
1897 sh2a_fpu_sh2a_fpu_model::model_extsb_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1898 {
1899 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
1900   const sh2a_fpu_scache* abuf = sem;
1901   const sh2a_fpu_idesc* idesc = abuf->idesc;
1902   int cycles = 0;
1903   {
1904     int referenced = 0;
1905     unsigned long long insn_referenced = abuf->written;
1906     INT in_usereg = -1;
1907     in_usereg = FLD (in_rm);
1908     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1909   }
1910   {
1911     int referenced = 0;
1912     unsigned long long insn_referenced = abuf->written;
1913     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1914   }
1915   {
1916     int referenced = 0;
1917     unsigned long long insn_referenced = abuf->written;
1918     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
1919   }
1920   return cycles;
1921 #undef FLD
1922 }
1923
1924 UINT
1925 sh2a_fpu_sh2a_fpu_model::model_extsw_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1926 {
1927 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
1928   const sh2a_fpu_scache* abuf = sem;
1929   const sh2a_fpu_idesc* idesc = abuf->idesc;
1930   int cycles = 0;
1931   {
1932     INT in_usereg = -1;
1933     in_usereg = FLD (in_rm);
1934     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1935   }
1936   {
1937     cycles += model_u_exec_before (current_cpu, idesc, 1);
1938   }
1939   {
1940     cycles += model_u_shift_before (current_cpu, idesc, 2);
1941   }
1942   return cycles;
1943 #undef FLD
1944 }
1945
1946 UINT
1947 sh2a_fpu_sh2a_fpu_model::model_extsw_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1948 {
1949 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
1950   const sh2a_fpu_scache* abuf = sem;
1951   const sh2a_fpu_idesc* idesc = abuf->idesc;
1952   int cycles = 0;
1953   {
1954     int referenced = 0;
1955     unsigned long long insn_referenced = abuf->written;
1956     INT in_usereg = -1;
1957     in_usereg = FLD (in_rm);
1958     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
1959   }
1960   {
1961     int referenced = 0;
1962     unsigned long long insn_referenced = abuf->written;
1963     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
1964   }
1965   {
1966     int referenced = 0;
1967     unsigned long long insn_referenced = abuf->written;
1968     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
1969   }
1970   return cycles;
1971 #undef FLD
1972 }
1973
1974 UINT
1975 sh2a_fpu_sh2a_fpu_model::model_extub_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1976 {
1977 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
1978   const sh2a_fpu_scache* abuf = sem;
1979   const sh2a_fpu_idesc* idesc = abuf->idesc;
1980   int cycles = 0;
1981   {
1982     INT in_usereg = -1;
1983     in_usereg = FLD (in_rm);
1984     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
1985   }
1986   {
1987     cycles += model_u_exec_before (current_cpu, idesc, 1);
1988   }
1989   {
1990     cycles += model_u_shift_before (current_cpu, idesc, 2);
1991   }
1992   return cycles;
1993 #undef FLD
1994 }
1995
1996 UINT
1997 sh2a_fpu_sh2a_fpu_model::model_extub_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
1998 {
1999 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
2000   const sh2a_fpu_scache* abuf = sem;
2001   const sh2a_fpu_idesc* idesc = abuf->idesc;
2002   int cycles = 0;
2003   {
2004     int referenced = 0;
2005     unsigned long long insn_referenced = abuf->written;
2006     INT in_usereg = -1;
2007     in_usereg = FLD (in_rm);
2008     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2009   }
2010   {
2011     int referenced = 0;
2012     unsigned long long insn_referenced = abuf->written;
2013     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2014   }
2015   {
2016     int referenced = 0;
2017     unsigned long long insn_referenced = abuf->written;
2018     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
2019   }
2020   return cycles;
2021 #undef FLD
2022 }
2023
2024 UINT
2025 sh2a_fpu_sh2a_fpu_model::model_extuw_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2026 {
2027 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
2028   const sh2a_fpu_scache* abuf = sem;
2029   const sh2a_fpu_idesc* idesc = abuf->idesc;
2030   int cycles = 0;
2031   {
2032     INT in_usereg = -1;
2033     in_usereg = FLD (in_rm);
2034     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2035   }
2036   {
2037     cycles += model_u_exec_before (current_cpu, idesc, 1);
2038   }
2039   {
2040     cycles += model_u_shift_before (current_cpu, idesc, 2);
2041   }
2042   return cycles;
2043 #undef FLD
2044 }
2045
2046 UINT
2047 sh2a_fpu_sh2a_fpu_model::model_extuw_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2048 {
2049 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
2050   const sh2a_fpu_scache* abuf = sem;
2051   const sh2a_fpu_idesc* idesc = abuf->idesc;
2052   int cycles = 0;
2053   {
2054     int referenced = 0;
2055     unsigned long long insn_referenced = abuf->written;
2056     INT in_usereg = -1;
2057     in_usereg = FLD (in_rm);
2058     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
2059   }
2060   {
2061     int referenced = 0;
2062     unsigned long long insn_referenced = abuf->written;
2063     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2064   }
2065   {
2066     int referenced = 0;
2067     unsigned long long insn_referenced = abuf->written;
2068     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
2069   }
2070   return cycles;
2071 #undef FLD
2072 }
2073
2074 UINT
2075 sh2a_fpu_sh2a_fpu_model::model_fabs_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2076 {
2077 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
2078   const sh2a_fpu_scache* abuf = sem;
2079   const sh2a_fpu_idesc* idesc = abuf->idesc;
2080   int cycles = 0;
2081   {
2082     INT in_usereg = -1;
2083     in_usereg = FLD (in_fsdn);
2084     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
2085   }
2086   {
2087     cycles += model_u_exec_before (current_cpu, idesc, 1);
2088   }
2089   {
2090     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 2);
2091   }
2092   {
2093     INT out_loadreg = -1;
2094     out_loadreg = FLD (out_fsdn);
2095     cycles += model_u_set_fr_0_before (current_cpu, idesc, 3, out_loadreg);
2096   }
2097   return cycles;
2098 #undef FLD
2099 }
2100
2101 UINT
2102 sh2a_fpu_sh2a_fpu_model::model_fabs_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2103 {
2104 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
2105   const sh2a_fpu_scache* abuf = sem;
2106   const sh2a_fpu_idesc* idesc = abuf->idesc;
2107   int cycles = 0;
2108   {
2109     int referenced = 0;
2110     unsigned long long insn_referenced = abuf->written;
2111     INT in_usereg = -1;
2112     in_usereg = FLD (in_fsdn);
2113     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
2114   }
2115   {
2116     int referenced = 0;
2117     unsigned long long insn_referenced = abuf->written;
2118     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2119   }
2120   {
2121     int referenced = 0;
2122     unsigned long long insn_referenced = abuf->written;
2123     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 2, referenced);
2124   }
2125   {
2126     int referenced = 0;
2127     unsigned long long insn_referenced = abuf->written;
2128     INT out_loadreg = -1;
2129     out_loadreg = FLD (out_fsdn);
2130     cycles += model_u_set_fr_0_after (current_cpu, idesc, 3, referenced, out_loadreg);
2131   }
2132   return cycles;
2133 #undef FLD
2134 }
2135
2136 UINT
2137 sh2a_fpu_sh2a_fpu_model::model_fadd_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2138 {
2139 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
2140   const sh2a_fpu_scache* abuf = sem;
2141   const sh2a_fpu_idesc* idesc = abuf->idesc;
2142   int cycles = 0;
2143   {
2144     INT in_usereg = -1;
2145     in_usereg = FLD (in_fsdm);
2146     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
2147   }
2148   {
2149     INT in_usereg = -1;
2150     in_usereg = FLD (in_fsdn);
2151     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
2152   }
2153   {
2154     cycles += model_u_exec_before (current_cpu, idesc, 2);
2155   }
2156   {
2157     cycles += model_u_fpu_before (current_cpu, idesc, 3);
2158   }
2159   {
2160     INT out_loadreg = -1;
2161     out_loadreg = FLD (out_fsdn);
2162     cycles += model_u_set_fr_before (current_cpu, idesc, 4, out_loadreg);
2163   }
2164   return cycles;
2165 #undef FLD
2166 }
2167
2168 UINT
2169 sh2a_fpu_sh2a_fpu_model::model_fadd_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2170 {
2171 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
2172   const sh2a_fpu_scache* abuf = sem;
2173   const sh2a_fpu_idesc* idesc = abuf->idesc;
2174   int cycles = 0;
2175   {
2176     int referenced = 0;
2177     unsigned long long insn_referenced = abuf->written;
2178     INT in_usereg = -1;
2179     in_usereg = FLD (in_fsdm);
2180     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
2181   }
2182   {
2183     int referenced = 0;
2184     unsigned long long insn_referenced = abuf->written;
2185     INT in_usereg = -1;
2186     in_usereg = FLD (in_fsdn);
2187     cycles += model_u_use_fr_after (current_cpu, idesc, 1, 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, 2, referenced);
2193   }
2194   {
2195     int referenced = 0;
2196     unsigned long long insn_referenced = abuf->written;
2197     cycles += model_u_fpu_after (current_cpu, idesc, 3, referenced);
2198   }
2199   {
2200     int referenced = 0;
2201     unsigned long long insn_referenced = abuf->written;
2202     INT out_loadreg = -1;
2203     out_loadreg = FLD (out_fsdn);
2204     cycles += model_u_set_fr_after (current_cpu, idesc, 4, referenced, out_loadreg);
2205   }
2206   return cycles;
2207 #undef FLD
2208 }
2209
2210 UINT
2211 sh2a_fpu_sh2a_fpu_model::model_fcmpeq_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2212 {
2213 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
2214   const sh2a_fpu_scache* abuf = sem;
2215   const sh2a_fpu_idesc* idesc = abuf->idesc;
2216   int cycles = 0;
2217   {
2218     INT in_usereg = -1;
2219     in_usereg = FLD (in_fsdm);
2220     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
2221   }
2222   {
2223     INT in_usereg = -1;
2224     in_usereg = FLD (in_fsdn);
2225     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
2226   }
2227   {
2228     cycles += model_u_exec_before (current_cpu, idesc, 2);
2229   }
2230   {
2231     cycles += model_u_fcmp_before (current_cpu, idesc, 3);
2232   }
2233   {
2234     cycles += model_u_fpu_before (current_cpu, idesc, 4);
2235   }
2236   return cycles;
2237 #undef FLD
2238 }
2239
2240 UINT
2241 sh2a_fpu_sh2a_fpu_model::model_fcmpeq_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2242 {
2243 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
2244   const sh2a_fpu_scache* abuf = sem;
2245   const sh2a_fpu_idesc* idesc = abuf->idesc;
2246   int cycles = 0;
2247   {
2248     int referenced = 0;
2249     unsigned long long insn_referenced = abuf->written;
2250     INT in_usereg = -1;
2251     in_usereg = FLD (in_fsdm);
2252     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
2253   }
2254   {
2255     int referenced = 0;
2256     unsigned long long insn_referenced = abuf->written;
2257     INT in_usereg = -1;
2258     in_usereg = FLD (in_fsdn);
2259     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
2260   }
2261   {
2262     int referenced = 0;
2263     unsigned long long insn_referenced = abuf->written;
2264     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2265   }
2266   {
2267     int referenced = 0;
2268     unsigned long long insn_referenced = abuf->written;
2269     cycles += model_u_fcmp_after (current_cpu, idesc, 3, referenced);
2270   }
2271   {
2272     int referenced = 0;
2273     unsigned long long insn_referenced = abuf->written;
2274     cycles += model_u_fpu_after (current_cpu, idesc, 4, referenced);
2275   }
2276   return cycles;
2277 #undef FLD
2278 }
2279
2280 UINT
2281 sh2a_fpu_sh2a_fpu_model::model_fcmpgt_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2282 {
2283 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
2284   const sh2a_fpu_scache* abuf = sem;
2285   const sh2a_fpu_idesc* idesc = abuf->idesc;
2286   int cycles = 0;
2287   {
2288     INT in_usereg = -1;
2289     in_usereg = FLD (in_fsdm);
2290     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
2291   }
2292   {
2293     INT in_usereg = -1;
2294     in_usereg = FLD (in_fsdn);
2295     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
2296   }
2297   {
2298     cycles += model_u_exec_before (current_cpu, idesc, 2);
2299   }
2300   {
2301     cycles += model_u_fcmp_before (current_cpu, idesc, 3);
2302   }
2303   {
2304     cycles += model_u_fpu_before (current_cpu, idesc, 4);
2305   }
2306   return cycles;
2307 #undef FLD
2308 }
2309
2310 UINT
2311 sh2a_fpu_sh2a_fpu_model::model_fcmpgt_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2312 {
2313 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
2314   const sh2a_fpu_scache* abuf = sem;
2315   const sh2a_fpu_idesc* idesc = abuf->idesc;
2316   int cycles = 0;
2317   {
2318     int referenced = 0;
2319     unsigned long long insn_referenced = abuf->written;
2320     INT in_usereg = -1;
2321     in_usereg = FLD (in_fsdm);
2322     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
2323   }
2324   {
2325     int referenced = 0;
2326     unsigned long long insn_referenced = abuf->written;
2327     INT in_usereg = -1;
2328     in_usereg = FLD (in_fsdn);
2329     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
2330   }
2331   {
2332     int referenced = 0;
2333     unsigned long long insn_referenced = abuf->written;
2334     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2335   }
2336   {
2337     int referenced = 0;
2338     unsigned long long insn_referenced = abuf->written;
2339     cycles += model_u_fcmp_after (current_cpu, idesc, 3, referenced);
2340   }
2341   {
2342     int referenced = 0;
2343     unsigned long long insn_referenced = abuf->written;
2344     cycles += model_u_fpu_after (current_cpu, idesc, 4, referenced);
2345   }
2346   return cycles;
2347 #undef FLD
2348 }
2349
2350 UINT
2351 sh2a_fpu_sh2a_fpu_model::model_fcnvds_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2352 {
2353 #define FLD(f) abuf->fields.sfmt_fcnvds_compact.f
2354   const sh2a_fpu_scache* abuf = sem;
2355   const sh2a_fpu_idesc* idesc = abuf->idesc;
2356   int cycles = 0;
2357   {
2358     INT in_usereg = -1;
2359     in_usereg = FLD (in_drn);
2360     cycles += model_u_use_dr_before (current_cpu, idesc, 0, in_usereg);
2361   }
2362   {
2363     cycles += model_u_exec_before (current_cpu, idesc, 1);
2364   }
2365   {
2366     cycles += model_u_fcnv_before (current_cpu, idesc, 2);
2367   }
2368   {
2369     cycles += model_u_set_fpul_before (current_cpu, idesc, 3);
2370   }
2371   return cycles;
2372 #undef FLD
2373 }
2374
2375 UINT
2376 sh2a_fpu_sh2a_fpu_model::model_fcnvds_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2377 {
2378 #define FLD(f) abuf->fields.sfmt_fcnvds_compact.f
2379   const sh2a_fpu_scache* abuf = sem;
2380   const sh2a_fpu_idesc* idesc = abuf->idesc;
2381   int cycles = 0;
2382   {
2383     int referenced = 0;
2384     unsigned long long insn_referenced = abuf->written;
2385     INT in_usereg = -1;
2386     in_usereg = FLD (in_drn);
2387     cycles += model_u_use_dr_after (current_cpu, idesc, 0, referenced, in_usereg);
2388   }
2389   {
2390     int referenced = 0;
2391     unsigned long long insn_referenced = abuf->written;
2392     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2393   }
2394   {
2395     int referenced = 0;
2396     unsigned long long insn_referenced = abuf->written;
2397     cycles += model_u_fcnv_after (current_cpu, idesc, 2, referenced);
2398   }
2399   {
2400     int referenced = 0;
2401     unsigned long long insn_referenced = abuf->written;
2402     cycles += model_u_set_fpul_after (current_cpu, idesc, 3, referenced);
2403   }
2404   return cycles;
2405 #undef FLD
2406 }
2407
2408 UINT
2409 sh2a_fpu_sh2a_fpu_model::model_fcnvsd_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2410 {
2411 #define FLD(f) abuf->fields.sfmt_fcnvsd_compact.f
2412   const sh2a_fpu_scache* abuf = sem;
2413   const sh2a_fpu_idesc* idesc = abuf->idesc;
2414   int cycles = 0;
2415   {
2416     cycles += model_u_use_fpul_before (current_cpu, idesc, 0);
2417   }
2418   {
2419     cycles += model_u_exec_before (current_cpu, idesc, 1);
2420   }
2421   {
2422     cycles += model_u_fcnv_before (current_cpu, idesc, 2);
2423   }
2424   {
2425     INT out_loadreg = -1;
2426     out_loadreg = FLD (out_drn);
2427     cycles += model_u_set_dr_before (current_cpu, idesc, 3, out_loadreg);
2428   }
2429   return cycles;
2430 #undef FLD
2431 }
2432
2433 UINT
2434 sh2a_fpu_sh2a_fpu_model::model_fcnvsd_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2435 {
2436 #define FLD(f) abuf->fields.sfmt_fcnvsd_compact.f
2437   const sh2a_fpu_scache* abuf = sem;
2438   const sh2a_fpu_idesc* idesc = abuf->idesc;
2439   int cycles = 0;
2440   {
2441     int referenced = 0;
2442     unsigned long long insn_referenced = abuf->written;
2443     cycles += model_u_use_fpul_after (current_cpu, idesc, 0, referenced);
2444   }
2445   {
2446     int referenced = 0;
2447     unsigned long long insn_referenced = abuf->written;
2448     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2449   }
2450   {
2451     int referenced = 0;
2452     unsigned long long insn_referenced = abuf->written;
2453     cycles += model_u_fcnv_after (current_cpu, idesc, 2, referenced);
2454   }
2455   {
2456     int referenced = 0;
2457     unsigned long long insn_referenced = abuf->written;
2458     INT out_loadreg = -1;
2459     out_loadreg = FLD (out_drn);
2460     cycles += model_u_set_dr_after (current_cpu, idesc, 3, referenced, out_loadreg);
2461   }
2462   return cycles;
2463 #undef FLD
2464 }
2465
2466 UINT
2467 sh2a_fpu_sh2a_fpu_model::model_fdiv_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2468 {
2469 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
2470   const sh2a_fpu_scache* abuf = sem;
2471   const sh2a_fpu_idesc* idesc = abuf->idesc;
2472   int cycles = 0;
2473   {
2474     INT in_usereg = -1;
2475     in_usereg = FLD (in_fsdm);
2476     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
2477   }
2478   {
2479     INT in_usereg = -1;
2480     in_usereg = FLD (in_fsdn);
2481     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
2482   }
2483   {
2484     cycles += model_u_exec_before (current_cpu, idesc, 2);
2485   }
2486   {
2487     INT out_loadreg = -1;
2488     out_loadreg = FLD (out_fsdn);
2489     cycles += model_u_fdiv_before (current_cpu, idesc, 3, out_loadreg);
2490   }
2491   return cycles;
2492 #undef FLD
2493 }
2494
2495 UINT
2496 sh2a_fpu_sh2a_fpu_model::model_fdiv_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2497 {
2498 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
2499   const sh2a_fpu_scache* abuf = sem;
2500   const sh2a_fpu_idesc* idesc = abuf->idesc;
2501   int cycles = 0;
2502   {
2503     int referenced = 0;
2504     unsigned long long insn_referenced = abuf->written;
2505     INT in_usereg = -1;
2506     in_usereg = FLD (in_fsdm);
2507     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
2508   }
2509   {
2510     int referenced = 0;
2511     unsigned long long insn_referenced = abuf->written;
2512     INT in_usereg = -1;
2513     in_usereg = FLD (in_fsdn);
2514     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
2515   }
2516   {
2517     int referenced = 0;
2518     unsigned long long insn_referenced = abuf->written;
2519     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
2520   }
2521   {
2522     int referenced = 0;
2523     unsigned long long insn_referenced = abuf->written;
2524     INT out_loadreg = -1;
2525     out_loadreg = FLD (out_fsdn);
2526     cycles += model_u_fdiv_after (current_cpu, idesc, 3, referenced, out_loadreg);
2527   }
2528   return cycles;
2529 #undef FLD
2530 }
2531
2532 UINT
2533 sh2a_fpu_sh2a_fpu_model::model_flds_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2534 {
2535 #define FLD(f) abuf->fields.sfmt_flds_compact.f
2536   const sh2a_fpu_scache* abuf = sem;
2537   const sh2a_fpu_idesc* idesc = abuf->idesc;
2538   int cycles = 0;
2539   {
2540     INT in_usereg = -1;
2541     in_usereg = FLD (in_frn);
2542     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
2543   }
2544   {
2545     cycles += model_u_exec_before (current_cpu, idesc, 1);
2546   }
2547   {
2548     cycles += model_u_flds_fpul_before (current_cpu, idesc, 2);
2549   }
2550   return cycles;
2551 #undef FLD
2552 }
2553
2554 UINT
2555 sh2a_fpu_sh2a_fpu_model::model_flds_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2556 {
2557 #define FLD(f) abuf->fields.sfmt_flds_compact.f
2558   const sh2a_fpu_scache* abuf = sem;
2559   const sh2a_fpu_idesc* idesc = abuf->idesc;
2560   int cycles = 0;
2561   {
2562     int referenced = 0;
2563     unsigned long long insn_referenced = abuf->written;
2564     INT in_usereg = -1;
2565     in_usereg = FLD (in_frn);
2566     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
2567   }
2568   {
2569     int referenced = 0;
2570     unsigned long long insn_referenced = abuf->written;
2571     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2572   }
2573   {
2574     int referenced = 0;
2575     unsigned long long insn_referenced = abuf->written;
2576     cycles += model_u_flds_fpul_after (current_cpu, idesc, 2, referenced);
2577   }
2578   return cycles;
2579 #undef FLD
2580 }
2581
2582 UINT
2583 sh2a_fpu_sh2a_fpu_model::model_fldi0_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2584 {
2585 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
2586   const sh2a_fpu_scache* abuf = sem;
2587   const sh2a_fpu_idesc* idesc = abuf->idesc;
2588   int cycles = 0;
2589   {
2590     cycles += model_u_exec_before (current_cpu, idesc, 0);
2591   }
2592   {
2593     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 1);
2594   }
2595   {
2596     INT out_loadreg = -1;
2597     out_loadreg = FLD (out_frn);
2598     cycles += model_u_set_fr_0_before (current_cpu, idesc, 2, out_loadreg);
2599   }
2600   return cycles;
2601 #undef FLD
2602 }
2603
2604 UINT
2605 sh2a_fpu_sh2a_fpu_model::model_fldi0_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2606 {
2607 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
2608   const sh2a_fpu_scache* abuf = sem;
2609   const sh2a_fpu_idesc* idesc = abuf->idesc;
2610   int cycles = 0;
2611   {
2612     int referenced = 0;
2613     unsigned long long insn_referenced = abuf->written;
2614     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2615   }
2616   {
2617     int referenced = 0;
2618     unsigned long long insn_referenced = abuf->written;
2619     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 1, referenced);
2620   }
2621   {
2622     int referenced = 0;
2623     unsigned long long insn_referenced = abuf->written;
2624     INT out_loadreg = -1;
2625     out_loadreg = FLD (out_frn);
2626     cycles += model_u_set_fr_0_after (current_cpu, idesc, 2, referenced, out_loadreg);
2627   }
2628   return cycles;
2629 #undef FLD
2630 }
2631
2632 UINT
2633 sh2a_fpu_sh2a_fpu_model::model_fldi1_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2634 {
2635 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
2636   const sh2a_fpu_scache* abuf = sem;
2637   const sh2a_fpu_idesc* idesc = abuf->idesc;
2638   int cycles = 0;
2639   {
2640     cycles += model_u_exec_before (current_cpu, idesc, 0);
2641   }
2642   {
2643     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 1);
2644   }
2645   {
2646     INT out_loadreg = -1;
2647     out_loadreg = FLD (out_frn);
2648     cycles += model_u_set_fr_0_before (current_cpu, idesc, 2, out_loadreg);
2649   }
2650   return cycles;
2651 #undef FLD
2652 }
2653
2654 UINT
2655 sh2a_fpu_sh2a_fpu_model::model_fldi1_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2656 {
2657 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
2658   const sh2a_fpu_scache* abuf = sem;
2659   const sh2a_fpu_idesc* idesc = abuf->idesc;
2660   int cycles = 0;
2661   {
2662     int referenced = 0;
2663     unsigned long long insn_referenced = abuf->written;
2664     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
2665   }
2666   {
2667     int referenced = 0;
2668     unsigned long long insn_referenced = abuf->written;
2669     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 1, referenced);
2670   }
2671   {
2672     int referenced = 0;
2673     unsigned long long insn_referenced = abuf->written;
2674     INT out_loadreg = -1;
2675     out_loadreg = FLD (out_frn);
2676     cycles += model_u_set_fr_0_after (current_cpu, idesc, 2, referenced, out_loadreg);
2677   }
2678   return cycles;
2679 #undef FLD
2680 }
2681
2682 UINT
2683 sh2a_fpu_sh2a_fpu_model::model_float_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2684 {
2685 #define FLD(f) abuf->fields.sfmt_float_compact.f
2686   const sh2a_fpu_scache* abuf = sem;
2687   const sh2a_fpu_idesc* idesc = abuf->idesc;
2688   int cycles = 0;
2689   {
2690     cycles += model_u_use_fpul_before (current_cpu, idesc, 0);
2691   }
2692   {
2693     cycles += model_u_exec_before (current_cpu, idesc, 1);
2694   }
2695   {
2696     cycles += model_u_fpu_before (current_cpu, idesc, 2);
2697   }
2698   {
2699     INT out_loadreg = -1;
2700     out_loadreg = FLD (out_fsdn);
2701     cycles += model_u_set_fr_before (current_cpu, idesc, 3, out_loadreg);
2702   }
2703   return cycles;
2704 #undef FLD
2705 }
2706
2707 UINT
2708 sh2a_fpu_sh2a_fpu_model::model_float_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2709 {
2710 #define FLD(f) abuf->fields.sfmt_float_compact.f
2711   const sh2a_fpu_scache* abuf = sem;
2712   const sh2a_fpu_idesc* idesc = abuf->idesc;
2713   int cycles = 0;
2714   {
2715     int referenced = 0;
2716     unsigned long long insn_referenced = abuf->written;
2717     cycles += model_u_use_fpul_after (current_cpu, idesc, 0, referenced);
2718   }
2719   {
2720     int referenced = 0;
2721     unsigned long long insn_referenced = abuf->written;
2722     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2723   }
2724   {
2725     int referenced = 0;
2726     unsigned long long insn_referenced = abuf->written;
2727     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
2728   }
2729   {
2730     int referenced = 0;
2731     unsigned long long insn_referenced = abuf->written;
2732     INT out_loadreg = -1;
2733     out_loadreg = FLD (out_fsdn);
2734     cycles += model_u_set_fr_after (current_cpu, idesc, 3, referenced, out_loadreg);
2735   }
2736   return cycles;
2737 #undef FLD
2738 }
2739
2740 UINT
2741 sh2a_fpu_sh2a_fpu_model::model_fmac_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2742 {
2743 #define FLD(f) abuf->fields.sfmt_fmac_compact.f
2744   const sh2a_fpu_scache* abuf = sem;
2745   const sh2a_fpu_idesc* idesc = abuf->idesc;
2746   int cycles = 0;
2747   {
2748     INT in_usereg = -1;
2749     in_usereg = FLD (in_frm);
2750     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
2751   }
2752   {
2753     INT in_usereg = -1;
2754     in_usereg = FLD (in_frn);
2755     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
2756   }
2757   {
2758     INT in_usereg = -1;
2759     in_usereg = FLD (in_fr0);
2760     cycles += model_u_use_fr_before (current_cpu, idesc, 2, in_usereg);
2761   }
2762   {
2763     cycles += model_u_exec_before (current_cpu, idesc, 3);
2764   }
2765   {
2766     cycles += model_u_fpu_before (current_cpu, idesc, 4);
2767   }
2768   {
2769     INT out_loadreg = -1;
2770     out_loadreg = FLD (out_frn);
2771     cycles += model_u_set_fr_before (current_cpu, idesc, 5, out_loadreg);
2772   }
2773   return cycles;
2774 #undef FLD
2775 }
2776
2777 UINT
2778 sh2a_fpu_sh2a_fpu_model::model_fmac_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2779 {
2780 #define FLD(f) abuf->fields.sfmt_fmac_compact.f
2781   const sh2a_fpu_scache* abuf = sem;
2782   const sh2a_fpu_idesc* idesc = abuf->idesc;
2783   int cycles = 0;
2784   {
2785     int referenced = 0;
2786     unsigned long long insn_referenced = abuf->written;
2787     INT in_usereg = -1;
2788     in_usereg = FLD (in_frm);
2789     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
2790   }
2791   {
2792     int referenced = 0;
2793     unsigned long long insn_referenced = abuf->written;
2794     INT in_usereg = -1;
2795     in_usereg = FLD (in_frn);
2796     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
2797   }
2798   {
2799     int referenced = 0;
2800     unsigned long long insn_referenced = abuf->written;
2801     INT in_usereg = -1;
2802     in_usereg = FLD (in_fr0);
2803     cycles += model_u_use_fr_after (current_cpu, idesc, 2, referenced, in_usereg);
2804   }
2805   {
2806     int referenced = 0;
2807     unsigned long long insn_referenced = abuf->written;
2808     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
2809   }
2810   {
2811     int referenced = 0;
2812     unsigned long long insn_referenced = abuf->written;
2813     cycles += model_u_fpu_after (current_cpu, idesc, 4, referenced);
2814   }
2815   {
2816     int referenced = 0;
2817     unsigned long long insn_referenced = abuf->written;
2818     INT out_loadreg = -1;
2819     out_loadreg = FLD (out_frn);
2820     cycles += model_u_set_fr_after (current_cpu, idesc, 5, referenced, out_loadreg);
2821   }
2822   return cycles;
2823 #undef FLD
2824 }
2825
2826 UINT
2827 sh2a_fpu_sh2a_fpu_model::model_fmov1_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2828 {
2829 #define FLD(f) abuf->fields.sfmt_fmov1_compact.f
2830   const sh2a_fpu_scache* abuf = sem;
2831   const sh2a_fpu_idesc* idesc = abuf->idesc;
2832   int cycles = 0;
2833   {
2834     INT in_usereg = -1;
2835     in_usereg = FLD (in_fmovm);
2836     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
2837   }
2838   {
2839     cycles += model_u_exec_before (current_cpu, idesc, 1);
2840   }
2841   {
2842     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 2);
2843   }
2844   {
2845     INT out_loadreg = -1;
2846     out_loadreg = FLD (out_fmovn);
2847     cycles += model_u_set_fr_0_before (current_cpu, idesc, 3, out_loadreg);
2848   }
2849   return cycles;
2850 #undef FLD
2851 }
2852
2853 UINT
2854 sh2a_fpu_sh2a_fpu_model::model_fmov1_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2855 {
2856 #define FLD(f) abuf->fields.sfmt_fmov1_compact.f
2857   const sh2a_fpu_scache* abuf = sem;
2858   const sh2a_fpu_idesc* idesc = abuf->idesc;
2859   int cycles = 0;
2860   {
2861     int referenced = 0;
2862     unsigned long long insn_referenced = abuf->written;
2863     INT in_usereg = -1;
2864     in_usereg = FLD (in_fmovm);
2865     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
2866   }
2867   {
2868     int referenced = 0;
2869     unsigned long long insn_referenced = abuf->written;
2870     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
2871   }
2872   {
2873     int referenced = 0;
2874     unsigned long long insn_referenced = abuf->written;
2875     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 2, referenced);
2876   }
2877   {
2878     int referenced = 0;
2879     unsigned long long insn_referenced = abuf->written;
2880     INT out_loadreg = -1;
2881     out_loadreg = FLD (out_fmovn);
2882     cycles += model_u_set_fr_0_after (current_cpu, idesc, 3, referenced, out_loadreg);
2883   }
2884   return cycles;
2885 #undef FLD
2886 }
2887
2888 UINT
2889 sh2a_fpu_sh2a_fpu_model::model_fmov2_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2890 {
2891 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
2892   const sh2a_fpu_scache* abuf = sem;
2893   const sh2a_fpu_idesc* idesc = abuf->idesc;
2894   int cycles = 0;
2895   {
2896     INT in_usereg = -1;
2897     in_usereg = FLD (in_rm);
2898     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2899   }
2900   {
2901     cycles += model_u_exec_before (current_cpu, idesc, 1);
2902   }
2903   {
2904     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 2);
2905   }
2906   {
2907     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 3);
2908   }
2909   {
2910     INT out_loadreg = -1;
2911     out_loadreg = FLD (out_fmovn);
2912     cycles += model_u_load_fr_before (current_cpu, idesc, 4, out_loadreg);
2913   }
2914   return cycles;
2915 #undef FLD
2916 }
2917
2918 UINT
2919 sh2a_fpu_sh2a_fpu_model::model_fmov2_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2920 {
2921 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
2922   const sh2a_fpu_scache* abuf = sem;
2923   const sh2a_fpu_idesc* idesc = abuf->idesc;
2924   int cycles = 0;
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, 0, 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, 1, referenced);
2936   }
2937   {
2938     int referenced = 0;
2939     unsigned long long insn_referenced = abuf->written;
2940     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 2, referenced);
2941   }
2942   {
2943     int referenced = 0;
2944     unsigned long long insn_referenced = abuf->written;
2945     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 3, referenced);
2946   }
2947   {
2948     int referenced = 0;
2949     unsigned long long insn_referenced = abuf->written;
2950     INT out_loadreg = -1;
2951     out_loadreg = FLD (out_fmovn);
2952     cycles += model_u_load_fr_after (current_cpu, idesc, 4, referenced, out_loadreg);
2953   }
2954   return cycles;
2955 #undef FLD
2956 }
2957
2958 UINT
2959 sh2a_fpu_sh2a_fpu_model::model_fmov3_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2960 {
2961 #define FLD(f) abuf->fields.sfmt_fmov3_compact.f
2962   const sh2a_fpu_scache* abuf = sem;
2963   const sh2a_fpu_idesc* idesc = abuf->idesc;
2964   int cycles = 0;
2965   {
2966     INT in_usereg = -1;
2967     in_usereg = FLD (in_rm);
2968     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
2969   }
2970   {
2971     cycles += model_u_exec_before (current_cpu, idesc, 1);
2972   }
2973   {
2974     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 2);
2975   }
2976   {
2977     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 3);
2978   }
2979   {
2980     INT out_loadreg = -1;
2981     out_loadreg = FLD (out_fmovn);
2982     cycles += model_u_load_fr_before (current_cpu, idesc, 4, out_loadreg);
2983   }
2984   return cycles;
2985 #undef FLD
2986 }
2987
2988 UINT
2989 sh2a_fpu_sh2a_fpu_model::model_fmov3_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
2990 {
2991 #define FLD(f) abuf->fields.sfmt_fmov3_compact.f
2992   const sh2a_fpu_scache* abuf = sem;
2993   const sh2a_fpu_idesc* idesc = abuf->idesc;
2994   int cycles = 0;
2995   {
2996     int referenced = 0;
2997     unsigned long long insn_referenced = abuf->written;
2998     INT in_usereg = -1;
2999     in_usereg = FLD (in_rm);
3000     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3001   }
3002   {
3003     int referenced = 0;
3004     unsigned long long insn_referenced = abuf->written;
3005     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3006   }
3007   {
3008     int referenced = 0;
3009     unsigned long long insn_referenced = abuf->written;
3010     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 2, referenced);
3011   }
3012   {
3013     int referenced = 0;
3014     unsigned long long insn_referenced = abuf->written;
3015     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 3, referenced);
3016   }
3017   {
3018     int referenced = 0;
3019     unsigned long long insn_referenced = abuf->written;
3020     INT out_loadreg = -1;
3021     out_loadreg = FLD (out_fmovn);
3022     cycles += model_u_load_fr_after (current_cpu, idesc, 4, referenced, out_loadreg);
3023   }
3024   return cycles;
3025 #undef FLD
3026 }
3027
3028 UINT
3029 sh2a_fpu_sh2a_fpu_model::model_fmov4_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3030 {
3031 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
3032   const sh2a_fpu_scache* abuf = sem;
3033   const sh2a_fpu_idesc* idesc = abuf->idesc;
3034   int cycles = 0;
3035   {
3036     INT in_usereg = -1;
3037     in_usereg = FLD (in_rm);
3038     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3039   }
3040   {
3041     INT in_usereg = -1;
3042     in_usereg = FLD (in_r0);
3043     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3044   }
3045   {
3046     cycles += model_u_exec_before (current_cpu, idesc, 2);
3047   }
3048   {
3049     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 3);
3050   }
3051   {
3052     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 4);
3053   }
3054   {
3055     INT out_loadreg = -1;
3056     out_loadreg = FLD (out_fmovn);
3057     cycles += model_u_load_fr_before (current_cpu, idesc, 5, out_loadreg);
3058   }
3059   return cycles;
3060 #undef FLD
3061 }
3062
3063 UINT
3064 sh2a_fpu_sh2a_fpu_model::model_fmov4_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3065 {
3066 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
3067   const sh2a_fpu_scache* abuf = sem;
3068   const sh2a_fpu_idesc* idesc = abuf->idesc;
3069   int cycles = 0;
3070   {
3071     int referenced = 0;
3072     unsigned long long insn_referenced = abuf->written;
3073     INT in_usereg = -1;
3074     in_usereg = FLD (in_rm);
3075     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3076   }
3077   {
3078     int referenced = 0;
3079     unsigned long long insn_referenced = abuf->written;
3080     INT in_usereg = -1;
3081     in_usereg = FLD (in_r0);
3082     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3083   }
3084   {
3085     int referenced = 0;
3086     unsigned long long insn_referenced = abuf->written;
3087     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3088   }
3089   {
3090     int referenced = 0;
3091     unsigned long long insn_referenced = abuf->written;
3092     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 3, referenced);
3093   }
3094   {
3095     int referenced = 0;
3096     unsigned long long insn_referenced = abuf->written;
3097     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 4, referenced);
3098   }
3099   {
3100     int referenced = 0;
3101     unsigned long long insn_referenced = abuf->written;
3102     INT out_loadreg = -1;
3103     out_loadreg = FLD (out_fmovn);
3104     cycles += model_u_load_fr_after (current_cpu, idesc, 5, referenced, out_loadreg);
3105   }
3106   return cycles;
3107 #undef FLD
3108 }
3109
3110 UINT
3111 sh2a_fpu_sh2a_fpu_model::model_fmov5_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3112 {
3113 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
3114   const sh2a_fpu_scache* abuf = sem;
3115   const sh2a_fpu_idesc* idesc = abuf->idesc;
3116   int cycles = 0;
3117   {
3118     INT in_usereg = -1;
3119     in_usereg = FLD (in_fmovm);
3120     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
3121   }
3122   {
3123     INT in_usereg = -1;
3124     in_usereg = FLD (in_rn);
3125     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3126   }
3127   {
3128     cycles += model_u_exec_before (current_cpu, idesc, 2);
3129   }
3130   {
3131     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 3);
3132   }
3133   {
3134     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 4);
3135   }
3136   return cycles;
3137 #undef FLD
3138 }
3139
3140 UINT
3141 sh2a_fpu_sh2a_fpu_model::model_fmov5_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3142 {
3143 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
3144   const sh2a_fpu_scache* abuf = sem;
3145   const sh2a_fpu_idesc* idesc = abuf->idesc;
3146   int cycles = 0;
3147   {
3148     int referenced = 0;
3149     unsigned long long insn_referenced = abuf->written;
3150     INT in_usereg = -1;
3151     in_usereg = FLD (in_fmovm);
3152     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
3153   }
3154   {
3155     int referenced = 0;
3156     unsigned long long insn_referenced = abuf->written;
3157     INT in_usereg = -1;
3158     in_usereg = FLD (in_rn);
3159     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3160   }
3161   {
3162     int referenced = 0;
3163     unsigned long long insn_referenced = abuf->written;
3164     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3165   }
3166   {
3167     int referenced = 0;
3168     unsigned long long insn_referenced = abuf->written;
3169     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 3, referenced);
3170   }
3171   {
3172     int referenced = 0;
3173     unsigned long long insn_referenced = abuf->written;
3174     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 4, referenced);
3175   }
3176   return cycles;
3177 #undef FLD
3178 }
3179
3180 UINT
3181 sh2a_fpu_sh2a_fpu_model::model_fmov6_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3182 {
3183 #define FLD(f) abuf->fields.sfmt_fmov6_compact.f
3184   const sh2a_fpu_scache* abuf = sem;
3185   const sh2a_fpu_idesc* idesc = abuf->idesc;
3186   int cycles = 0;
3187   {
3188     INT in_usereg = -1;
3189     in_usereg = FLD (in_fmovm);
3190     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
3191   }
3192   {
3193     INT in_usereg = -1;
3194     in_usereg = FLD (in_rn);
3195     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3196   }
3197   {
3198     cycles += model_u_exec_before (current_cpu, idesc, 2);
3199   }
3200   {
3201     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 3);
3202   }
3203   {
3204     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 4);
3205   }
3206   return cycles;
3207 #undef FLD
3208 }
3209
3210 UINT
3211 sh2a_fpu_sh2a_fpu_model::model_fmov6_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3212 {
3213 #define FLD(f) abuf->fields.sfmt_fmov6_compact.f
3214   const sh2a_fpu_scache* abuf = sem;
3215   const sh2a_fpu_idesc* idesc = abuf->idesc;
3216   int cycles = 0;
3217   {
3218     int referenced = 0;
3219     unsigned long long insn_referenced = abuf->written;
3220     INT in_usereg = -1;
3221     in_usereg = FLD (in_fmovm);
3222     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
3223   }
3224   {
3225     int referenced = 0;
3226     unsigned long long insn_referenced = abuf->written;
3227     INT in_usereg = -1;
3228     in_usereg = FLD (in_rn);
3229     cycles += model_u_use_gr_after (current_cpu, idesc, 1, 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, 2, referenced);
3235   }
3236   {
3237     int referenced = 0;
3238     unsigned long long insn_referenced = abuf->written;
3239     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 3, referenced);
3240   }
3241   {
3242     int referenced = 0;
3243     unsigned long long insn_referenced = abuf->written;
3244     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 4, referenced);
3245   }
3246   return cycles;
3247 #undef FLD
3248 }
3249
3250 UINT
3251 sh2a_fpu_sh2a_fpu_model::model_fmov7_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3252 {
3253 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
3254   const sh2a_fpu_scache* abuf = sem;
3255   const sh2a_fpu_idesc* idesc = abuf->idesc;
3256   int cycles = 0;
3257   {
3258     INT in_usereg = -1;
3259     in_usereg = FLD (in_fmovm);
3260     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
3261   }
3262   {
3263     INT in_usereg = -1;
3264     in_usereg = FLD (in_rn);
3265     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
3266   }
3267   {
3268     INT in_usereg = -1;
3269     in_usereg = FLD (in_r0);
3270     cycles += model_u_use_gr_before (current_cpu, idesc, 2, in_usereg);
3271   }
3272   {
3273     cycles += model_u_exec_before (current_cpu, idesc, 3);
3274   }
3275   {
3276     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 4);
3277   }
3278   {
3279     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 5);
3280   }
3281   return cycles;
3282 #undef FLD
3283 }
3284
3285 UINT
3286 sh2a_fpu_sh2a_fpu_model::model_fmov7_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3287 {
3288 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
3289   const sh2a_fpu_scache* abuf = sem;
3290   const sh2a_fpu_idesc* idesc = abuf->idesc;
3291   int cycles = 0;
3292   {
3293     int referenced = 0;
3294     unsigned long long insn_referenced = abuf->written;
3295     INT in_usereg = -1;
3296     in_usereg = FLD (in_fmovm);
3297     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
3298   }
3299   {
3300     int referenced = 0;
3301     unsigned long long insn_referenced = abuf->written;
3302     INT in_usereg = -1;
3303     in_usereg = FLD (in_rn);
3304     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
3305   }
3306   {
3307     int referenced = 0;
3308     unsigned long long insn_referenced = abuf->written;
3309     INT in_usereg = -1;
3310     in_usereg = FLD (in_r0);
3311     cycles += model_u_use_gr_after (current_cpu, idesc, 2, referenced, in_usereg);
3312   }
3313   {
3314     int referenced = 0;
3315     unsigned long long insn_referenced = abuf->written;
3316     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
3317   }
3318   {
3319     int referenced = 0;
3320     unsigned long long insn_referenced = abuf->written;
3321     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 4, referenced);
3322   }
3323   {
3324     int referenced = 0;
3325     unsigned long long insn_referenced = abuf->written;
3326     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 5, referenced);
3327   }
3328   return cycles;
3329 #undef FLD
3330 }
3331
3332 UINT
3333 sh2a_fpu_sh2a_fpu_model::model_fmov8_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3334 {
3335 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
3336   const sh2a_fpu_scache* abuf = sem;
3337   const sh2a_fpu_idesc* idesc = abuf->idesc;
3338   int cycles = 0;
3339   {
3340     INT in_usereg = -1;
3341     in_usereg = FLD (in_rm);
3342     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3343   }
3344   {
3345     cycles += model_u_exec_before (current_cpu, idesc, 1);
3346   }
3347   {
3348     cycles += model_u_fpu_before (current_cpu, idesc, 2);
3349   }
3350   {
3351     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 3);
3352   }
3353   {
3354     INT out_loadreg = -1;
3355     out_loadreg = FLD (out_drn);
3356     cycles += model_u_load_dr_before (current_cpu, idesc, 4, out_loadreg);
3357   }
3358   return cycles;
3359 #undef FLD
3360 }
3361
3362 UINT
3363 sh2a_fpu_sh2a_fpu_model::model_fmov8_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3364 {
3365 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
3366   const sh2a_fpu_scache* abuf = sem;
3367   const sh2a_fpu_idesc* idesc = abuf->idesc;
3368   int cycles = 0;
3369   {
3370     int referenced = 0;
3371     unsigned long long insn_referenced = abuf->written;
3372     INT in_usereg = -1;
3373     in_usereg = FLD (in_rm);
3374     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3375   }
3376   {
3377     int referenced = 0;
3378     unsigned long long insn_referenced = abuf->written;
3379     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3380   }
3381   {
3382     int referenced = 0;
3383     unsigned long long insn_referenced = abuf->written;
3384     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
3385   }
3386   {
3387     int referenced = 0;
3388     unsigned long long insn_referenced = abuf->written;
3389     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 3, referenced);
3390   }
3391   {
3392     int referenced = 0;
3393     unsigned long long insn_referenced = abuf->written;
3394     INT out_loadreg = -1;
3395     out_loadreg = FLD (out_drn);
3396     cycles += model_u_load_dr_after (current_cpu, idesc, 4, referenced, out_loadreg);
3397   }
3398   return cycles;
3399 #undef FLD
3400 }
3401
3402 UINT
3403 sh2a_fpu_sh2a_fpu_model::model_fmov9_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3404 {
3405 #define FLD(f) abuf->fields.sfmt_fmov9_compact.f
3406   const sh2a_fpu_scache* abuf = sem;
3407   const sh2a_fpu_idesc* idesc = abuf->idesc;
3408   int cycles = 0;
3409   {
3410     INT in_usereg = -1;
3411     in_usereg = FLD (in_drm);
3412     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
3413   }
3414   {
3415     cycles += model_u_exec_before (current_cpu, idesc, 1);
3416   }
3417   {
3418     cycles += model_u_fpu_before (current_cpu, idesc, 2);
3419   }
3420   {
3421     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 3);
3422   }
3423   return cycles;
3424 #undef FLD
3425 }
3426
3427 UINT
3428 sh2a_fpu_sh2a_fpu_model::model_fmov9_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3429 {
3430 #define FLD(f) abuf->fields.sfmt_fmov9_compact.f
3431   const sh2a_fpu_scache* abuf = sem;
3432   const sh2a_fpu_idesc* idesc = abuf->idesc;
3433   int cycles = 0;
3434   {
3435     int referenced = 0;
3436     unsigned long long insn_referenced = abuf->written;
3437     INT in_usereg = -1;
3438     in_usereg = FLD (in_drm);
3439     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
3440   }
3441   {
3442     int referenced = 0;
3443     unsigned long long insn_referenced = abuf->written;
3444     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3445   }
3446   {
3447     int referenced = 0;
3448     unsigned long long insn_referenced = abuf->written;
3449     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
3450   }
3451   {
3452     int referenced = 0;
3453     unsigned long long insn_referenced = abuf->written;
3454     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 3, referenced);
3455   }
3456   return cycles;
3457 #undef FLD
3458 }
3459
3460 UINT
3461 sh2a_fpu_sh2a_fpu_model::model_fmul_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3462 {
3463 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3464   const sh2a_fpu_scache* abuf = sem;
3465   const sh2a_fpu_idesc* idesc = abuf->idesc;
3466   int cycles = 0;
3467   {
3468     INT in_usereg = -1;
3469     in_usereg = FLD (in_fsdm);
3470     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
3471   }
3472   {
3473     INT in_usereg = -1;
3474     in_usereg = FLD (in_fsdn);
3475     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
3476   }
3477   {
3478     cycles += model_u_exec_before (current_cpu, idesc, 2);
3479   }
3480   {
3481     cycles += model_u_fpu_before (current_cpu, idesc, 3);
3482   }
3483   {
3484     INT out_loadreg = -1;
3485     out_loadreg = FLD (out_fsdn);
3486     cycles += model_u_set_fr_before (current_cpu, idesc, 4, out_loadreg);
3487   }
3488   return cycles;
3489 #undef FLD
3490 }
3491
3492 UINT
3493 sh2a_fpu_sh2a_fpu_model::model_fmul_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3494 {
3495 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3496   const sh2a_fpu_scache* abuf = sem;
3497   const sh2a_fpu_idesc* idesc = abuf->idesc;
3498   int cycles = 0;
3499   {
3500     int referenced = 0;
3501     unsigned long long insn_referenced = abuf->written;
3502     INT in_usereg = -1;
3503     in_usereg = FLD (in_fsdm);
3504     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
3505   }
3506   {
3507     int referenced = 0;
3508     unsigned long long insn_referenced = abuf->written;
3509     INT in_usereg = -1;
3510     in_usereg = FLD (in_fsdn);
3511     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
3512   }
3513   {
3514     int referenced = 0;
3515     unsigned long long insn_referenced = abuf->written;
3516     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3517   }
3518   {
3519     int referenced = 0;
3520     unsigned long long insn_referenced = abuf->written;
3521     cycles += model_u_fpu_after (current_cpu, idesc, 3, referenced);
3522   }
3523   {
3524     int referenced = 0;
3525     unsigned long long insn_referenced = abuf->written;
3526     INT out_loadreg = -1;
3527     out_loadreg = FLD (out_fsdn);
3528     cycles += model_u_set_fr_after (current_cpu, idesc, 4, referenced, out_loadreg);
3529   }
3530   return cycles;
3531 #undef FLD
3532 }
3533
3534 UINT
3535 sh2a_fpu_sh2a_fpu_model::model_fneg_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3536 {
3537 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3538   const sh2a_fpu_scache* abuf = sem;
3539   const sh2a_fpu_idesc* idesc = abuf->idesc;
3540   int cycles = 0;
3541   {
3542     INT in_usereg = -1;
3543     in_usereg = FLD (in_fsdn);
3544     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
3545   }
3546   {
3547     cycles += model_u_exec_before (current_cpu, idesc, 1);
3548   }
3549   {
3550     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 2);
3551   }
3552   {
3553     INT out_loadreg = -1;
3554     out_loadreg = FLD (out_fsdn);
3555     cycles += model_u_set_fr_0_before (current_cpu, idesc, 3, out_loadreg);
3556   }
3557   return cycles;
3558 #undef FLD
3559 }
3560
3561 UINT
3562 sh2a_fpu_sh2a_fpu_model::model_fneg_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3563 {
3564 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3565   const sh2a_fpu_scache* abuf = sem;
3566   const sh2a_fpu_idesc* idesc = abuf->idesc;
3567   int cycles = 0;
3568   {
3569     int referenced = 0;
3570     unsigned long long insn_referenced = abuf->written;
3571     INT in_usereg = -1;
3572     in_usereg = FLD (in_fsdn);
3573     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
3574   }
3575   {
3576     int referenced = 0;
3577     unsigned long long insn_referenced = abuf->written;
3578     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3579   }
3580   {
3581     int referenced = 0;
3582     unsigned long long insn_referenced = abuf->written;
3583     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 2, referenced);
3584   }
3585   {
3586     int referenced = 0;
3587     unsigned long long insn_referenced = abuf->written;
3588     INT out_loadreg = -1;
3589     out_loadreg = FLD (out_fsdn);
3590     cycles += model_u_set_fr_0_after (current_cpu, idesc, 3, referenced, out_loadreg);
3591   }
3592   return cycles;
3593 #undef FLD
3594 }
3595
3596 UINT
3597 sh2a_fpu_sh2a_fpu_model::model_frchg_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3598 {
3599 #define FLD(f) abuf->fields.fmt_empty.f
3600   const sh2a_fpu_scache* abuf = sem;
3601   const sh2a_fpu_idesc* idesc = abuf->idesc;
3602   int cycles = 0;
3603   {
3604     cycles += model_u_exec_before (current_cpu, idesc, 0);
3605   }
3606   return cycles;
3607 #undef FLD
3608 }
3609
3610 UINT
3611 sh2a_fpu_sh2a_fpu_model::model_frchg_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3612 {
3613 #define FLD(f) abuf->fields.fmt_empty.f
3614   const sh2a_fpu_scache* abuf = sem;
3615   const sh2a_fpu_idesc* idesc = abuf->idesc;
3616   int cycles = 0;
3617   {
3618     int referenced = 0;
3619     unsigned long long insn_referenced = abuf->written;
3620     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3621   }
3622   return cycles;
3623 #undef FLD
3624 }
3625
3626 UINT
3627 sh2a_fpu_sh2a_fpu_model::model_fschg_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3628 {
3629 #define FLD(f) abuf->fields.fmt_empty.f
3630   const sh2a_fpu_scache* abuf = sem;
3631   const sh2a_fpu_idesc* idesc = abuf->idesc;
3632   int cycles = 0;
3633   {
3634     cycles += model_u_exec_before (current_cpu, idesc, 0);
3635   }
3636   return cycles;
3637 #undef FLD
3638 }
3639
3640 UINT
3641 sh2a_fpu_sh2a_fpu_model::model_fschg_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3642 {
3643 #define FLD(f) abuf->fields.fmt_empty.f
3644   const sh2a_fpu_scache* abuf = sem;
3645   const sh2a_fpu_idesc* idesc = abuf->idesc;
3646   int cycles = 0;
3647   {
3648     int referenced = 0;
3649     unsigned long long insn_referenced = abuf->written;
3650     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
3651   }
3652   return cycles;
3653 #undef FLD
3654 }
3655
3656 UINT
3657 sh2a_fpu_sh2a_fpu_model::model_fsqrt_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3658 {
3659 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3660   const sh2a_fpu_scache* abuf = sem;
3661   const sh2a_fpu_idesc* idesc = abuf->idesc;
3662   int cycles = 0;
3663   {
3664     INT in_usereg = -1;
3665     in_usereg = FLD (in_fsdn);
3666     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
3667   }
3668   {
3669     cycles += model_u_exec_before (current_cpu, idesc, 1);
3670   }
3671   {
3672     INT out_loadreg = -1;
3673     out_loadreg = FLD (out_fsdn);
3674     cycles += model_u_fsqrt_before (current_cpu, idesc, 2, out_loadreg);
3675   }
3676   return cycles;
3677 #undef FLD
3678 }
3679
3680 UINT
3681 sh2a_fpu_sh2a_fpu_model::model_fsqrt_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3682 {
3683 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3684   const sh2a_fpu_scache* abuf = sem;
3685   const sh2a_fpu_idesc* idesc = abuf->idesc;
3686   int cycles = 0;
3687   {
3688     int referenced = 0;
3689     unsigned long long insn_referenced = abuf->written;
3690     INT in_usereg = -1;
3691     in_usereg = FLD (in_fsdn);
3692     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
3693   }
3694   {
3695     int referenced = 0;
3696     unsigned long long insn_referenced = abuf->written;
3697     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3698   }
3699   {
3700     int referenced = 0;
3701     unsigned long long insn_referenced = abuf->written;
3702     INT out_loadreg = -1;
3703     out_loadreg = FLD (out_fsdn);
3704     cycles += model_u_fsqrt_after (current_cpu, idesc, 2, referenced, out_loadreg);
3705   }
3706   return cycles;
3707 #undef FLD
3708 }
3709
3710 UINT
3711 sh2a_fpu_sh2a_fpu_model::model_fsts_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3712 {
3713 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
3714   const sh2a_fpu_scache* abuf = sem;
3715   const sh2a_fpu_idesc* idesc = abuf->idesc;
3716   int cycles = 0;
3717   {
3718     cycles += model_u_use_fpul_before (current_cpu, idesc, 0);
3719   }
3720   {
3721     cycles += model_u_exec_before (current_cpu, idesc, 1);
3722   }
3723   {
3724     cycles += model_u_fpu_before (current_cpu, idesc, 2);
3725   }
3726   {
3727     INT out_loadreg = -1;
3728     out_loadreg = FLD (out_frn);
3729     cycles += model_u_set_fr_0_before (current_cpu, idesc, 3, out_loadreg);
3730   }
3731   return cycles;
3732 #undef FLD
3733 }
3734
3735 UINT
3736 sh2a_fpu_sh2a_fpu_model::model_fsts_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3737 {
3738 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
3739   const sh2a_fpu_scache* abuf = sem;
3740   const sh2a_fpu_idesc* idesc = abuf->idesc;
3741   int cycles = 0;
3742   {
3743     int referenced = 0;
3744     unsigned long long insn_referenced = abuf->written;
3745     cycles += model_u_use_fpul_after (current_cpu, idesc, 0, referenced);
3746   }
3747   {
3748     int referenced = 0;
3749     unsigned long long insn_referenced = abuf->written;
3750     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3751   }
3752   {
3753     int referenced = 0;
3754     unsigned long long insn_referenced = abuf->written;
3755     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
3756   }
3757   {
3758     int referenced = 0;
3759     unsigned long long insn_referenced = abuf->written;
3760     INT out_loadreg = -1;
3761     out_loadreg = FLD (out_frn);
3762     cycles += model_u_set_fr_0_after (current_cpu, idesc, 3, referenced, out_loadreg);
3763   }
3764   return cycles;
3765 #undef FLD
3766 }
3767
3768 UINT
3769 sh2a_fpu_sh2a_fpu_model::model_fsub_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3770 {
3771 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3772   const sh2a_fpu_scache* abuf = sem;
3773   const sh2a_fpu_idesc* idesc = abuf->idesc;
3774   int cycles = 0;
3775   {
3776     INT in_usereg = -1;
3777     in_usereg = FLD (in_fsdm);
3778     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
3779   }
3780   {
3781     INT in_usereg = -1;
3782     in_usereg = FLD (in_fsdn);
3783     cycles += model_u_use_fr_before (current_cpu, idesc, 1, in_usereg);
3784   }
3785   {
3786     cycles += model_u_exec_before (current_cpu, idesc, 2);
3787   }
3788   {
3789     cycles += model_u_fpu_before (current_cpu, idesc, 3);
3790   }
3791   {
3792     INT out_loadreg = -1;
3793     out_loadreg = FLD (out_fsdn);
3794     cycles += model_u_set_fr_before (current_cpu, idesc, 4, out_loadreg);
3795   }
3796   return cycles;
3797 #undef FLD
3798 }
3799
3800 UINT
3801 sh2a_fpu_sh2a_fpu_model::model_fsub_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3802 {
3803 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3804   const sh2a_fpu_scache* abuf = sem;
3805   const sh2a_fpu_idesc* idesc = abuf->idesc;
3806   int cycles = 0;
3807   {
3808     int referenced = 0;
3809     unsigned long long insn_referenced = abuf->written;
3810     INT in_usereg = -1;
3811     in_usereg = FLD (in_fsdm);
3812     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
3813   }
3814   {
3815     int referenced = 0;
3816     unsigned long long insn_referenced = abuf->written;
3817     INT in_usereg = -1;
3818     in_usereg = FLD (in_fsdn);
3819     cycles += model_u_use_fr_after (current_cpu, idesc, 1, referenced, in_usereg);
3820   }
3821   {
3822     int referenced = 0;
3823     unsigned long long insn_referenced = abuf->written;
3824     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
3825   }
3826   {
3827     int referenced = 0;
3828     unsigned long long insn_referenced = abuf->written;
3829     cycles += model_u_fpu_after (current_cpu, idesc, 3, referenced);
3830   }
3831   {
3832     int referenced = 0;
3833     unsigned long long insn_referenced = abuf->written;
3834     INT out_loadreg = -1;
3835     out_loadreg = FLD (out_fsdn);
3836     cycles += model_u_set_fr_after (current_cpu, idesc, 4, referenced, out_loadreg);
3837   }
3838   return cycles;
3839 #undef FLD
3840 }
3841
3842 UINT
3843 sh2a_fpu_sh2a_fpu_model::model_ftrc_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3844 {
3845 #define FLD(f) abuf->fields.sfmt_ftrc_compact.f
3846   const sh2a_fpu_scache* abuf = sem;
3847   const sh2a_fpu_idesc* idesc = abuf->idesc;
3848   int cycles = 0;
3849   {
3850     INT in_usereg = -1;
3851     in_usereg = FLD (in_fsdn);
3852     cycles += model_u_use_fr_before (current_cpu, idesc, 0, in_usereg);
3853   }
3854   {
3855     cycles += model_u_exec_before (current_cpu, idesc, 1);
3856   }
3857   {
3858     cycles += model_u_fpu_before (current_cpu, idesc, 2);
3859   }
3860   {
3861     cycles += model_u_set_fpul_before (current_cpu, idesc, 3);
3862   }
3863   return cycles;
3864 #undef FLD
3865 }
3866
3867 UINT
3868 sh2a_fpu_sh2a_fpu_model::model_ftrc_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3869 {
3870 #define FLD(f) abuf->fields.sfmt_ftrc_compact.f
3871   const sh2a_fpu_scache* abuf = sem;
3872   const sh2a_fpu_idesc* idesc = abuf->idesc;
3873   int cycles = 0;
3874   {
3875     int referenced = 0;
3876     unsigned long long insn_referenced = abuf->written;
3877     INT in_usereg = -1;
3878     in_usereg = FLD (in_fsdn);
3879     cycles += model_u_use_fr_after (current_cpu, idesc, 0, referenced, in_usereg);
3880   }
3881   {
3882     int referenced = 0;
3883     unsigned long long insn_referenced = abuf->written;
3884     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
3885   }
3886   {
3887     int referenced = 0;
3888     unsigned long long insn_referenced = abuf->written;
3889     cycles += model_u_fpu_after (current_cpu, idesc, 2, referenced);
3890   }
3891   {
3892     int referenced = 0;
3893     unsigned long long insn_referenced = abuf->written;
3894     cycles += model_u_set_fpul_after (current_cpu, idesc, 3, referenced);
3895   }
3896   return cycles;
3897 #undef FLD
3898 }
3899
3900 UINT
3901 sh2a_fpu_sh2a_fpu_model::model_jmp_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3902 {
3903 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3904   const sh2a_fpu_scache* abuf = sem;
3905   const sh2a_fpu_idesc* idesc = abuf->idesc;
3906   int cycles = 0;
3907   {
3908     cycles += model_u_jmp_before (current_cpu, idesc, 0);
3909   }
3910   return cycles;
3911 #undef FLD
3912 }
3913
3914 UINT
3915 sh2a_fpu_sh2a_fpu_model::model_jmp_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3916 {
3917 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3918   const sh2a_fpu_scache* abuf = sem;
3919   const sh2a_fpu_idesc* idesc = abuf->idesc;
3920   int cycles = 0;
3921   {
3922     int referenced = 0;
3923     unsigned long long insn_referenced = abuf->written;
3924     referenced |= 1 << 0;
3925     cycles += model_u_jmp_after (current_cpu, idesc, 0, referenced);
3926   }
3927   return cycles;
3928 #undef FLD
3929 }
3930
3931 UINT
3932 sh2a_fpu_sh2a_fpu_model::model_jsr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3933 {
3934 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3935   const sh2a_fpu_scache* abuf = sem;
3936   const sh2a_fpu_idesc* idesc = abuf->idesc;
3937   int cycles = 0;
3938   {
3939     cycles += model_u_jsr_before (current_cpu, idesc, 0);
3940   }
3941   return cycles;
3942 #undef FLD
3943 }
3944
3945 UINT
3946 sh2a_fpu_sh2a_fpu_model::model_jsr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3947 {
3948 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3949   const sh2a_fpu_scache* abuf = sem;
3950   const sh2a_fpu_idesc* idesc = abuf->idesc;
3951   int cycles = 0;
3952   {
3953     int referenced = 0;
3954     unsigned long long insn_referenced = abuf->written;
3955     referenced |= 1 << 0;
3956     cycles += model_u_jsr_after (current_cpu, idesc, 0, referenced);
3957   }
3958   return cycles;
3959 #undef FLD
3960 }
3961
3962 UINT
3963 sh2a_fpu_sh2a_fpu_model::model_ldc_gbr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3964 {
3965 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3966   const sh2a_fpu_scache* abuf = sem;
3967   const sh2a_fpu_idesc* idesc = abuf->idesc;
3968   int cycles = 0;
3969   {
3970     INT in_usereg = -1;
3971     in_usereg = FLD (in_rn);
3972     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
3973   }
3974   {
3975     cycles += model_u_ldc_gbr_before (current_cpu, idesc, 1);
3976   }
3977   return cycles;
3978 #undef FLD
3979 }
3980
3981 UINT
3982 sh2a_fpu_sh2a_fpu_model::model_ldc_gbr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
3983 {
3984 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3985   const sh2a_fpu_scache* abuf = sem;
3986   const sh2a_fpu_idesc* idesc = abuf->idesc;
3987   int cycles = 0;
3988   {
3989     int referenced = 0;
3990     unsigned long long insn_referenced = abuf->written;
3991     INT in_usereg = -1;
3992     in_usereg = FLD (in_rn);
3993     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
3994   }
3995   {
3996     int referenced = 0;
3997     unsigned long long insn_referenced = abuf->written;
3998     cycles += model_u_ldc_gbr_after (current_cpu, idesc, 1, referenced);
3999   }
4000   return cycles;
4001 #undef FLD
4002 }
4003
4004 UINT
4005 sh2a_fpu_sh2a_fpu_model::model_ldc_vbr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4006 {
4007 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4008   const sh2a_fpu_scache* abuf = sem;
4009   const sh2a_fpu_idesc* idesc = abuf->idesc;
4010   int cycles = 0;
4011   {
4012     INT in_usereg = -1;
4013     in_usereg = FLD (in_rn);
4014     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4015   }
4016   {
4017     cycles += model_u_exec_before (current_cpu, idesc, 1);
4018   }
4019   return cycles;
4020 #undef FLD
4021 }
4022
4023 UINT
4024 sh2a_fpu_sh2a_fpu_model::model_ldc_vbr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4025 {
4026 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4027   const sh2a_fpu_scache* abuf = sem;
4028   const sh2a_fpu_idesc* idesc = abuf->idesc;
4029   int cycles = 0;
4030   {
4031     int referenced = 0;
4032     unsigned long long insn_referenced = abuf->written;
4033     INT in_usereg = -1;
4034     in_usereg = FLD (in_rn);
4035     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4036   }
4037   {
4038     int referenced = 0;
4039     unsigned long long insn_referenced = abuf->written;
4040     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4041   }
4042   return cycles;
4043 #undef FLD
4044 }
4045
4046 UINT
4047 sh2a_fpu_sh2a_fpu_model::model_ldc_sr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4048 {
4049 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4050   const sh2a_fpu_scache* abuf = sem;
4051   const sh2a_fpu_idesc* idesc = abuf->idesc;
4052   int cycles = 0;
4053   {
4054     INT in_usereg = -1;
4055     in_usereg = FLD (in_rn);
4056     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4057   }
4058   {
4059     cycles += model_u_ldc_sr_before (current_cpu, idesc, 1);
4060   }
4061   return cycles;
4062 #undef FLD
4063 }
4064
4065 UINT
4066 sh2a_fpu_sh2a_fpu_model::model_ldc_sr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4067 {
4068 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4069   const sh2a_fpu_scache* abuf = sem;
4070   const sh2a_fpu_idesc* idesc = abuf->idesc;
4071   int cycles = 0;
4072   {
4073     int referenced = 0;
4074     unsigned long long insn_referenced = abuf->written;
4075     INT in_usereg = -1;
4076     in_usereg = FLD (in_rn);
4077     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4078   }
4079   {
4080     int referenced = 0;
4081     unsigned long long insn_referenced = abuf->written;
4082     cycles += model_u_ldc_sr_after (current_cpu, idesc, 1, referenced);
4083   }
4084   return cycles;
4085 #undef FLD
4086 }
4087
4088 UINT
4089 sh2a_fpu_sh2a_fpu_model::model_ldcl_gbr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4090 {
4091 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4092   const sh2a_fpu_scache* abuf = sem;
4093   const sh2a_fpu_idesc* idesc = abuf->idesc;
4094   int cycles = 0;
4095   {
4096     INT in_usereg = -1;
4097     in_usereg = FLD (in_rn);
4098     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4099   }
4100   {
4101     cycles += model_u_ldcl_before (current_cpu, idesc, 1);
4102   }
4103   {
4104     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
4105   }
4106   {
4107     cycles += model_u_load_gbr_before (current_cpu, idesc, 3);
4108   }
4109   return cycles;
4110 #undef FLD
4111 }
4112
4113 UINT
4114 sh2a_fpu_sh2a_fpu_model::model_ldcl_gbr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4115 {
4116 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4117   const sh2a_fpu_scache* abuf = sem;
4118   const sh2a_fpu_idesc* idesc = abuf->idesc;
4119   int cycles = 0;
4120   {
4121     int referenced = 0;
4122     unsigned long long insn_referenced = abuf->written;
4123     INT in_usereg = -1;
4124     in_usereg = FLD (in_rn);
4125     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4126   }
4127   {
4128     int referenced = 0;
4129     unsigned long long insn_referenced = abuf->written;
4130     cycles += model_u_ldcl_after (current_cpu, idesc, 1, referenced);
4131   }
4132   {
4133     int referenced = 0;
4134     unsigned long long insn_referenced = abuf->written;
4135     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
4136   }
4137   {
4138     int referenced = 0;
4139     unsigned long long insn_referenced = abuf->written;
4140     cycles += model_u_load_gbr_after (current_cpu, idesc, 3, referenced);
4141   }
4142   return cycles;
4143 #undef FLD
4144 }
4145
4146 UINT
4147 sh2a_fpu_sh2a_fpu_model::model_ldcl_vbr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4148 {
4149 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4150   const sh2a_fpu_scache* abuf = sem;
4151   const sh2a_fpu_idesc* idesc = abuf->idesc;
4152   int cycles = 0;
4153   {
4154     INT in_usereg = -1;
4155     in_usereg = FLD (in_rn);
4156     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4157   }
4158   {
4159     cycles += model_u_ldcl_vbr_before (current_cpu, idesc, 1);
4160   }
4161   {
4162     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
4163   }
4164   {
4165     cycles += model_u_load_vbr_before (current_cpu, idesc, 3);
4166   }
4167   return cycles;
4168 #undef FLD
4169 }
4170
4171 UINT
4172 sh2a_fpu_sh2a_fpu_model::model_ldcl_vbr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4173 {
4174 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4175   const sh2a_fpu_scache* abuf = sem;
4176   const sh2a_fpu_idesc* idesc = abuf->idesc;
4177   int cycles = 0;
4178   {
4179     int referenced = 0;
4180     unsigned long long insn_referenced = abuf->written;
4181     INT in_usereg = -1;
4182     in_usereg = FLD (in_rn);
4183     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4184   }
4185   {
4186     int referenced = 0;
4187     unsigned long long insn_referenced = abuf->written;
4188     cycles += model_u_ldcl_vbr_after (current_cpu, idesc, 1, referenced);
4189   }
4190   {
4191     int referenced = 0;
4192     unsigned long long insn_referenced = abuf->written;
4193     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
4194   }
4195   {
4196     int referenced = 0;
4197     unsigned long long insn_referenced = abuf->written;
4198     cycles += model_u_load_vbr_after (current_cpu, idesc, 3, referenced);
4199   }
4200   return cycles;
4201 #undef FLD
4202 }
4203
4204 UINT
4205 sh2a_fpu_sh2a_fpu_model::model_lds_fpscr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4206 {
4207 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4208   const sh2a_fpu_scache* abuf = sem;
4209   const sh2a_fpu_idesc* idesc = abuf->idesc;
4210   int cycles = 0;
4211   {
4212     INT in_usereg = -1;
4213     in_usereg = FLD (in_rn);
4214     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4215   }
4216   {
4217     cycles += model_u_lds_fpscr_before (current_cpu, idesc, 1);
4218   }
4219   return cycles;
4220 #undef FLD
4221 }
4222
4223 UINT
4224 sh2a_fpu_sh2a_fpu_model::model_lds_fpscr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4225 {
4226 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4227   const sh2a_fpu_scache* abuf = sem;
4228   const sh2a_fpu_idesc* idesc = abuf->idesc;
4229   int cycles = 0;
4230   {
4231     int referenced = 0;
4232     unsigned long long insn_referenced = abuf->written;
4233     INT in_usereg = -1;
4234     in_usereg = FLD (in_rn);
4235     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4236   }
4237   {
4238     int referenced = 0;
4239     unsigned long long insn_referenced = abuf->written;
4240     cycles += model_u_lds_fpscr_after (current_cpu, idesc, 1, referenced);
4241   }
4242   return cycles;
4243 #undef FLD
4244 }
4245
4246 UINT
4247 sh2a_fpu_sh2a_fpu_model::model_ldsl_fpscr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4248 {
4249 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4250   const sh2a_fpu_scache* abuf = sem;
4251   const sh2a_fpu_idesc* idesc = abuf->idesc;
4252   int cycles = 0;
4253   {
4254     INT in_usereg = -1;
4255     in_usereg = FLD (in_rn);
4256     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4257   }
4258   {
4259     cycles += model_u_lds_fpscr_before (current_cpu, idesc, 1);
4260   }
4261   {
4262     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 2);
4263   }
4264   {
4265     cycles += model_u_ldsl_fpscr_before (current_cpu, idesc, 3);
4266   }
4267   return cycles;
4268 #undef FLD
4269 }
4270
4271 UINT
4272 sh2a_fpu_sh2a_fpu_model::model_ldsl_fpscr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4273 {
4274 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4275   const sh2a_fpu_scache* abuf = sem;
4276   const sh2a_fpu_idesc* idesc = abuf->idesc;
4277   int cycles = 0;
4278   {
4279     int referenced = 0;
4280     unsigned long long insn_referenced = abuf->written;
4281     INT in_usereg = -1;
4282     in_usereg = FLD (in_rn);
4283     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4284   }
4285   {
4286     int referenced = 0;
4287     unsigned long long insn_referenced = abuf->written;
4288     cycles += model_u_lds_fpscr_after (current_cpu, idesc, 1, referenced);
4289   }
4290   {
4291     int referenced = 0;
4292     unsigned long long insn_referenced = abuf->written;
4293     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 2, referenced);
4294   }
4295   {
4296     int referenced = 0;
4297     unsigned long long insn_referenced = abuf->written;
4298     cycles += model_u_ldsl_fpscr_after (current_cpu, idesc, 3, referenced);
4299   }
4300   return cycles;
4301 #undef FLD
4302 }
4303
4304 UINT
4305 sh2a_fpu_sh2a_fpu_model::model_lds_fpul_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4306 {
4307 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4308   const sh2a_fpu_scache* abuf = sem;
4309   const sh2a_fpu_idesc* idesc = abuf->idesc;
4310   int cycles = 0;
4311   {
4312     INT in_usereg = -1;
4313     in_usereg = FLD (in_rn);
4314     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4315   }
4316   {
4317     cycles += model_u_exec_before (current_cpu, idesc, 1);
4318   }
4319   {
4320     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 2);
4321   }
4322   {
4323     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 3);
4324   }
4325   {
4326     cycles += model_u_load_fpul_before (current_cpu, idesc, 4);
4327   }
4328   return cycles;
4329 #undef FLD
4330 }
4331
4332 UINT
4333 sh2a_fpu_sh2a_fpu_model::model_lds_fpul_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4334 {
4335 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4336   const sh2a_fpu_scache* abuf = sem;
4337   const sh2a_fpu_idesc* idesc = abuf->idesc;
4338   int cycles = 0;
4339   {
4340     int referenced = 0;
4341     unsigned long long insn_referenced = abuf->written;
4342     INT in_usereg = -1;
4343     in_usereg = FLD (in_rn);
4344     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4345   }
4346   {
4347     int referenced = 0;
4348     unsigned long long insn_referenced = abuf->written;
4349     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4350   }
4351   {
4352     int referenced = 0;
4353     unsigned long long insn_referenced = abuf->written;
4354     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 2, referenced);
4355   }
4356   {
4357     int referenced = 0;
4358     unsigned long long insn_referenced = abuf->written;
4359     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 3, referenced);
4360   }
4361   {
4362     int referenced = 0;
4363     unsigned long long insn_referenced = abuf->written;
4364     cycles += model_u_load_fpul_after (current_cpu, idesc, 4, referenced);
4365   }
4366   return cycles;
4367 #undef FLD
4368 }
4369
4370 UINT
4371 sh2a_fpu_sh2a_fpu_model::model_ldsl_fpul_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4372 {
4373 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4374   const sh2a_fpu_scache* abuf = sem;
4375   const sh2a_fpu_idesc* idesc = abuf->idesc;
4376   int cycles = 0;
4377   {
4378     INT in_usereg = -1;
4379     in_usereg = FLD (in_rn);
4380     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4381   }
4382   {
4383     cycles += model_u_exec_before (current_cpu, idesc, 1);
4384   }
4385   {
4386     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 2);
4387   }
4388   {
4389     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 3);
4390   }
4391   {
4392     cycles += model_u_load_fpul_before (current_cpu, idesc, 4);
4393   }
4394   return cycles;
4395 #undef FLD
4396 }
4397
4398 UINT
4399 sh2a_fpu_sh2a_fpu_model::model_ldsl_fpul_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4400 {
4401 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4402   const sh2a_fpu_scache* abuf = sem;
4403   const sh2a_fpu_idesc* idesc = abuf->idesc;
4404   int cycles = 0;
4405   {
4406     int referenced = 0;
4407     unsigned long long insn_referenced = abuf->written;
4408     INT in_usereg = -1;
4409     in_usereg = FLD (in_rn);
4410     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4411   }
4412   {
4413     int referenced = 0;
4414     unsigned long long insn_referenced = abuf->written;
4415     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4416   }
4417   {
4418     int referenced = 0;
4419     unsigned long long insn_referenced = abuf->written;
4420     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 2, referenced);
4421   }
4422   {
4423     int referenced = 0;
4424     unsigned long long insn_referenced = abuf->written;
4425     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 3, referenced);
4426   }
4427   {
4428     int referenced = 0;
4429     unsigned long long insn_referenced = abuf->written;
4430     cycles += model_u_load_fpul_after (current_cpu, idesc, 4, referenced);
4431   }
4432   return cycles;
4433 #undef FLD
4434 }
4435
4436 UINT
4437 sh2a_fpu_sh2a_fpu_model::model_lds_mach_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4438 {
4439 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4440   const sh2a_fpu_scache* abuf = sem;
4441   const sh2a_fpu_idesc* idesc = abuf->idesc;
4442   int cycles = 0;
4443   {
4444     INT in_usereg = -1;
4445     in_usereg = FLD (in_rn);
4446     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4447   }
4448   {
4449     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
4450   }
4451   {
4452     cycles += model_u_exec_before (current_cpu, idesc, 2);
4453   }
4454   {
4455     cycles += model_u_set_mac_before (current_cpu, idesc, 3);
4456   }
4457   return cycles;
4458 #undef FLD
4459 }
4460
4461 UINT
4462 sh2a_fpu_sh2a_fpu_model::model_lds_mach_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4463 {
4464 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4465   const sh2a_fpu_scache* abuf = sem;
4466   const sh2a_fpu_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_rn);
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     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
4479   }
4480   {
4481     int referenced = 0;
4482     unsigned long long insn_referenced = abuf->written;
4483     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4484   }
4485   {
4486     int referenced = 0;
4487     unsigned long long insn_referenced = abuf->written;
4488     cycles += model_u_set_mac_after (current_cpu, idesc, 3, referenced);
4489   }
4490   return cycles;
4491 #undef FLD
4492 }
4493
4494 UINT
4495 sh2a_fpu_sh2a_fpu_model::model_ldsl_mach_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4496 {
4497 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4498   const sh2a_fpu_scache* abuf = sem;
4499   const sh2a_fpu_idesc* idesc = abuf->idesc;
4500   int cycles = 0;
4501   {
4502     INT in_usereg = -1;
4503     in_usereg = FLD (in_rn);
4504     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4505   }
4506   {
4507     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
4508   }
4509   {
4510     cycles += model_u_exec_before (current_cpu, idesc, 2);
4511   }
4512   {
4513     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4514   }
4515   {
4516     cycles += model_u_load_mac_before (current_cpu, idesc, 4);
4517   }
4518   return cycles;
4519 #undef FLD
4520 }
4521
4522 UINT
4523 sh2a_fpu_sh2a_fpu_model::model_ldsl_mach_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4524 {
4525 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4526   const sh2a_fpu_scache* abuf = sem;
4527   const sh2a_fpu_idesc* idesc = abuf->idesc;
4528   int cycles = 0;
4529   {
4530     int referenced = 0;
4531     unsigned long long insn_referenced = abuf->written;
4532     INT in_usereg = -1;
4533     in_usereg = FLD (in_rn);
4534     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4535   }
4536   {
4537     int referenced = 0;
4538     unsigned long long insn_referenced = abuf->written;
4539     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
4540   }
4541   {
4542     int referenced = 0;
4543     unsigned long long insn_referenced = abuf->written;
4544     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4545   }
4546   {
4547     int referenced = 0;
4548     unsigned long long insn_referenced = abuf->written;
4549     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4550   }
4551   {
4552     int referenced = 0;
4553     unsigned long long insn_referenced = abuf->written;
4554     cycles += model_u_load_mac_after (current_cpu, idesc, 4, referenced);
4555   }
4556   return cycles;
4557 #undef FLD
4558 }
4559
4560 UINT
4561 sh2a_fpu_sh2a_fpu_model::model_lds_macl_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4562 {
4563 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4564   const sh2a_fpu_scache* abuf = sem;
4565   const sh2a_fpu_idesc* idesc = abuf->idesc;
4566   int cycles = 0;
4567   {
4568     INT in_usereg = -1;
4569     in_usereg = FLD (in_rn);
4570     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4571   }
4572   {
4573     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
4574   }
4575   {
4576     cycles += model_u_exec_before (current_cpu, idesc, 2);
4577   }
4578   {
4579     cycles += model_u_set_mac_before (current_cpu, idesc, 3);
4580   }
4581   return cycles;
4582 #undef FLD
4583 }
4584
4585 UINT
4586 sh2a_fpu_sh2a_fpu_model::model_lds_macl_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4587 {
4588 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4589   const sh2a_fpu_scache* abuf = sem;
4590   const sh2a_fpu_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_rn);
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_use_multiply_result_after (current_cpu, idesc, 1, referenced);
4603   }
4604   {
4605     int referenced = 0;
4606     unsigned long long insn_referenced = abuf->written;
4607     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4608   }
4609   {
4610     int referenced = 0;
4611     unsigned long long insn_referenced = abuf->written;
4612     cycles += model_u_set_mac_after (current_cpu, idesc, 3, referenced);
4613   }
4614   return cycles;
4615 #undef FLD
4616 }
4617
4618 UINT
4619 sh2a_fpu_sh2a_fpu_model::model_ldsl_macl_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4620 {
4621 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4622   const sh2a_fpu_scache* abuf = sem;
4623   const sh2a_fpu_idesc* idesc = abuf->idesc;
4624   int cycles = 0;
4625   {
4626     INT in_usereg = -1;
4627     in_usereg = FLD (in_rn);
4628     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4629   }
4630   {
4631     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
4632   }
4633   {
4634     cycles += model_u_exec_before (current_cpu, idesc, 2);
4635   }
4636   {
4637     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
4638   }
4639   {
4640     cycles += model_u_load_mac_before (current_cpu, idesc, 4);
4641   }
4642   return cycles;
4643 #undef FLD
4644 }
4645
4646 UINT
4647 sh2a_fpu_sh2a_fpu_model::model_ldsl_macl_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4648 {
4649 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4650   const sh2a_fpu_scache* abuf = sem;
4651   const sh2a_fpu_idesc* idesc = abuf->idesc;
4652   int cycles = 0;
4653   {
4654     int referenced = 0;
4655     unsigned long long insn_referenced = abuf->written;
4656     INT in_usereg = -1;
4657     in_usereg = FLD (in_rn);
4658     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4659   }
4660   {
4661     int referenced = 0;
4662     unsigned long long insn_referenced = abuf->written;
4663     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
4664   }
4665   {
4666     int referenced = 0;
4667     unsigned long long insn_referenced = abuf->written;
4668     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
4669   }
4670   {
4671     int referenced = 0;
4672     unsigned long long insn_referenced = abuf->written;
4673     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
4674   }
4675   {
4676     int referenced = 0;
4677     unsigned long long insn_referenced = abuf->written;
4678     cycles += model_u_load_mac_after (current_cpu, idesc, 4, referenced);
4679   }
4680   return cycles;
4681 #undef FLD
4682 }
4683
4684 UINT
4685 sh2a_fpu_sh2a_fpu_model::model_lds_pr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4686 {
4687 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4688   const sh2a_fpu_scache* abuf = sem;
4689   const sh2a_fpu_idesc* idesc = abuf->idesc;
4690   int cycles = 0;
4691   {
4692     INT in_usereg = -1;
4693     in_usereg = FLD (in_rn);
4694     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4695   }
4696   {
4697     cycles += model_u_lds_pr_before (current_cpu, idesc, 1);
4698   }
4699   return cycles;
4700 #undef FLD
4701 }
4702
4703 UINT
4704 sh2a_fpu_sh2a_fpu_model::model_lds_pr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4705 {
4706 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4707   const sh2a_fpu_scache* abuf = sem;
4708   const sh2a_fpu_idesc* idesc = abuf->idesc;
4709   int cycles = 0;
4710   {
4711     int referenced = 0;
4712     unsigned long long insn_referenced = abuf->written;
4713     INT in_usereg = -1;
4714     in_usereg = FLD (in_rn);
4715     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4716   }
4717   {
4718     int referenced = 0;
4719     unsigned long long insn_referenced = abuf->written;
4720     cycles += model_u_lds_pr_after (current_cpu, idesc, 1, referenced);
4721   }
4722   return cycles;
4723 #undef FLD
4724 }
4725
4726 UINT
4727 sh2a_fpu_sh2a_fpu_model::model_ldsl_pr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4728 {
4729 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4730   const sh2a_fpu_scache* abuf = sem;
4731   const sh2a_fpu_idesc* idesc = abuf->idesc;
4732   int cycles = 0;
4733   {
4734     INT in_usereg = -1;
4735     in_usereg = FLD (in_rn);
4736     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4737   }
4738   {
4739     cycles += model_u_lds_pr_before (current_cpu, idesc, 1);
4740   }
4741   {
4742     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
4743   }
4744   {
4745     cycles += model_u_load_pr_before (current_cpu, idesc, 3);
4746   }
4747   return cycles;
4748 #undef FLD
4749 }
4750
4751 UINT
4752 sh2a_fpu_sh2a_fpu_model::model_ldsl_pr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4753 {
4754 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4755   const sh2a_fpu_scache* abuf = sem;
4756   const sh2a_fpu_idesc* idesc = abuf->idesc;
4757   int cycles = 0;
4758   {
4759     int referenced = 0;
4760     unsigned long long insn_referenced = abuf->written;
4761     INT in_usereg = -1;
4762     in_usereg = FLD (in_rn);
4763     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4764   }
4765   {
4766     int referenced = 0;
4767     unsigned long long insn_referenced = abuf->written;
4768     cycles += model_u_lds_pr_after (current_cpu, idesc, 1, referenced);
4769   }
4770   {
4771     int referenced = 0;
4772     unsigned long long insn_referenced = abuf->written;
4773     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
4774   }
4775   {
4776     int referenced = 0;
4777     unsigned long long insn_referenced = abuf->written;
4778     cycles += model_u_load_pr_after (current_cpu, idesc, 3, referenced);
4779   }
4780   return cycles;
4781 #undef FLD
4782 }
4783
4784 UINT
4785 sh2a_fpu_sh2a_fpu_model::model_macl_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4786 {
4787 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4788   const sh2a_fpu_scache* abuf = sem;
4789   const sh2a_fpu_idesc* idesc = abuf->idesc;
4790   int cycles = 0;
4791   {
4792     INT in_usereg = -1;
4793     in_usereg = FLD (in_rn);
4794     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4795   }
4796   {
4797     INT in_usereg = -1;
4798     in_usereg = FLD (in_rm);
4799     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4800   }
4801   {
4802     cycles += model_u_macl_before (current_cpu, idesc, 2);
4803   }
4804   return cycles;
4805 #undef FLD
4806 }
4807
4808 UINT
4809 sh2a_fpu_sh2a_fpu_model::model_macl_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4810 {
4811 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4812   const sh2a_fpu_scache* abuf = sem;
4813   const sh2a_fpu_idesc* idesc = abuf->idesc;
4814   int cycles = 0;
4815   {
4816     int referenced = 0;
4817     unsigned long long insn_referenced = abuf->written;
4818     INT in_usereg = -1;
4819     in_usereg = FLD (in_rn);
4820     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4821   }
4822   {
4823     int referenced = 0;
4824     unsigned long long insn_referenced = abuf->written;
4825     INT in_usereg = -1;
4826     in_usereg = FLD (in_rm);
4827     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4828   }
4829   {
4830     int referenced = 0;
4831     unsigned long long insn_referenced = abuf->written;
4832     cycles += model_u_macl_after (current_cpu, idesc, 2, referenced);
4833   }
4834   return cycles;
4835 #undef FLD
4836 }
4837
4838 UINT
4839 sh2a_fpu_sh2a_fpu_model::model_macw_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4840 {
4841 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4842   const sh2a_fpu_scache* abuf = sem;
4843   const sh2a_fpu_idesc* idesc = abuf->idesc;
4844   int cycles = 0;
4845   {
4846     INT in_usereg = -1;
4847     in_usereg = FLD (in_rn);
4848     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4849   }
4850   {
4851     INT in_usereg = -1;
4852     in_usereg = FLD (in_rm);
4853     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
4854   }
4855   {
4856     cycles += model_u_macw_before (current_cpu, idesc, 2);
4857   }
4858   return cycles;
4859 #undef FLD
4860 }
4861
4862 UINT
4863 sh2a_fpu_sh2a_fpu_model::model_macw_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4864 {
4865 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4866   const sh2a_fpu_scache* abuf = sem;
4867   const sh2a_fpu_idesc* idesc = abuf->idesc;
4868   int cycles = 0;
4869   {
4870     int referenced = 0;
4871     unsigned long long insn_referenced = abuf->written;
4872     INT in_usereg = -1;
4873     in_usereg = FLD (in_rn);
4874     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4875   }
4876   {
4877     int referenced = 0;
4878     unsigned long long insn_referenced = abuf->written;
4879     INT in_usereg = -1;
4880     in_usereg = FLD (in_rm);
4881     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
4882   }
4883   {
4884     int referenced = 0;
4885     unsigned long long insn_referenced = abuf->written;
4886     cycles += model_u_macw_after (current_cpu, idesc, 2, referenced);
4887   }
4888   return cycles;
4889 #undef FLD
4890 }
4891
4892 UINT
4893 sh2a_fpu_sh2a_fpu_model::model_mov_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4894 {
4895 #define FLD(f) abuf->fields.sfmt_and_compact.f
4896   const sh2a_fpu_scache* abuf = sem;
4897   const sh2a_fpu_idesc* idesc = abuf->idesc;
4898   int cycles = 0;
4899   {
4900     INT in_usereg = -1;
4901     in_usereg = FLD (in_rm64);
4902     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
4903   }
4904   {
4905     cycles += model_u_exec_before (current_cpu, idesc, 1);
4906   }
4907   return cycles;
4908 #undef FLD
4909 }
4910
4911 UINT
4912 sh2a_fpu_sh2a_fpu_model::model_mov_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4913 {
4914 #define FLD(f) abuf->fields.sfmt_and_compact.f
4915   const sh2a_fpu_scache* abuf = sem;
4916   const sh2a_fpu_idesc* idesc = abuf->idesc;
4917   int cycles = 0;
4918   {
4919     int referenced = 0;
4920     unsigned long long insn_referenced = abuf->written;
4921     INT in_usereg = -1;
4922     in_usereg = FLD (in_rm64);
4923     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
4924   }
4925   {
4926     int referenced = 0;
4927     unsigned long long insn_referenced = abuf->written;
4928     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
4929   }
4930   return cycles;
4931 #undef FLD
4932 }
4933
4934 UINT
4935 sh2a_fpu_sh2a_fpu_model::model_movi_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4936 {
4937 #define FLD(f) abuf->fields.sfmt_addi_compact.f
4938   const sh2a_fpu_scache* abuf = sem;
4939   const sh2a_fpu_idesc* idesc = abuf->idesc;
4940   int cycles = 0;
4941   {
4942     cycles += model_u_exec_before (current_cpu, idesc, 0);
4943   }
4944   return cycles;
4945 #undef FLD
4946 }
4947
4948 UINT
4949 sh2a_fpu_sh2a_fpu_model::model_movi_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4950 {
4951 #define FLD(f) abuf->fields.sfmt_addi_compact.f
4952   const sh2a_fpu_scache* abuf = sem;
4953   const sh2a_fpu_idesc* idesc = abuf->idesc;
4954   int cycles = 0;
4955   {
4956     int referenced = 0;
4957     unsigned long long insn_referenced = abuf->written;
4958     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4959   }
4960   return cycles;
4961 #undef FLD
4962 }
4963
4964 UINT
4965 sh2a_fpu_sh2a_fpu_model::model_movi20_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4966 {
4967 #define FLD(f) abuf->fields.sfmt_movi20_compact.f
4968   const sh2a_fpu_scache* abuf = sem;
4969   const sh2a_fpu_idesc* idesc = abuf->idesc;
4970   int cycles = 0;
4971   {
4972     cycles += model_u_exec_before (current_cpu, idesc, 0);
4973   }
4974   return cycles;
4975 #undef FLD
4976 }
4977
4978 UINT
4979 sh2a_fpu_sh2a_fpu_model::model_movi20_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4980 {
4981 #define FLD(f) abuf->fields.sfmt_movi20_compact.f
4982   const sh2a_fpu_scache* abuf = sem;
4983   const sh2a_fpu_idesc* idesc = abuf->idesc;
4984   int cycles = 0;
4985   {
4986     int referenced = 0;
4987     unsigned long long insn_referenced = abuf->written;
4988     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
4989   }
4990   return cycles;
4991 #undef FLD
4992 }
4993
4994 UINT
4995 sh2a_fpu_sh2a_fpu_model::model_movb1_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
4996 {
4997 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
4998   const sh2a_fpu_scache* abuf = sem;
4999   const sh2a_fpu_idesc* idesc = abuf->idesc;
5000   int cycles = 0;
5001   {
5002     INT in_usereg = -1;
5003     in_usereg = FLD (in_rn);
5004     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5005   }
5006   {
5007     INT in_usereg = -1;
5008     in_usereg = FLD (in_rm);
5009     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5010   }
5011   {
5012     cycles += model_u_exec_before (current_cpu, idesc, 2);
5013   }
5014   {
5015     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
5016   }
5017   return cycles;
5018 #undef FLD
5019 }
5020
5021 UINT
5022 sh2a_fpu_sh2a_fpu_model::model_movb1_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5023 {
5024 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
5025   const sh2a_fpu_scache* abuf = sem;
5026   const sh2a_fpu_idesc* idesc = abuf->idesc;
5027   int cycles = 0;
5028   {
5029     int referenced = 0;
5030     unsigned long long insn_referenced = abuf->written;
5031     INT in_usereg = -1;
5032     in_usereg = FLD (in_rn);
5033     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5034   }
5035   {
5036     int referenced = 0;
5037     unsigned long long insn_referenced = abuf->written;
5038     INT in_usereg = -1;
5039     in_usereg = FLD (in_rm);
5040     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5041   }
5042   {
5043     int referenced = 0;
5044     unsigned long long insn_referenced = abuf->written;
5045     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5046   }
5047   {
5048     int referenced = 0;
5049     unsigned long long insn_referenced = abuf->written;
5050     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
5051   }
5052   return cycles;
5053 #undef FLD
5054 }
5055
5056 UINT
5057 sh2a_fpu_sh2a_fpu_model::model_movb2_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5058 {
5059 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5060   const sh2a_fpu_scache* abuf = sem;
5061   const sh2a_fpu_idesc* idesc = abuf->idesc;
5062   int cycles = 0;
5063   {
5064     INT in_usereg = -1;
5065     in_usereg = FLD (in_rn);
5066     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5067   }
5068   {
5069     INT in_usereg = -1;
5070     in_usereg = FLD (in_rm);
5071     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5072   }
5073   {
5074     cycles += model_u_exec_before (current_cpu, idesc, 2);
5075   }
5076   {
5077     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
5078   }
5079   return cycles;
5080 #undef FLD
5081 }
5082
5083 UINT
5084 sh2a_fpu_sh2a_fpu_model::model_movb2_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5085 {
5086 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5087   const sh2a_fpu_scache* abuf = sem;
5088   const sh2a_fpu_idesc* idesc = abuf->idesc;
5089   int cycles = 0;
5090   {
5091     int referenced = 0;
5092     unsigned long long insn_referenced = abuf->written;
5093     INT in_usereg = -1;
5094     in_usereg = FLD (in_rn);
5095     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5096   }
5097   {
5098     int referenced = 0;
5099     unsigned long long insn_referenced = abuf->written;
5100     INT in_usereg = -1;
5101     in_usereg = FLD (in_rm);
5102     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5103   }
5104   {
5105     int referenced = 0;
5106     unsigned long long insn_referenced = abuf->written;
5107     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5108   }
5109   {
5110     int referenced = 0;
5111     unsigned long long insn_referenced = abuf->written;
5112     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
5113   }
5114   return cycles;
5115 #undef FLD
5116 }
5117
5118 UINT
5119 sh2a_fpu_sh2a_fpu_model::model_movb3_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5120 {
5121 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5122   const sh2a_fpu_scache* abuf = sem;
5123   const sh2a_fpu_idesc* idesc = abuf->idesc;
5124   int cycles = 0;
5125   {
5126     INT in_usereg = -1;
5127     in_usereg = FLD (in_rn);
5128     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5129   }
5130   {
5131     INT in_usereg = -1;
5132     in_usereg = FLD (in_rm);
5133     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5134   }
5135   {
5136     INT in_usereg = -1;
5137     in_usereg = FLD (in_r0);
5138     cycles += model_u_use_gr_before (current_cpu, idesc, 2, in_usereg);
5139   }
5140   {
5141     cycles += model_u_exec_before (current_cpu, idesc, 3);
5142   }
5143   {
5144     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
5145   }
5146   return cycles;
5147 #undef FLD
5148 }
5149
5150 UINT
5151 sh2a_fpu_sh2a_fpu_model::model_movb3_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5152 {
5153 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5154   const sh2a_fpu_scache* abuf = sem;
5155   const sh2a_fpu_idesc* idesc = abuf->idesc;
5156   int cycles = 0;
5157   {
5158     int referenced = 0;
5159     unsigned long long insn_referenced = abuf->written;
5160     INT in_usereg = -1;
5161     in_usereg = FLD (in_rn);
5162     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5163   }
5164   {
5165     int referenced = 0;
5166     unsigned long long insn_referenced = abuf->written;
5167     INT in_usereg = -1;
5168     in_usereg = FLD (in_rm);
5169     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5170   }
5171   {
5172     int referenced = 0;
5173     unsigned long long insn_referenced = abuf->written;
5174     INT in_usereg = -1;
5175     in_usereg = FLD (in_r0);
5176     cycles += model_u_use_gr_after (current_cpu, idesc, 2, referenced, in_usereg);
5177   }
5178   {
5179     int referenced = 0;
5180     unsigned long long insn_referenced = abuf->written;
5181     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
5182   }
5183   {
5184     int referenced = 0;
5185     unsigned long long insn_referenced = abuf->written;
5186     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
5187   }
5188   return cycles;
5189 #undef FLD
5190 }
5191
5192 UINT
5193 sh2a_fpu_sh2a_fpu_model::model_movb4_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5194 {
5195 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5196   const sh2a_fpu_scache* abuf = sem;
5197   const sh2a_fpu_idesc* idesc = abuf->idesc;
5198   int cycles = 0;
5199   {
5200     cycles += model_u_exec_before (current_cpu, idesc, 0);
5201   }
5202   {
5203     cycles += model_u_sx_before (current_cpu, idesc, 1);
5204   }
5205   {
5206     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
5207   }
5208   return cycles;
5209 #undef FLD
5210 }
5211
5212 UINT
5213 sh2a_fpu_sh2a_fpu_model::model_movb4_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5214 {
5215 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5216   const sh2a_fpu_scache* abuf = sem;
5217   const sh2a_fpu_idesc* idesc = abuf->idesc;
5218   int cycles = 0;
5219   {
5220     int referenced = 0;
5221     unsigned long long insn_referenced = abuf->written;
5222     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5223   }
5224   {
5225     int referenced = 0;
5226     unsigned long long insn_referenced = abuf->written;
5227     cycles += model_u_sx_after (current_cpu, idesc, 1, referenced);
5228   }
5229   {
5230     int referenced = 0;
5231     unsigned long long insn_referenced = abuf->written;
5232     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
5233   }
5234   return cycles;
5235 #undef FLD
5236 }
5237
5238 UINT
5239 sh2a_fpu_sh2a_fpu_model::model_movb5_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5240 {
5241 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
5242   const sh2a_fpu_scache* abuf = sem;
5243   const sh2a_fpu_idesc* idesc = abuf->idesc;
5244   int cycles = 0;
5245   {
5246     INT in_usereg = -1;
5247     in_usereg = FLD (in_r0);
5248     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5249   }
5250   {
5251     INT in_usereg = -1;
5252     in_usereg = FLD (in_rm);
5253     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5254   }
5255   {
5256     cycles += model_u_exec_before (current_cpu, idesc, 2);
5257   }
5258   {
5259     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
5260   }
5261   return cycles;
5262 #undef FLD
5263 }
5264
5265 UINT
5266 sh2a_fpu_sh2a_fpu_model::model_movb5_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5267 {
5268 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
5269   const sh2a_fpu_scache* abuf = sem;
5270   const sh2a_fpu_idesc* idesc = abuf->idesc;
5271   int cycles = 0;
5272   {
5273     int referenced = 0;
5274     unsigned long long insn_referenced = abuf->written;
5275     INT in_usereg = -1;
5276     in_usereg = FLD (in_r0);
5277     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5278   }
5279   {
5280     int referenced = 0;
5281     unsigned long long insn_referenced = abuf->written;
5282     INT in_usereg = -1;
5283     in_usereg = FLD (in_rm);
5284     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5285   }
5286   {
5287     int referenced = 0;
5288     unsigned long long insn_referenced = abuf->written;
5289     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5290   }
5291   {
5292     int referenced = 0;
5293     unsigned long long insn_referenced = abuf->written;
5294     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
5295   }
5296   return cycles;
5297 #undef FLD
5298 }
5299
5300 UINT
5301 sh2a_fpu_sh2a_fpu_model::model_movb6_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5302 {
5303 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5304   const sh2a_fpu_scache* abuf = sem;
5305   const sh2a_fpu_idesc* idesc = abuf->idesc;
5306   int cycles = 0;
5307   {
5308     INT in_usereg = -1;
5309     in_usereg = FLD (in_rm);
5310     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5311   }
5312   {
5313     cycles += model_u_exec_before (current_cpu, idesc, 1);
5314   }
5315   {
5316     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
5317   }
5318   {
5319     INT out_loadreg = -1;
5320     out_loadreg = FLD (out_rn);
5321     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
5322   }
5323   return cycles;
5324 #undef FLD
5325 }
5326
5327 UINT
5328 sh2a_fpu_sh2a_fpu_model::model_movb6_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5329 {
5330 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5331   const sh2a_fpu_scache* abuf = sem;
5332   const sh2a_fpu_idesc* idesc = abuf->idesc;
5333   int cycles = 0;
5334   {
5335     int referenced = 0;
5336     unsigned long long insn_referenced = abuf->written;
5337     INT in_usereg = -1;
5338     in_usereg = FLD (in_rm);
5339     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5340   }
5341   {
5342     int referenced = 0;
5343     unsigned long long insn_referenced = abuf->written;
5344     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5345   }
5346   {
5347     int referenced = 0;
5348     unsigned long long insn_referenced = abuf->written;
5349     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
5350   }
5351   {
5352     int referenced = 0;
5353     unsigned long long insn_referenced = abuf->written;
5354     INT out_loadreg = -1;
5355     out_loadreg = FLD (out_rn);
5356     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
5357   }
5358   return cycles;
5359 #undef FLD
5360 }
5361
5362 UINT
5363 sh2a_fpu_sh2a_fpu_model::model_movb7_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5364 {
5365 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5366   const sh2a_fpu_scache* abuf = sem;
5367   const sh2a_fpu_idesc* idesc = abuf->idesc;
5368   int cycles = 0;
5369   {
5370     INT in_usereg = -1;
5371     in_usereg = FLD (in_rm);
5372     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5373   }
5374   {
5375     cycles += model_u_exec_before (current_cpu, idesc, 1);
5376   }
5377   {
5378     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
5379   }
5380   {
5381     INT out_loadreg = -1;
5382     out_loadreg = FLD (out_rn);
5383     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
5384   }
5385   return cycles;
5386 #undef FLD
5387 }
5388
5389 UINT
5390 sh2a_fpu_sh2a_fpu_model::model_movb7_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5391 {
5392 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5393   const sh2a_fpu_scache* abuf = sem;
5394   const sh2a_fpu_idesc* idesc = abuf->idesc;
5395   int cycles = 0;
5396   {
5397     int referenced = 0;
5398     unsigned long long insn_referenced = abuf->written;
5399     INT in_usereg = -1;
5400     in_usereg = FLD (in_rm);
5401     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5402   }
5403   {
5404     int referenced = 0;
5405     unsigned long long insn_referenced = abuf->written;
5406     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5407   }
5408   {
5409     int referenced = 0;
5410     unsigned long long insn_referenced = abuf->written;
5411     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
5412   }
5413   {
5414     int referenced = 0;
5415     unsigned long long insn_referenced = abuf->written;
5416     INT out_loadreg = -1;
5417     out_loadreg = FLD (out_rn);
5418     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
5419   }
5420   return cycles;
5421 #undef FLD
5422 }
5423
5424 UINT
5425 sh2a_fpu_sh2a_fpu_model::model_movb8_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5426 {
5427 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
5428   const sh2a_fpu_scache* abuf = sem;
5429   const sh2a_fpu_idesc* idesc = abuf->idesc;
5430   int cycles = 0;
5431   {
5432     INT in_usereg = -1;
5433     in_usereg = FLD (in_rm);
5434     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5435   }
5436   {
5437     INT in_usereg = -1;
5438     in_usereg = FLD (in_r0);
5439     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5440   }
5441   {
5442     cycles += model_u_exec_before (current_cpu, idesc, 2);
5443   }
5444   {
5445     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
5446   }
5447   {
5448     INT out_loadreg = -1;
5449     out_loadreg = FLD (out_rn);
5450     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
5451   }
5452   return cycles;
5453 #undef FLD
5454 }
5455
5456 UINT
5457 sh2a_fpu_sh2a_fpu_model::model_movb8_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5458 {
5459 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
5460   const sh2a_fpu_scache* abuf = sem;
5461   const sh2a_fpu_idesc* idesc = abuf->idesc;
5462   int cycles = 0;
5463   {
5464     int referenced = 0;
5465     unsigned long long insn_referenced = abuf->written;
5466     INT in_usereg = -1;
5467     in_usereg = FLD (in_rm);
5468     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5469   }
5470   {
5471     int referenced = 0;
5472     unsigned long long insn_referenced = abuf->written;
5473     INT in_usereg = -1;
5474     in_usereg = FLD (in_r0);
5475     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5476   }
5477   {
5478     int referenced = 0;
5479     unsigned long long insn_referenced = abuf->written;
5480     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5481   }
5482   {
5483     int referenced = 0;
5484     unsigned long long insn_referenced = abuf->written;
5485     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
5486   }
5487   {
5488     int referenced = 0;
5489     unsigned long long insn_referenced = abuf->written;
5490     INT out_loadreg = -1;
5491     out_loadreg = FLD (out_rn);
5492     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
5493   }
5494   return cycles;
5495 #undef FLD
5496 }
5497
5498 UINT
5499 sh2a_fpu_sh2a_fpu_model::model_movb9_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5500 {
5501 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5502   const sh2a_fpu_scache* abuf = sem;
5503   const sh2a_fpu_idesc* idesc = abuf->idesc;
5504   int cycles = 0;
5505   {
5506     cycles += model_u_exec_before (current_cpu, idesc, 0);
5507   }
5508   {
5509     cycles += model_u_memory_access_before (current_cpu, idesc, 1);
5510   }
5511   {
5512     INT out_loadreg = -1;
5513     out_loadreg = FLD (out_r0);
5514     cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
5515   }
5516   return cycles;
5517 #undef FLD
5518 }
5519
5520 UINT
5521 sh2a_fpu_sh2a_fpu_model::model_movb9_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5522 {
5523 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5524   const sh2a_fpu_scache* abuf = sem;
5525   const sh2a_fpu_idesc* idesc = abuf->idesc;
5526   int cycles = 0;
5527   {
5528     int referenced = 0;
5529     unsigned long long insn_referenced = abuf->written;
5530     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
5531   }
5532   {
5533     int referenced = 0;
5534     unsigned long long insn_referenced = abuf->written;
5535     cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
5536   }
5537   {
5538     int referenced = 0;
5539     unsigned long long insn_referenced = abuf->written;
5540     INT out_loadreg = -1;
5541     out_loadreg = FLD (out_r0);
5542     cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
5543   }
5544   return cycles;
5545 #undef FLD
5546 }
5547
5548 UINT
5549 sh2a_fpu_sh2a_fpu_model::model_movb10_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5550 {
5551 #define FLD(f) abuf->fields.sfmt_movb10_compact.f
5552   const sh2a_fpu_scache* abuf = sem;
5553   const sh2a_fpu_idesc* idesc = abuf->idesc;
5554   int cycles = 0;
5555   {
5556     INT in_usereg = -1;
5557     in_usereg = FLD (in_rm);
5558     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5559   }
5560   {
5561     cycles += model_u_exec_before (current_cpu, idesc, 1);
5562   }
5563   {
5564     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
5565   }
5566   {
5567     INT out_loadreg = -1;
5568     out_loadreg = FLD (out_r0);
5569     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
5570   }
5571   return cycles;
5572 #undef FLD
5573 }
5574
5575 UINT
5576 sh2a_fpu_sh2a_fpu_model::model_movb10_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5577 {
5578 #define FLD(f) abuf->fields.sfmt_movb10_compact.f
5579   const sh2a_fpu_scache* abuf = sem;
5580   const sh2a_fpu_idesc* idesc = abuf->idesc;
5581   int cycles = 0;
5582   {
5583     int referenced = 0;
5584     unsigned long long insn_referenced = abuf->written;
5585     INT in_usereg = -1;
5586     in_usereg = FLD (in_rm);
5587     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5588   }
5589   {
5590     int referenced = 0;
5591     unsigned long long insn_referenced = abuf->written;
5592     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5593   }
5594   {
5595     int referenced = 0;
5596     unsigned long long insn_referenced = abuf->written;
5597     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
5598   }
5599   {
5600     int referenced = 0;
5601     unsigned long long insn_referenced = abuf->written;
5602     INT out_loadreg = -1;
5603     out_loadreg = FLD (out_r0);
5604     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
5605   }
5606   return cycles;
5607 #undef FLD
5608 }
5609
5610 UINT
5611 sh2a_fpu_sh2a_fpu_model::model_movl1_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5612 {
5613 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
5614   const sh2a_fpu_scache* abuf = sem;
5615   const sh2a_fpu_idesc* idesc = abuf->idesc;
5616   int cycles = 0;
5617   {
5618     INT in_usereg = -1;
5619     in_usereg = FLD (in_rm);
5620     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5621   }
5622   {
5623     INT in_usereg = -1;
5624     in_usereg = FLD (in_rn);
5625     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5626   }
5627   {
5628     cycles += model_u_exec_before (current_cpu, idesc, 2);
5629   }
5630   {
5631     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
5632   }
5633   return cycles;
5634 #undef FLD
5635 }
5636
5637 UINT
5638 sh2a_fpu_sh2a_fpu_model::model_movl1_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5639 {
5640 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
5641   const sh2a_fpu_scache* abuf = sem;
5642   const sh2a_fpu_idesc* idesc = abuf->idesc;
5643   int cycles = 0;
5644   {
5645     int referenced = 0;
5646     unsigned long long insn_referenced = abuf->written;
5647     INT in_usereg = -1;
5648     in_usereg = FLD (in_rm);
5649     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5650   }
5651   {
5652     int referenced = 0;
5653     unsigned long long insn_referenced = abuf->written;
5654     INT in_usereg = -1;
5655     in_usereg = FLD (in_rn);
5656     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5657   }
5658   {
5659     int referenced = 0;
5660     unsigned long long insn_referenced = abuf->written;
5661     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5662   }
5663   {
5664     int referenced = 0;
5665     unsigned long long insn_referenced = abuf->written;
5666     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
5667   }
5668   return cycles;
5669 #undef FLD
5670 }
5671
5672 UINT
5673 sh2a_fpu_sh2a_fpu_model::model_movl2_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5674 {
5675 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5676   const sh2a_fpu_scache* abuf = sem;
5677   const sh2a_fpu_idesc* idesc = abuf->idesc;
5678   int cycles = 0;
5679   {
5680     INT in_usereg = -1;
5681     in_usereg = FLD (in_rm);
5682     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5683   }
5684   {
5685     INT in_usereg = -1;
5686     in_usereg = FLD (in_rn);
5687     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5688   }
5689   {
5690     cycles += model_u_exec_before (current_cpu, idesc, 2);
5691   }
5692   {
5693     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
5694   }
5695   return cycles;
5696 #undef FLD
5697 }
5698
5699 UINT
5700 sh2a_fpu_sh2a_fpu_model::model_movl2_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5701 {
5702 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5703   const sh2a_fpu_scache* abuf = sem;
5704   const sh2a_fpu_idesc* idesc = abuf->idesc;
5705   int cycles = 0;
5706   {
5707     int referenced = 0;
5708     unsigned long long insn_referenced = abuf->written;
5709     INT in_usereg = -1;
5710     in_usereg = FLD (in_rm);
5711     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5712   }
5713   {
5714     int referenced = 0;
5715     unsigned long long insn_referenced = abuf->written;
5716     INT in_usereg = -1;
5717     in_usereg = FLD (in_rn);
5718     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5719   }
5720   {
5721     int referenced = 0;
5722     unsigned long long insn_referenced = abuf->written;
5723     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5724   }
5725   {
5726     int referenced = 0;
5727     unsigned long long insn_referenced = abuf->written;
5728     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
5729   }
5730   return cycles;
5731 #undef FLD
5732 }
5733
5734 UINT
5735 sh2a_fpu_sh2a_fpu_model::model_movl3_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5736 {
5737 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5738   const sh2a_fpu_scache* abuf = sem;
5739   const sh2a_fpu_idesc* idesc = abuf->idesc;
5740   int cycles = 0;
5741   {
5742     INT in_usereg = -1;
5743     in_usereg = FLD (in_rm);
5744     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5745   }
5746   {
5747     INT in_usereg = -1;
5748     in_usereg = FLD (in_rn);
5749     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5750   }
5751   {
5752     INT in_usereg = -1;
5753     in_usereg = FLD (in_r0);
5754     cycles += model_u_use_gr_before (current_cpu, idesc, 2, in_usereg);
5755   }
5756   {
5757     cycles += model_u_exec_before (current_cpu, idesc, 3);
5758   }
5759   {
5760     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
5761   }
5762   return cycles;
5763 #undef FLD
5764 }
5765
5766 UINT
5767 sh2a_fpu_sh2a_fpu_model::model_movl3_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5768 {
5769 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5770   const sh2a_fpu_scache* abuf = sem;
5771   const sh2a_fpu_idesc* idesc = abuf->idesc;
5772   int cycles = 0;
5773   {
5774     int referenced = 0;
5775     unsigned long long insn_referenced = abuf->written;
5776     INT in_usereg = -1;
5777     in_usereg = FLD (in_rm);
5778     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5779   }
5780   {
5781     int referenced = 0;
5782     unsigned long long insn_referenced = abuf->written;
5783     INT in_usereg = -1;
5784     in_usereg = FLD (in_rn);
5785     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5786   }
5787   {
5788     int referenced = 0;
5789     unsigned long long insn_referenced = abuf->written;
5790     INT in_usereg = -1;
5791     in_usereg = FLD (in_r0);
5792     cycles += model_u_use_gr_after (current_cpu, idesc, 2, referenced, in_usereg);
5793   }
5794   {
5795     int referenced = 0;
5796     unsigned long long insn_referenced = abuf->written;
5797     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
5798   }
5799   {
5800     int referenced = 0;
5801     unsigned long long insn_referenced = abuf->written;
5802     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
5803   }
5804   return cycles;
5805 #undef FLD
5806 }
5807
5808 UINT
5809 sh2a_fpu_sh2a_fpu_model::model_movl4_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5810 {
5811 #define FLD(f) abuf->fields.sfmt_movl4_compact.f
5812   const sh2a_fpu_scache* abuf = sem;
5813   const sh2a_fpu_idesc* idesc = abuf->idesc;
5814   int cycles = 0;
5815   {
5816     INT in_usereg = -1;
5817     in_usereg = FLD (in_r0);
5818     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5819   }
5820   {
5821     cycles += model_u_exec_before (current_cpu, idesc, 1);
5822   }
5823   {
5824     cycles += model_u_sx_before (current_cpu, idesc, 2);
5825   }
5826   {
5827     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
5828   }
5829   return cycles;
5830 #undef FLD
5831 }
5832
5833 UINT
5834 sh2a_fpu_sh2a_fpu_model::model_movl4_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5835 {
5836 #define FLD(f) abuf->fields.sfmt_movl4_compact.f
5837   const sh2a_fpu_scache* abuf = sem;
5838   const sh2a_fpu_idesc* idesc = abuf->idesc;
5839   int cycles = 0;
5840   {
5841     int referenced = 0;
5842     unsigned long long insn_referenced = abuf->written;
5843     INT in_usereg = -1;
5844     in_usereg = FLD (in_r0);
5845     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5846   }
5847   {
5848     int referenced = 0;
5849     unsigned long long insn_referenced = abuf->written;
5850     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5851   }
5852   {
5853     int referenced = 0;
5854     unsigned long long insn_referenced = abuf->written;
5855     cycles += model_u_sx_after (current_cpu, idesc, 2, referenced);
5856   }
5857   {
5858     int referenced = 0;
5859     unsigned long long insn_referenced = abuf->written;
5860     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
5861   }
5862   return cycles;
5863 #undef FLD
5864 }
5865
5866 UINT
5867 sh2a_fpu_sh2a_fpu_model::model_movl5_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5868 {
5869 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5870   const sh2a_fpu_scache* abuf = sem;
5871   const sh2a_fpu_idesc* idesc = abuf->idesc;
5872   int cycles = 0;
5873   {
5874     INT in_usereg = -1;
5875     in_usereg = FLD (in_rm);
5876     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5877   }
5878   {
5879     INT in_usereg = -1;
5880     in_usereg = FLD (in_rn);
5881     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
5882   }
5883   {
5884     cycles += model_u_exec_before (current_cpu, idesc, 2);
5885   }
5886   {
5887     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
5888   }
5889   return cycles;
5890 #undef FLD
5891 }
5892
5893 UINT
5894 sh2a_fpu_sh2a_fpu_model::model_movl5_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5895 {
5896 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5897   const sh2a_fpu_scache* abuf = sem;
5898   const sh2a_fpu_idesc* idesc = abuf->idesc;
5899   int cycles = 0;
5900   {
5901     int referenced = 0;
5902     unsigned long long insn_referenced = abuf->written;
5903     INT in_usereg = -1;
5904     in_usereg = FLD (in_rm);
5905     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5906   }
5907   {
5908     int referenced = 0;
5909     unsigned long long insn_referenced = abuf->written;
5910     INT in_usereg = -1;
5911     in_usereg = FLD (in_rn);
5912     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
5913   }
5914   {
5915     int referenced = 0;
5916     unsigned long long insn_referenced = abuf->written;
5917     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
5918   }
5919   {
5920     int referenced = 0;
5921     unsigned long long insn_referenced = abuf->written;
5922     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
5923   }
5924   return cycles;
5925 #undef FLD
5926 }
5927
5928 UINT
5929 sh2a_fpu_sh2a_fpu_model::model_movl6_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5930 {
5931 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5932   const sh2a_fpu_scache* abuf = sem;
5933   const sh2a_fpu_idesc* idesc = abuf->idesc;
5934   int cycles = 0;
5935   {
5936     INT in_usereg = -1;
5937     in_usereg = FLD (in_rm);
5938     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
5939   }
5940   {
5941     cycles += model_u_exec_before (current_cpu, idesc, 1);
5942   }
5943   {
5944     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
5945   }
5946   {
5947     INT out_loadreg = -1;
5948     out_loadreg = FLD (out_rn);
5949     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
5950   }
5951   return cycles;
5952 #undef FLD
5953 }
5954
5955 UINT
5956 sh2a_fpu_sh2a_fpu_model::model_movl6_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5957 {
5958 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5959   const sh2a_fpu_scache* abuf = sem;
5960   const sh2a_fpu_idesc* idesc = abuf->idesc;
5961   int cycles = 0;
5962   {
5963     int referenced = 0;
5964     unsigned long long insn_referenced = abuf->written;
5965     INT in_usereg = -1;
5966     in_usereg = FLD (in_rm);
5967     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
5968   }
5969   {
5970     int referenced = 0;
5971     unsigned long long insn_referenced = abuf->written;
5972     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
5973   }
5974   {
5975     int referenced = 0;
5976     unsigned long long insn_referenced = abuf->written;
5977     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
5978   }
5979   {
5980     int referenced = 0;
5981     unsigned long long insn_referenced = abuf->written;
5982     INT out_loadreg = -1;
5983     out_loadreg = FLD (out_rn);
5984     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
5985   }
5986   return cycles;
5987 #undef FLD
5988 }
5989
5990 UINT
5991 sh2a_fpu_sh2a_fpu_model::model_movl7_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
5992 {
5993 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5994   const sh2a_fpu_scache* abuf = sem;
5995   const sh2a_fpu_idesc* idesc = abuf->idesc;
5996   int cycles = 0;
5997   {
5998     INT in_usereg = -1;
5999     in_usereg = FLD (in_rm);
6000     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6001   }
6002   {
6003     cycles += model_u_exec_before (current_cpu, idesc, 1);
6004   }
6005   {
6006     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
6007   }
6008   {
6009     INT out_loadreg = -1;
6010     out_loadreg = FLD (out_rn);
6011     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
6012   }
6013   return cycles;
6014 #undef FLD
6015 }
6016
6017 UINT
6018 sh2a_fpu_sh2a_fpu_model::model_movl7_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6019 {
6020 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6021   const sh2a_fpu_scache* abuf = sem;
6022   const sh2a_fpu_idesc* idesc = abuf->idesc;
6023   int cycles = 0;
6024   {
6025     int referenced = 0;
6026     unsigned long long insn_referenced = abuf->written;
6027     INT in_usereg = -1;
6028     in_usereg = FLD (in_rm);
6029     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6030   }
6031   {
6032     int referenced = 0;
6033     unsigned long long insn_referenced = abuf->written;
6034     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6035   }
6036   {
6037     int referenced = 0;
6038     unsigned long long insn_referenced = abuf->written;
6039     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
6040   }
6041   {
6042     int referenced = 0;
6043     unsigned long long insn_referenced = abuf->written;
6044     INT out_loadreg = -1;
6045     out_loadreg = FLD (out_rn);
6046     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
6047   }
6048   return cycles;
6049 #undef FLD
6050 }
6051
6052 UINT
6053 sh2a_fpu_sh2a_fpu_model::model_movl8_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6054 {
6055 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
6056   const sh2a_fpu_scache* abuf = sem;
6057   const sh2a_fpu_idesc* idesc = abuf->idesc;
6058   int cycles = 0;
6059   {
6060     INT in_usereg = -1;
6061     in_usereg = FLD (in_rm);
6062     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6063   }
6064   {
6065     INT in_usereg = -1;
6066     in_usereg = FLD (in_r0);
6067     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6068   }
6069   {
6070     cycles += model_u_exec_before (current_cpu, idesc, 2);
6071   }
6072   {
6073     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
6074   }
6075   {
6076     INT out_loadreg = -1;
6077     out_loadreg = FLD (out_rn);
6078     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
6079   }
6080   return cycles;
6081 #undef FLD
6082 }
6083
6084 UINT
6085 sh2a_fpu_sh2a_fpu_model::model_movl8_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6086 {
6087 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
6088   const sh2a_fpu_scache* abuf = sem;
6089   const sh2a_fpu_idesc* idesc = abuf->idesc;
6090   int cycles = 0;
6091   {
6092     int referenced = 0;
6093     unsigned long long insn_referenced = abuf->written;
6094     INT in_usereg = -1;
6095     in_usereg = FLD (in_rm);
6096     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6097   }
6098   {
6099     int referenced = 0;
6100     unsigned long long insn_referenced = abuf->written;
6101     INT in_usereg = -1;
6102     in_usereg = FLD (in_r0);
6103     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6104   }
6105   {
6106     int referenced = 0;
6107     unsigned long long insn_referenced = abuf->written;
6108     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6109   }
6110   {
6111     int referenced = 0;
6112     unsigned long long insn_referenced = abuf->written;
6113     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
6114   }
6115   {
6116     int referenced = 0;
6117     unsigned long long insn_referenced = abuf->written;
6118     INT out_loadreg = -1;
6119     out_loadreg = FLD (out_rn);
6120     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
6121   }
6122   return cycles;
6123 #undef FLD
6124 }
6125
6126 UINT
6127 sh2a_fpu_sh2a_fpu_model::model_movl9_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6128 {
6129 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
6130   const sh2a_fpu_scache* abuf = sem;
6131   const sh2a_fpu_idesc* idesc = abuf->idesc;
6132   int cycles = 0;
6133   {
6134     cycles += model_u_exec_before (current_cpu, idesc, 0);
6135   }
6136   {
6137     cycles += model_u_memory_access_before (current_cpu, idesc, 1);
6138   }
6139   {
6140     INT out_loadreg = -1;
6141     out_loadreg = FLD (out_r0);
6142     cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
6143   }
6144   return cycles;
6145 #undef FLD
6146 }
6147
6148 UINT
6149 sh2a_fpu_sh2a_fpu_model::model_movl9_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6150 {
6151 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
6152   const sh2a_fpu_scache* abuf = sem;
6153   const sh2a_fpu_idesc* idesc = abuf->idesc;
6154   int cycles = 0;
6155   {
6156     int referenced = 0;
6157     unsigned long long insn_referenced = abuf->written;
6158     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6159   }
6160   {
6161     int referenced = 0;
6162     unsigned long long insn_referenced = abuf->written;
6163     cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
6164   }
6165   {
6166     int referenced = 0;
6167     unsigned long long insn_referenced = abuf->written;
6168     INT out_loadreg = -1;
6169     out_loadreg = FLD (out_r0);
6170     cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
6171   }
6172   return cycles;
6173 #undef FLD
6174 }
6175
6176 UINT
6177 sh2a_fpu_sh2a_fpu_model::model_movl10_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6178 {
6179 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
6180   const sh2a_fpu_scache* abuf = sem;
6181   const sh2a_fpu_idesc* idesc = abuf->idesc;
6182   int cycles = 0;
6183   {
6184     cycles += model_u_exec_before (current_cpu, idesc, 0);
6185   }
6186   {
6187     cycles += model_u_memory_access_before (current_cpu, idesc, 1);
6188   }
6189   {
6190     INT out_loadreg = -1;
6191     out_loadreg = FLD (out_rn);
6192     cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
6193   }
6194   return cycles;
6195 #undef FLD
6196 }
6197
6198 UINT
6199 sh2a_fpu_sh2a_fpu_model::model_movl10_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6200 {
6201 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
6202   const sh2a_fpu_scache* abuf = sem;
6203   const sh2a_fpu_idesc* idesc = abuf->idesc;
6204   int cycles = 0;
6205   {
6206     int referenced = 0;
6207     unsigned long long insn_referenced = abuf->written;
6208     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6209   }
6210   {
6211     int referenced = 0;
6212     unsigned long long insn_referenced = abuf->written;
6213     cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
6214   }
6215   {
6216     int referenced = 0;
6217     unsigned long long insn_referenced = abuf->written;
6218     INT out_loadreg = -1;
6219     out_loadreg = FLD (out_rn);
6220     cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
6221   }
6222   return cycles;
6223 #undef FLD
6224 }
6225
6226 UINT
6227 sh2a_fpu_sh2a_fpu_model::model_movl11_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6228 {
6229 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
6230   const sh2a_fpu_scache* abuf = sem;
6231   const sh2a_fpu_idesc* idesc = abuf->idesc;
6232   int cycles = 0;
6233   {
6234     INT in_usereg = -1;
6235     in_usereg = FLD (in_rm);
6236     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6237   }
6238   {
6239     cycles += model_u_exec_before (current_cpu, idesc, 1);
6240   }
6241   {
6242     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
6243   }
6244   {
6245     INT out_loadreg = -1;
6246     out_loadreg = FLD (out_rn);
6247     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
6248   }
6249   return cycles;
6250 #undef FLD
6251 }
6252
6253 UINT
6254 sh2a_fpu_sh2a_fpu_model::model_movl11_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6255 {
6256 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
6257   const sh2a_fpu_scache* abuf = sem;
6258   const sh2a_fpu_idesc* idesc = abuf->idesc;
6259   int cycles = 0;
6260   {
6261     int referenced = 0;
6262     unsigned long long insn_referenced = abuf->written;
6263     INT in_usereg = -1;
6264     in_usereg = FLD (in_rm);
6265     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6266   }
6267   {
6268     int referenced = 0;
6269     unsigned long long insn_referenced = abuf->written;
6270     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6271   }
6272   {
6273     int referenced = 0;
6274     unsigned long long insn_referenced = abuf->written;
6275     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
6276   }
6277   {
6278     int referenced = 0;
6279     unsigned long long insn_referenced = abuf->written;
6280     INT out_loadreg = -1;
6281     out_loadreg = FLD (out_rn);
6282     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
6283   }
6284   return cycles;
6285 #undef FLD
6286 }
6287
6288 UINT
6289 sh2a_fpu_sh2a_fpu_model::model_movl12_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6290 {
6291 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
6292   const sh2a_fpu_scache* abuf = sem;
6293   const sh2a_fpu_idesc* idesc = abuf->idesc;
6294   int cycles = 0;
6295   {
6296     INT in_usereg = -1;
6297     in_usereg = FLD (in_rm);
6298     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6299   }
6300   {
6301     cycles += model_u_exec_before (current_cpu, idesc, 1);
6302   }
6303   {
6304     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
6305   }
6306   {
6307     INT out_loadreg = -1;
6308     out_loadreg = FLD (out_rn);
6309     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
6310   }
6311   return cycles;
6312 #undef FLD
6313 }
6314
6315 UINT
6316 sh2a_fpu_sh2a_fpu_model::model_movl12_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6317 {
6318 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
6319   const sh2a_fpu_scache* abuf = sem;
6320   const sh2a_fpu_idesc* idesc = abuf->idesc;
6321   int cycles = 0;
6322   {
6323     int referenced = 0;
6324     unsigned long long insn_referenced = abuf->written;
6325     INT in_usereg = -1;
6326     in_usereg = FLD (in_rm);
6327     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6328   }
6329   {
6330     int referenced = 0;
6331     unsigned long long insn_referenced = abuf->written;
6332     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6333   }
6334   {
6335     int referenced = 0;
6336     unsigned long long insn_referenced = abuf->written;
6337     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
6338   }
6339   {
6340     int referenced = 0;
6341     unsigned long long insn_referenced = abuf->written;
6342     INT out_loadreg = -1;
6343     out_loadreg = FLD (out_rn);
6344     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
6345   }
6346   return cycles;
6347 #undef FLD
6348 }
6349
6350 UINT
6351 sh2a_fpu_sh2a_fpu_model::model_movl13_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6352 {
6353 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
6354   const sh2a_fpu_scache* abuf = sem;
6355   const sh2a_fpu_idesc* idesc = abuf->idesc;
6356   int cycles = 0;
6357   {
6358     INT in_usereg = -1;
6359     in_usereg = FLD (in_rm);
6360     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6361   }
6362   {
6363     cycles += model_u_exec_before (current_cpu, idesc, 1);
6364   }
6365   {
6366     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
6367   }
6368   return cycles;
6369 #undef FLD
6370 }
6371
6372 UINT
6373 sh2a_fpu_sh2a_fpu_model::model_movl13_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6374 {
6375 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
6376   const sh2a_fpu_scache* abuf = sem;
6377   const sh2a_fpu_idesc* idesc = abuf->idesc;
6378   int cycles = 0;
6379   {
6380     int referenced = 0;
6381     unsigned long long insn_referenced = abuf->written;
6382     INT in_usereg = -1;
6383     in_usereg = FLD (in_rm);
6384     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6385   }
6386   {
6387     int referenced = 0;
6388     unsigned long long insn_referenced = abuf->written;
6389     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6390   }
6391   {
6392     int referenced = 0;
6393     unsigned long long insn_referenced = abuf->written;
6394     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
6395   }
6396   return cycles;
6397 #undef FLD
6398 }
6399
6400 UINT
6401 sh2a_fpu_sh2a_fpu_model::model_movw1_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6402 {
6403 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
6404   const sh2a_fpu_scache* abuf = sem;
6405   const sh2a_fpu_idesc* idesc = abuf->idesc;
6406   int cycles = 0;
6407   {
6408     INT in_usereg = -1;
6409     in_usereg = FLD (in_rm);
6410     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6411   }
6412   {
6413     INT in_usereg = -1;
6414     in_usereg = FLD (in_rn);
6415     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6416   }
6417   {
6418     cycles += model_u_exec_before (current_cpu, idesc, 2);
6419   }
6420   {
6421     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
6422   }
6423   return cycles;
6424 #undef FLD
6425 }
6426
6427 UINT
6428 sh2a_fpu_sh2a_fpu_model::model_movw1_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6429 {
6430 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
6431   const sh2a_fpu_scache* abuf = sem;
6432   const sh2a_fpu_idesc* idesc = abuf->idesc;
6433   int cycles = 0;
6434   {
6435     int referenced = 0;
6436     unsigned long long insn_referenced = abuf->written;
6437     INT in_usereg = -1;
6438     in_usereg = FLD (in_rm);
6439     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6440   }
6441   {
6442     int referenced = 0;
6443     unsigned long long insn_referenced = abuf->written;
6444     INT in_usereg = -1;
6445     in_usereg = FLD (in_rn);
6446     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6447   }
6448   {
6449     int referenced = 0;
6450     unsigned long long insn_referenced = abuf->written;
6451     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6452   }
6453   {
6454     int referenced = 0;
6455     unsigned long long insn_referenced = abuf->written;
6456     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
6457   }
6458   return cycles;
6459 #undef FLD
6460 }
6461
6462 UINT
6463 sh2a_fpu_sh2a_fpu_model::model_movw2_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6464 {
6465 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6466   const sh2a_fpu_scache* abuf = sem;
6467   const sh2a_fpu_idesc* idesc = abuf->idesc;
6468   int cycles = 0;
6469   {
6470     INT in_usereg = -1;
6471     in_usereg = FLD (in_rm);
6472     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6473   }
6474   {
6475     INT in_usereg = -1;
6476     in_usereg = FLD (in_rn);
6477     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6478   }
6479   {
6480     cycles += model_u_exec_before (current_cpu, idesc, 2);
6481   }
6482   {
6483     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
6484   }
6485   return cycles;
6486 #undef FLD
6487 }
6488
6489 UINT
6490 sh2a_fpu_sh2a_fpu_model::model_movw2_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6491 {
6492 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6493   const sh2a_fpu_scache* abuf = sem;
6494   const sh2a_fpu_idesc* idesc = abuf->idesc;
6495   int cycles = 0;
6496   {
6497     int referenced = 0;
6498     unsigned long long insn_referenced = abuf->written;
6499     INT in_usereg = -1;
6500     in_usereg = FLD (in_rm);
6501     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6502   }
6503   {
6504     int referenced = 0;
6505     unsigned long long insn_referenced = abuf->written;
6506     INT in_usereg = -1;
6507     in_usereg = FLD (in_rn);
6508     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6509   }
6510   {
6511     int referenced = 0;
6512     unsigned long long insn_referenced = abuf->written;
6513     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6514   }
6515   {
6516     int referenced = 0;
6517     unsigned long long insn_referenced = abuf->written;
6518     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
6519   }
6520   return cycles;
6521 #undef FLD
6522 }
6523
6524 UINT
6525 sh2a_fpu_sh2a_fpu_model::model_movw3_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6526 {
6527 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
6528   const sh2a_fpu_scache* abuf = sem;
6529   const sh2a_fpu_idesc* idesc = abuf->idesc;
6530   int cycles = 0;
6531   {
6532     INT in_usereg = -1;
6533     in_usereg = FLD (in_rm);
6534     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6535   }
6536   {
6537     INT in_usereg = -1;
6538     in_usereg = FLD (in_rn);
6539     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6540   }
6541   {
6542     INT in_usereg = -1;
6543     in_usereg = FLD (in_r0);
6544     cycles += model_u_use_gr_before (current_cpu, idesc, 2, in_usereg);
6545   }
6546   {
6547     cycles += model_u_exec_before (current_cpu, idesc, 3);
6548   }
6549   {
6550     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
6551   }
6552   return cycles;
6553 #undef FLD
6554 }
6555
6556 UINT
6557 sh2a_fpu_sh2a_fpu_model::model_movw3_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6558 {
6559 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
6560   const sh2a_fpu_scache* abuf = sem;
6561   const sh2a_fpu_idesc* idesc = abuf->idesc;
6562   int cycles = 0;
6563   {
6564     int referenced = 0;
6565     unsigned long long insn_referenced = abuf->written;
6566     INT in_usereg = -1;
6567     in_usereg = FLD (in_rm);
6568     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6569   }
6570   {
6571     int referenced = 0;
6572     unsigned long long insn_referenced = abuf->written;
6573     INT in_usereg = -1;
6574     in_usereg = FLD (in_rn);
6575     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6576   }
6577   {
6578     int referenced = 0;
6579     unsigned long long insn_referenced = abuf->written;
6580     INT in_usereg = -1;
6581     in_usereg = FLD (in_r0);
6582     cycles += model_u_use_gr_after (current_cpu, idesc, 2, referenced, in_usereg);
6583   }
6584   {
6585     int referenced = 0;
6586     unsigned long long insn_referenced = abuf->written;
6587     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
6588   }
6589   {
6590     int referenced = 0;
6591     unsigned long long insn_referenced = abuf->written;
6592     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
6593   }
6594   return cycles;
6595 #undef FLD
6596 }
6597
6598 UINT
6599 sh2a_fpu_sh2a_fpu_model::model_movw4_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6600 {
6601 #define FLD(f) abuf->fields.sfmt_movw4_compact.f
6602   const sh2a_fpu_scache* abuf = sem;
6603   const sh2a_fpu_idesc* idesc = abuf->idesc;
6604   int cycles = 0;
6605   {
6606     INT in_usereg = -1;
6607     in_usereg = FLD (in_r0);
6608     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6609   }
6610   {
6611     cycles += model_u_exec_before (current_cpu, idesc, 1);
6612   }
6613   {
6614     cycles += model_u_sx_before (current_cpu, idesc, 2);
6615   }
6616   {
6617     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
6618   }
6619   return cycles;
6620 #undef FLD
6621 }
6622
6623 UINT
6624 sh2a_fpu_sh2a_fpu_model::model_movw4_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6625 {
6626 #define FLD(f) abuf->fields.sfmt_movw4_compact.f
6627   const sh2a_fpu_scache* abuf = sem;
6628   const sh2a_fpu_idesc* idesc = abuf->idesc;
6629   int cycles = 0;
6630   {
6631     int referenced = 0;
6632     unsigned long long insn_referenced = abuf->written;
6633     INT in_usereg = -1;
6634     in_usereg = FLD (in_r0);
6635     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6636   }
6637   {
6638     int referenced = 0;
6639     unsigned long long insn_referenced = abuf->written;
6640     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6641   }
6642   {
6643     int referenced = 0;
6644     unsigned long long insn_referenced = abuf->written;
6645     cycles += model_u_sx_after (current_cpu, idesc, 2, referenced);
6646   }
6647   {
6648     int referenced = 0;
6649     unsigned long long insn_referenced = abuf->written;
6650     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
6651   }
6652   return cycles;
6653 #undef FLD
6654 }
6655
6656 UINT
6657 sh2a_fpu_sh2a_fpu_model::model_movw5_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6658 {
6659 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
6660   const sh2a_fpu_scache* abuf = sem;
6661   const sh2a_fpu_idesc* idesc = abuf->idesc;
6662   int cycles = 0;
6663   {
6664     INT in_usereg = -1;
6665     in_usereg = FLD (in_rm);
6666     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6667   }
6668   {
6669     INT in_usereg = -1;
6670     in_usereg = FLD (in_r0);
6671     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6672   }
6673   {
6674     cycles += model_u_exec_before (current_cpu, idesc, 2);
6675   }
6676   {
6677     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
6678   }
6679   return cycles;
6680 #undef FLD
6681 }
6682
6683 UINT
6684 sh2a_fpu_sh2a_fpu_model::model_movw5_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6685 {
6686 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
6687   const sh2a_fpu_scache* abuf = sem;
6688   const sh2a_fpu_idesc* idesc = abuf->idesc;
6689   int cycles = 0;
6690   {
6691     int referenced = 0;
6692     unsigned long long insn_referenced = abuf->written;
6693     INT in_usereg = -1;
6694     in_usereg = FLD (in_rm);
6695     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6696   }
6697   {
6698     int referenced = 0;
6699     unsigned long long insn_referenced = abuf->written;
6700     INT in_usereg = -1;
6701     in_usereg = FLD (in_r0);
6702     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6703   }
6704   {
6705     int referenced = 0;
6706     unsigned long long insn_referenced = abuf->written;
6707     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6708   }
6709   {
6710     int referenced = 0;
6711     unsigned long long insn_referenced = abuf->written;
6712     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
6713   }
6714   return cycles;
6715 #undef FLD
6716 }
6717
6718 UINT
6719 sh2a_fpu_sh2a_fpu_model::model_movw6_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6720 {
6721 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
6722   const sh2a_fpu_scache* abuf = sem;
6723   const sh2a_fpu_idesc* idesc = abuf->idesc;
6724   int cycles = 0;
6725   {
6726     INT in_usereg = -1;
6727     in_usereg = FLD (in_rm);
6728     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6729   }
6730   {
6731     cycles += model_u_exec_before (current_cpu, idesc, 1);
6732   }
6733   {
6734     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
6735   }
6736   {
6737     INT out_loadreg = -1;
6738     out_loadreg = FLD (out_rn);
6739     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
6740   }
6741   return cycles;
6742 #undef FLD
6743 }
6744
6745 UINT
6746 sh2a_fpu_sh2a_fpu_model::model_movw6_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6747 {
6748 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
6749   const sh2a_fpu_scache* abuf = sem;
6750   const sh2a_fpu_idesc* idesc = abuf->idesc;
6751   int cycles = 0;
6752   {
6753     int referenced = 0;
6754     unsigned long long insn_referenced = abuf->written;
6755     INT in_usereg = -1;
6756     in_usereg = FLD (in_rm);
6757     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6758   }
6759   {
6760     int referenced = 0;
6761     unsigned long long insn_referenced = abuf->written;
6762     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6763   }
6764   {
6765     int referenced = 0;
6766     unsigned long long insn_referenced = abuf->written;
6767     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
6768   }
6769   {
6770     int referenced = 0;
6771     unsigned long long insn_referenced = abuf->written;
6772     INT out_loadreg = -1;
6773     out_loadreg = FLD (out_rn);
6774     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
6775   }
6776   return cycles;
6777 #undef FLD
6778 }
6779
6780 UINT
6781 sh2a_fpu_sh2a_fpu_model::model_movw7_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6782 {
6783 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6784   const sh2a_fpu_scache* abuf = sem;
6785   const sh2a_fpu_idesc* idesc = abuf->idesc;
6786   int cycles = 0;
6787   {
6788     INT in_usereg = -1;
6789     in_usereg = FLD (in_rm);
6790     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6791   }
6792   {
6793     cycles += model_u_exec_before (current_cpu, idesc, 1);
6794   }
6795   {
6796     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
6797   }
6798   {
6799     INT out_loadreg = -1;
6800     out_loadreg = FLD (out_rn);
6801     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
6802   }
6803   return cycles;
6804 #undef FLD
6805 }
6806
6807 UINT
6808 sh2a_fpu_sh2a_fpu_model::model_movw7_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6809 {
6810 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6811   const sh2a_fpu_scache* abuf = sem;
6812   const sh2a_fpu_idesc* idesc = abuf->idesc;
6813   int cycles = 0;
6814   {
6815     int referenced = 0;
6816     unsigned long long insn_referenced = abuf->written;
6817     INT in_usereg = -1;
6818     in_usereg = FLD (in_rm);
6819     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6820   }
6821   {
6822     int referenced = 0;
6823     unsigned long long insn_referenced = abuf->written;
6824     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
6825   }
6826   {
6827     int referenced = 0;
6828     unsigned long long insn_referenced = abuf->written;
6829     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
6830   }
6831   {
6832     int referenced = 0;
6833     unsigned long long insn_referenced = abuf->written;
6834     INT out_loadreg = -1;
6835     out_loadreg = FLD (out_rn);
6836     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
6837   }
6838   return cycles;
6839 #undef FLD
6840 }
6841
6842 UINT
6843 sh2a_fpu_sh2a_fpu_model::model_movw8_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6844 {
6845 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
6846   const sh2a_fpu_scache* abuf = sem;
6847   const sh2a_fpu_idesc* idesc = abuf->idesc;
6848   int cycles = 0;
6849   {
6850     INT in_usereg = -1;
6851     in_usereg = FLD (in_rm);
6852     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
6853   }
6854   {
6855     INT in_usereg = -1;
6856     in_usereg = FLD (in_r0);
6857     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
6858   }
6859   {
6860     cycles += model_u_exec_before (current_cpu, idesc, 2);
6861   }
6862   {
6863     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
6864   }
6865   {
6866     INT out_loadreg = -1;
6867     out_loadreg = FLD (out_rn);
6868     cycles += model_u_load_gr_before (current_cpu, idesc, 4, out_loadreg);
6869   }
6870   return cycles;
6871 #undef FLD
6872 }
6873
6874 UINT
6875 sh2a_fpu_sh2a_fpu_model::model_movw8_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6876 {
6877 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
6878   const sh2a_fpu_scache* abuf = sem;
6879   const sh2a_fpu_idesc* idesc = abuf->idesc;
6880   int cycles = 0;
6881   {
6882     int referenced = 0;
6883     unsigned long long insn_referenced = abuf->written;
6884     INT in_usereg = -1;
6885     in_usereg = FLD (in_rm);
6886     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
6887   }
6888   {
6889     int referenced = 0;
6890     unsigned long long insn_referenced = abuf->written;
6891     INT in_usereg = -1;
6892     in_usereg = FLD (in_r0);
6893     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
6894   }
6895   {
6896     int referenced = 0;
6897     unsigned long long insn_referenced = abuf->written;
6898     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
6899   }
6900   {
6901     int referenced = 0;
6902     unsigned long long insn_referenced = abuf->written;
6903     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
6904   }
6905   {
6906     int referenced = 0;
6907     unsigned long long insn_referenced = abuf->written;
6908     INT out_loadreg = -1;
6909     out_loadreg = FLD (out_rn);
6910     cycles += model_u_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
6911   }
6912   return cycles;
6913 #undef FLD
6914 }
6915
6916 UINT
6917 sh2a_fpu_sh2a_fpu_model::model_movw9_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6918 {
6919 #define FLD(f) abuf->fields.sfmt_movw9_compact.f
6920   const sh2a_fpu_scache* abuf = sem;
6921   const sh2a_fpu_idesc* idesc = abuf->idesc;
6922   int cycles = 0;
6923   {
6924     cycles += model_u_exec_before (current_cpu, idesc, 0);
6925   }
6926   {
6927     cycles += model_u_memory_access_before (current_cpu, idesc, 1);
6928   }
6929   {
6930     INT out_loadreg = -1;
6931     out_loadreg = FLD (out_r0);
6932     cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
6933   }
6934   return cycles;
6935 #undef FLD
6936 }
6937
6938 UINT
6939 sh2a_fpu_sh2a_fpu_model::model_movw9_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6940 {
6941 #define FLD(f) abuf->fields.sfmt_movw9_compact.f
6942   const sh2a_fpu_scache* abuf = sem;
6943   const sh2a_fpu_idesc* idesc = abuf->idesc;
6944   int cycles = 0;
6945   {
6946     int referenced = 0;
6947     unsigned long long insn_referenced = abuf->written;
6948     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6949   }
6950   {
6951     int referenced = 0;
6952     unsigned long long insn_referenced = abuf->written;
6953     cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
6954   }
6955   {
6956     int referenced = 0;
6957     unsigned long long insn_referenced = abuf->written;
6958     INT out_loadreg = -1;
6959     out_loadreg = FLD (out_r0);
6960     cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
6961   }
6962   return cycles;
6963 #undef FLD
6964 }
6965
6966 UINT
6967 sh2a_fpu_sh2a_fpu_model::model_movw10_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6968 {
6969 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6970   const sh2a_fpu_scache* abuf = sem;
6971   const sh2a_fpu_idesc* idesc = abuf->idesc;
6972   int cycles = 0;
6973   {
6974     cycles += model_u_exec_before (current_cpu, idesc, 0);
6975   }
6976   {
6977     cycles += model_u_memory_access_before (current_cpu, idesc, 1);
6978   }
6979   {
6980     INT out_loadreg = -1;
6981     out_loadreg = FLD (out_rn);
6982     cycles += model_u_load_gr_before (current_cpu, idesc, 2, out_loadreg);
6983   }
6984   return cycles;
6985 #undef FLD
6986 }
6987
6988 UINT
6989 sh2a_fpu_sh2a_fpu_model::model_movw10_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
6990 {
6991 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6992   const sh2a_fpu_scache* abuf = sem;
6993   const sh2a_fpu_idesc* idesc = abuf->idesc;
6994   int cycles = 0;
6995   {
6996     int referenced = 0;
6997     unsigned long long insn_referenced = abuf->written;
6998     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
6999   }
7000   {
7001     int referenced = 0;
7002     unsigned long long insn_referenced = abuf->written;
7003     cycles += model_u_memory_access_after (current_cpu, idesc, 1, referenced);
7004   }
7005   {
7006     int referenced = 0;
7007     unsigned long long insn_referenced = abuf->written;
7008     INT out_loadreg = -1;
7009     out_loadreg = FLD (out_rn);
7010     cycles += model_u_load_gr_after (current_cpu, idesc, 2, referenced, out_loadreg);
7011   }
7012   return cycles;
7013 #undef FLD
7014 }
7015
7016 UINT
7017 sh2a_fpu_sh2a_fpu_model::model_movw11_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7018 {
7019 #define FLD(f) abuf->fields.sfmt_movw11_compact.f
7020   const sh2a_fpu_scache* abuf = sem;
7021   const sh2a_fpu_idesc* idesc = abuf->idesc;
7022   int cycles = 0;
7023   {
7024     INT in_usereg = -1;
7025     in_usereg = FLD (in_rm);
7026     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7027   }
7028   {
7029     cycles += model_u_exec_before (current_cpu, idesc, 1);
7030   }
7031   {
7032     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
7033   }
7034   {
7035     INT out_loadreg = -1;
7036     out_loadreg = FLD (out_r0);
7037     cycles += model_u_load_gr_before (current_cpu, idesc, 3, out_loadreg);
7038   }
7039   return cycles;
7040 #undef FLD
7041 }
7042
7043 UINT
7044 sh2a_fpu_sh2a_fpu_model::model_movw11_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7045 {
7046 #define FLD(f) abuf->fields.sfmt_movw11_compact.f
7047   const sh2a_fpu_scache* abuf = sem;
7048   const sh2a_fpu_idesc* idesc = abuf->idesc;
7049   int cycles = 0;
7050   {
7051     int referenced = 0;
7052     unsigned long long insn_referenced = abuf->written;
7053     INT in_usereg = -1;
7054     in_usereg = FLD (in_rm);
7055     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7056   }
7057   {
7058     int referenced = 0;
7059     unsigned long long insn_referenced = abuf->written;
7060     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7061   }
7062   {
7063     int referenced = 0;
7064     unsigned long long insn_referenced = abuf->written;
7065     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
7066   }
7067   {
7068     int referenced = 0;
7069     unsigned long long insn_referenced = abuf->written;
7070     INT out_loadreg = -1;
7071     out_loadreg = FLD (out_r0);
7072     cycles += model_u_load_gr_after (current_cpu, idesc, 3, referenced, out_loadreg);
7073   }
7074   return cycles;
7075 #undef FLD
7076 }
7077
7078 UINT
7079 sh2a_fpu_sh2a_fpu_model::model_mova_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7080 {
7081 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
7082   const sh2a_fpu_scache* abuf = sem;
7083   const sh2a_fpu_idesc* idesc = abuf->idesc;
7084   int cycles = 0;
7085   {
7086     cycles += model_u_exec_before (current_cpu, idesc, 0);
7087   }
7088   return cycles;
7089 #undef FLD
7090 }
7091
7092 UINT
7093 sh2a_fpu_sh2a_fpu_model::model_mova_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7094 {
7095 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
7096   const sh2a_fpu_scache* abuf = sem;
7097   const sh2a_fpu_idesc* idesc = abuf->idesc;
7098   int cycles = 0;
7099   {
7100     int referenced = 0;
7101     unsigned long long insn_referenced = abuf->written;
7102     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
7103   }
7104   return cycles;
7105 #undef FLD
7106 }
7107
7108 UINT
7109 sh2a_fpu_sh2a_fpu_model::model_movt_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7110 {
7111 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
7112   const sh2a_fpu_scache* abuf = sem;
7113   const sh2a_fpu_idesc* idesc = abuf->idesc;
7114   int cycles = 0;
7115   {
7116     cycles += model_u_use_tbit_before (current_cpu, idesc, 0);
7117   }
7118   {
7119     cycles += model_u_exec_before (current_cpu, idesc, 1);
7120   }
7121   return cycles;
7122 #undef FLD
7123 }
7124
7125 UINT
7126 sh2a_fpu_sh2a_fpu_model::model_movt_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7127 {
7128 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
7129   const sh2a_fpu_scache* abuf = sem;
7130   const sh2a_fpu_idesc* idesc = abuf->idesc;
7131   int cycles = 0;
7132   {
7133     int referenced = 0;
7134     unsigned long long insn_referenced = abuf->written;
7135     cycles += model_u_use_tbit_after (current_cpu, idesc, 0, referenced);
7136   }
7137   {
7138     int referenced = 0;
7139     unsigned long long insn_referenced = abuf->written;
7140     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7141   }
7142   return cycles;
7143 #undef FLD
7144 }
7145
7146 UINT
7147 sh2a_fpu_sh2a_fpu_model::model_mull_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7148 {
7149 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
7150   const sh2a_fpu_scache* abuf = sem;
7151   const sh2a_fpu_idesc* idesc = abuf->idesc;
7152   int cycles = 0;
7153   {
7154     INT in_usereg = -1;
7155     in_usereg = FLD (in_rn);
7156     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7157   }
7158   {
7159     INT in_usereg = -1;
7160     in_usereg = FLD (in_rm);
7161     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7162   }
7163   {
7164     cycles += model_u_mull_before (current_cpu, idesc, 2);
7165   }
7166   return cycles;
7167 #undef FLD
7168 }
7169
7170 UINT
7171 sh2a_fpu_sh2a_fpu_model::model_mull_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7172 {
7173 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
7174   const sh2a_fpu_scache* abuf = sem;
7175   const sh2a_fpu_idesc* idesc = abuf->idesc;
7176   int cycles = 0;
7177   {
7178     int referenced = 0;
7179     unsigned long long insn_referenced = abuf->written;
7180     INT in_usereg = -1;
7181     in_usereg = FLD (in_rn);
7182     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7183   }
7184   {
7185     int referenced = 0;
7186     unsigned long long insn_referenced = abuf->written;
7187     INT in_usereg = -1;
7188     in_usereg = FLD (in_rm);
7189     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7190   }
7191   {
7192     int referenced = 0;
7193     unsigned long long insn_referenced = abuf->written;
7194     cycles += model_u_mull_after (current_cpu, idesc, 2, referenced);
7195   }
7196   return cycles;
7197 #undef FLD
7198 }
7199
7200 UINT
7201 sh2a_fpu_sh2a_fpu_model::model_mulsw_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7202 {
7203 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
7204   const sh2a_fpu_scache* abuf = sem;
7205   const sh2a_fpu_idesc* idesc = abuf->idesc;
7206   int cycles = 0;
7207   {
7208     INT in_usereg = -1;
7209     in_usereg = FLD (in_rn);
7210     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7211   }
7212   {
7213     INT in_usereg = -1;
7214     in_usereg = FLD (in_rm);
7215     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7216   }
7217   {
7218     cycles += model_u_mulsw_before (current_cpu, idesc, 2);
7219   }
7220   {
7221     cycles += model_u_multiply_before (current_cpu, idesc, 3);
7222   }
7223   return cycles;
7224 #undef FLD
7225 }
7226
7227 UINT
7228 sh2a_fpu_sh2a_fpu_model::model_mulsw_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7229 {
7230 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
7231   const sh2a_fpu_scache* abuf = sem;
7232   const sh2a_fpu_idesc* idesc = abuf->idesc;
7233   int cycles = 0;
7234   {
7235     int referenced = 0;
7236     unsigned long long insn_referenced = abuf->written;
7237     INT in_usereg = -1;
7238     in_usereg = FLD (in_rn);
7239     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7240   }
7241   {
7242     int referenced = 0;
7243     unsigned long long insn_referenced = abuf->written;
7244     INT in_usereg = -1;
7245     in_usereg = FLD (in_rm);
7246     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7247   }
7248   {
7249     int referenced = 0;
7250     unsigned long long insn_referenced = abuf->written;
7251     cycles += model_u_mulsw_after (current_cpu, idesc, 2, referenced);
7252   }
7253   {
7254     int referenced = 0;
7255     unsigned long long insn_referenced = abuf->written;
7256     cycles += model_u_multiply_after (current_cpu, idesc, 3, referenced);
7257   }
7258   return cycles;
7259 #undef FLD
7260 }
7261
7262 UINT
7263 sh2a_fpu_sh2a_fpu_model::model_muluw_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7264 {
7265 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
7266   const sh2a_fpu_scache* abuf = sem;
7267   const sh2a_fpu_idesc* idesc = abuf->idesc;
7268   int cycles = 0;
7269   {
7270     INT in_usereg = -1;
7271     in_usereg = FLD (in_rn);
7272     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7273   }
7274   {
7275     INT in_usereg = -1;
7276     in_usereg = FLD (in_rm);
7277     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7278   }
7279   {
7280     cycles += model_u_mulsw_before (current_cpu, idesc, 2);
7281   }
7282   {
7283     cycles += model_u_multiply_before (current_cpu, idesc, 3);
7284   }
7285   return cycles;
7286 #undef FLD
7287 }
7288
7289 UINT
7290 sh2a_fpu_sh2a_fpu_model::model_muluw_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7291 {
7292 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
7293   const sh2a_fpu_scache* abuf = sem;
7294   const sh2a_fpu_idesc* idesc = abuf->idesc;
7295   int cycles = 0;
7296   {
7297     int referenced = 0;
7298     unsigned long long insn_referenced = abuf->written;
7299     INT in_usereg = -1;
7300     in_usereg = FLD (in_rn);
7301     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7302   }
7303   {
7304     int referenced = 0;
7305     unsigned long long insn_referenced = abuf->written;
7306     INT in_usereg = -1;
7307     in_usereg = FLD (in_rm);
7308     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7309   }
7310   {
7311     int referenced = 0;
7312     unsigned long long insn_referenced = abuf->written;
7313     cycles += model_u_mulsw_after (current_cpu, idesc, 2, referenced);
7314   }
7315   {
7316     int referenced = 0;
7317     unsigned long long insn_referenced = abuf->written;
7318     cycles += model_u_multiply_after (current_cpu, idesc, 3, referenced);
7319   }
7320   return cycles;
7321 #undef FLD
7322 }
7323
7324 UINT
7325 sh2a_fpu_sh2a_fpu_model::model_neg_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7326 {
7327 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
7328   const sh2a_fpu_scache* abuf = sem;
7329   const sh2a_fpu_idesc* idesc = abuf->idesc;
7330   int cycles = 0;
7331   {
7332     INT in_usereg = -1;
7333     in_usereg = FLD (in_rm);
7334     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7335   }
7336   {
7337     cycles += model_u_exec_before (current_cpu, idesc, 1);
7338   }
7339   return cycles;
7340 #undef FLD
7341 }
7342
7343 UINT
7344 sh2a_fpu_sh2a_fpu_model::model_neg_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7345 {
7346 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
7347   const sh2a_fpu_scache* abuf = sem;
7348   const sh2a_fpu_idesc* idesc = abuf->idesc;
7349   int cycles = 0;
7350   {
7351     int referenced = 0;
7352     unsigned long long insn_referenced = abuf->written;
7353     INT in_usereg = -1;
7354     in_usereg = FLD (in_rm);
7355     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7356   }
7357   {
7358     int referenced = 0;
7359     unsigned long long insn_referenced = abuf->written;
7360     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7361   }
7362   return cycles;
7363 #undef FLD
7364 }
7365
7366 UINT
7367 sh2a_fpu_sh2a_fpu_model::model_negc_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7368 {
7369 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
7370   const sh2a_fpu_scache* abuf = sem;
7371   const sh2a_fpu_idesc* idesc = abuf->idesc;
7372   int cycles = 0;
7373   {
7374     INT in_usereg = -1;
7375     in_usereg = FLD (in_rm);
7376     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7377   }
7378   {
7379     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7380   }
7381   {
7382     cycles += model_u_exec_before (current_cpu, idesc, 2);
7383   }
7384   {
7385     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
7386   }
7387   return cycles;
7388 #undef FLD
7389 }
7390
7391 UINT
7392 sh2a_fpu_sh2a_fpu_model::model_negc_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7393 {
7394 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
7395   const sh2a_fpu_scache* abuf = sem;
7396   const sh2a_fpu_idesc* idesc = abuf->idesc;
7397   int cycles = 0;
7398   {
7399     int referenced = 0;
7400     unsigned long long insn_referenced = abuf->written;
7401     INT in_usereg = -1;
7402     in_usereg = FLD (in_rm);
7403     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7404   }
7405   {
7406     int referenced = 0;
7407     unsigned long long insn_referenced = abuf->written;
7408     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7409   }
7410   {
7411     int referenced = 0;
7412     unsigned long long insn_referenced = abuf->written;
7413     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7414   }
7415   {
7416     int referenced = 0;
7417     unsigned long long insn_referenced = abuf->written;
7418     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
7419   }
7420   return cycles;
7421 #undef FLD
7422 }
7423
7424 UINT
7425 sh2a_fpu_sh2a_fpu_model::model_nop_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7426 {
7427 #define FLD(f) abuf->fields.fmt_empty.f
7428   const sh2a_fpu_scache* abuf = sem;
7429   const sh2a_fpu_idesc* idesc = abuf->idesc;
7430   int cycles = 0;
7431   {
7432     cycles += model_u_exec_before (current_cpu, idesc, 0);
7433   }
7434   return cycles;
7435 #undef FLD
7436 }
7437
7438 UINT
7439 sh2a_fpu_sh2a_fpu_model::model_nop_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7440 {
7441 #define FLD(f) abuf->fields.fmt_empty.f
7442   const sh2a_fpu_scache* abuf = sem;
7443   const sh2a_fpu_idesc* idesc = abuf->idesc;
7444   int cycles = 0;
7445   {
7446     int referenced = 0;
7447     unsigned long long insn_referenced = abuf->written;
7448     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
7449   }
7450   return cycles;
7451 #undef FLD
7452 }
7453
7454 UINT
7455 sh2a_fpu_sh2a_fpu_model::model_not_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7456 {
7457 #define FLD(f) abuf->fields.sfmt_and_compact.f
7458   const sh2a_fpu_scache* abuf = sem;
7459   const sh2a_fpu_idesc* idesc = abuf->idesc;
7460   int cycles = 0;
7461   {
7462     INT in_usereg = -1;
7463     in_usereg = FLD (in_rm64);
7464     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7465   }
7466   {
7467     cycles += model_u_exec_before (current_cpu, idesc, 1);
7468   }
7469   return cycles;
7470 #undef FLD
7471 }
7472
7473 UINT
7474 sh2a_fpu_sh2a_fpu_model::model_not_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7475 {
7476 #define FLD(f) abuf->fields.sfmt_and_compact.f
7477   const sh2a_fpu_scache* abuf = sem;
7478   const sh2a_fpu_idesc* idesc = abuf->idesc;
7479   int cycles = 0;
7480   {
7481     int referenced = 0;
7482     unsigned long long insn_referenced = abuf->written;
7483     INT in_usereg = -1;
7484     in_usereg = FLD (in_rm64);
7485     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7486   }
7487   {
7488     int referenced = 0;
7489     unsigned long long insn_referenced = abuf->written;
7490     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7491   }
7492   return cycles;
7493 #undef FLD
7494 }
7495
7496 UINT
7497 sh2a_fpu_sh2a_fpu_model::model_or_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7498 {
7499 #define FLD(f) abuf->fields.sfmt_and_compact.f
7500   const sh2a_fpu_scache* abuf = sem;
7501   const sh2a_fpu_idesc* idesc = abuf->idesc;
7502   int cycles = 0;
7503   {
7504     INT in_usereg = -1;
7505     in_usereg = FLD (in_rm64);
7506     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7507   }
7508   {
7509     INT in_usereg = -1;
7510     in_usereg = FLD (in_rn64);
7511     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7512   }
7513   {
7514     cycles += model_u_exec_before (current_cpu, idesc, 2);
7515   }
7516   return cycles;
7517 #undef FLD
7518 }
7519
7520 UINT
7521 sh2a_fpu_sh2a_fpu_model::model_or_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7522 {
7523 #define FLD(f) abuf->fields.sfmt_and_compact.f
7524   const sh2a_fpu_scache* abuf = sem;
7525   const sh2a_fpu_idesc* idesc = abuf->idesc;
7526   int cycles = 0;
7527   {
7528     int referenced = 0;
7529     unsigned long long insn_referenced = abuf->written;
7530     INT in_usereg = -1;
7531     in_usereg = FLD (in_rm64);
7532     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7533   }
7534   {
7535     int referenced = 0;
7536     unsigned long long insn_referenced = abuf->written;
7537     INT in_usereg = -1;
7538     in_usereg = FLD (in_rn64);
7539     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
7540   }
7541   {
7542     int referenced = 0;
7543     unsigned long long insn_referenced = abuf->written;
7544     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7545   }
7546   return cycles;
7547 #undef FLD
7548 }
7549
7550 UINT
7551 sh2a_fpu_sh2a_fpu_model::model_ori_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7552 {
7553 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7554   const sh2a_fpu_scache* abuf = sem;
7555   const sh2a_fpu_idesc* idesc = abuf->idesc;
7556   int cycles = 0;
7557   {
7558     INT in_usereg = -1;
7559     in_usereg = FLD (in_r0);
7560     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7561   }
7562   {
7563     cycles += model_u_exec_before (current_cpu, idesc, 1);
7564   }
7565   return cycles;
7566 #undef FLD
7567 }
7568
7569 UINT
7570 sh2a_fpu_sh2a_fpu_model::model_ori_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7571 {
7572 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7573   const sh2a_fpu_scache* abuf = sem;
7574   const sh2a_fpu_idesc* idesc = abuf->idesc;
7575   int cycles = 0;
7576   {
7577     int referenced = 0;
7578     unsigned long long insn_referenced = abuf->written;
7579     INT in_usereg = -1;
7580     in_usereg = FLD (in_r0);
7581     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7582   }
7583   {
7584     int referenced = 0;
7585     unsigned long long insn_referenced = abuf->written;
7586     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
7587   }
7588   return cycles;
7589 #undef FLD
7590 }
7591
7592 UINT
7593 sh2a_fpu_sh2a_fpu_model::model_orb_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7594 {
7595 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7596   const sh2a_fpu_scache* abuf = sem;
7597   const sh2a_fpu_idesc* idesc = abuf->idesc;
7598   int cycles = 0;
7599   {
7600     INT in_usereg = -1;
7601     in_usereg = FLD (in_r0);
7602     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7603   }
7604   {
7605     cycles += model_u_logic_b_before (current_cpu, idesc, 1);
7606   }
7607   {
7608     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
7609   }
7610   return cycles;
7611 #undef FLD
7612 }
7613
7614 UINT
7615 sh2a_fpu_sh2a_fpu_model::model_orb_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7616 {
7617 #define FLD(f) abuf->fields.sfmt_andi_compact.f
7618   const sh2a_fpu_scache* abuf = sem;
7619   const sh2a_fpu_idesc* idesc = abuf->idesc;
7620   int cycles = 0;
7621   {
7622     int referenced = 0;
7623     unsigned long long insn_referenced = abuf->written;
7624     INT in_usereg = -1;
7625     in_usereg = FLD (in_r0);
7626     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7627   }
7628   {
7629     int referenced = 0;
7630     unsigned long long insn_referenced = abuf->written;
7631     cycles += model_u_logic_b_after (current_cpu, idesc, 1, referenced);
7632   }
7633   {
7634     int referenced = 0;
7635     unsigned long long insn_referenced = abuf->written;
7636     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
7637   }
7638   return cycles;
7639 #undef FLD
7640 }
7641
7642 UINT
7643 sh2a_fpu_sh2a_fpu_model::model_rotcl_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7644 {
7645 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
7646   const sh2a_fpu_scache* abuf = sem;
7647   const sh2a_fpu_idesc* idesc = abuf->idesc;
7648   int cycles = 0;
7649   {
7650     INT in_usereg = -1;
7651     in_usereg = FLD (in_rn);
7652     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7653   }
7654   {
7655     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7656   }
7657   {
7658     cycles += model_u_exec_before (current_cpu, idesc, 2);
7659   }
7660   {
7661     cycles += model_u_shift_before (current_cpu, idesc, 3);
7662   }
7663   {
7664     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
7665   }
7666   return cycles;
7667 #undef FLD
7668 }
7669
7670 UINT
7671 sh2a_fpu_sh2a_fpu_model::model_rotcl_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7672 {
7673 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
7674   const sh2a_fpu_scache* abuf = sem;
7675   const sh2a_fpu_idesc* idesc = abuf->idesc;
7676   int cycles = 0;
7677   {
7678     int referenced = 0;
7679     unsigned long long insn_referenced = abuf->written;
7680     INT in_usereg = -1;
7681     in_usereg = FLD (in_rn);
7682     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7683   }
7684   {
7685     int referenced = 0;
7686     unsigned long long insn_referenced = abuf->written;
7687     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7688   }
7689   {
7690     int referenced = 0;
7691     unsigned long long insn_referenced = abuf->written;
7692     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7693   }
7694   {
7695     int referenced = 0;
7696     unsigned long long insn_referenced = abuf->written;
7697     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
7698   }
7699   {
7700     int referenced = 0;
7701     unsigned long long insn_referenced = abuf->written;
7702     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
7703   }
7704   return cycles;
7705 #undef FLD
7706 }
7707
7708 UINT
7709 sh2a_fpu_sh2a_fpu_model::model_rotcr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7710 {
7711 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
7712   const sh2a_fpu_scache* abuf = sem;
7713   const sh2a_fpu_idesc* idesc = abuf->idesc;
7714   int cycles = 0;
7715   {
7716     INT in_usereg = -1;
7717     in_usereg = FLD (in_rn);
7718     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7719   }
7720   {
7721     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7722   }
7723   {
7724     cycles += model_u_exec_before (current_cpu, idesc, 2);
7725   }
7726   {
7727     cycles += model_u_shift_before (current_cpu, idesc, 3);
7728   }
7729   {
7730     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
7731   }
7732   return cycles;
7733 #undef FLD
7734 }
7735
7736 UINT
7737 sh2a_fpu_sh2a_fpu_model::model_rotcr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7738 {
7739 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
7740   const sh2a_fpu_scache* abuf = sem;
7741   const sh2a_fpu_idesc* idesc = abuf->idesc;
7742   int cycles = 0;
7743   {
7744     int referenced = 0;
7745     unsigned long long insn_referenced = abuf->written;
7746     INT in_usereg = -1;
7747     in_usereg = FLD (in_rn);
7748     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7749   }
7750   {
7751     int referenced = 0;
7752     unsigned long long insn_referenced = abuf->written;
7753     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7754   }
7755   {
7756     int referenced = 0;
7757     unsigned long long insn_referenced = abuf->written;
7758     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7759   }
7760   {
7761     int referenced = 0;
7762     unsigned long long insn_referenced = abuf->written;
7763     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
7764   }
7765   {
7766     int referenced = 0;
7767     unsigned long long insn_referenced = abuf->written;
7768     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
7769   }
7770   return cycles;
7771 #undef FLD
7772 }
7773
7774 UINT
7775 sh2a_fpu_sh2a_fpu_model::model_rotl_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7776 {
7777 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
7778   const sh2a_fpu_scache* abuf = sem;
7779   const sh2a_fpu_idesc* idesc = abuf->idesc;
7780   int cycles = 0;
7781   {
7782     INT in_usereg = -1;
7783     in_usereg = FLD (in_rn);
7784     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7785   }
7786   {
7787     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7788   }
7789   {
7790     cycles += model_u_exec_before (current_cpu, idesc, 2);
7791   }
7792   {
7793     cycles += model_u_shift_before (current_cpu, idesc, 3);
7794   }
7795   {
7796     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
7797   }
7798   return cycles;
7799 #undef FLD
7800 }
7801
7802 UINT
7803 sh2a_fpu_sh2a_fpu_model::model_rotl_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7804 {
7805 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
7806   const sh2a_fpu_scache* abuf = sem;
7807   const sh2a_fpu_idesc* idesc = abuf->idesc;
7808   int cycles = 0;
7809   {
7810     int referenced = 0;
7811     unsigned long long insn_referenced = abuf->written;
7812     INT in_usereg = -1;
7813     in_usereg = FLD (in_rn);
7814     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7815   }
7816   {
7817     int referenced = 0;
7818     unsigned long long insn_referenced = abuf->written;
7819     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7820   }
7821   {
7822     int referenced = 0;
7823     unsigned long long insn_referenced = abuf->written;
7824     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7825   }
7826   {
7827     int referenced = 0;
7828     unsigned long long insn_referenced = abuf->written;
7829     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
7830   }
7831   {
7832     int referenced = 0;
7833     unsigned long long insn_referenced = abuf->written;
7834     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
7835   }
7836   return cycles;
7837 #undef FLD
7838 }
7839
7840 UINT
7841 sh2a_fpu_sh2a_fpu_model::model_rotr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7842 {
7843 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
7844   const sh2a_fpu_scache* abuf = sem;
7845   const sh2a_fpu_idesc* idesc = abuf->idesc;
7846   int cycles = 0;
7847   {
7848     INT in_usereg = -1;
7849     in_usereg = FLD (in_rn);
7850     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7851   }
7852   {
7853     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7854   }
7855   {
7856     cycles += model_u_exec_before (current_cpu, idesc, 2);
7857   }
7858   {
7859     cycles += model_u_shift_before (current_cpu, idesc, 3);
7860   }
7861   {
7862     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
7863   }
7864   return cycles;
7865 #undef FLD
7866 }
7867
7868 UINT
7869 sh2a_fpu_sh2a_fpu_model::model_rotr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7870 {
7871 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
7872   const sh2a_fpu_scache* abuf = sem;
7873   const sh2a_fpu_idesc* idesc = abuf->idesc;
7874   int cycles = 0;
7875   {
7876     int referenced = 0;
7877     unsigned long long insn_referenced = abuf->written;
7878     INT in_usereg = -1;
7879     in_usereg = FLD (in_rn);
7880     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
7881   }
7882   {
7883     int referenced = 0;
7884     unsigned long long insn_referenced = abuf->written;
7885     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7886   }
7887   {
7888     int referenced = 0;
7889     unsigned long long insn_referenced = abuf->written;
7890     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
7891   }
7892   {
7893     int referenced = 0;
7894     unsigned long long insn_referenced = abuf->written;
7895     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
7896   }
7897   {
7898     int referenced = 0;
7899     unsigned long long insn_referenced = abuf->written;
7900     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
7901   }
7902   return cycles;
7903 #undef FLD
7904 }
7905
7906 UINT
7907 sh2a_fpu_sh2a_fpu_model::model_rts_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7908 {
7909 #define FLD(f) abuf->fields.fmt_empty.f
7910   const sh2a_fpu_scache* abuf = sem;
7911   const sh2a_fpu_idesc* idesc = abuf->idesc;
7912   int cycles = 0;
7913   {
7914     cycles += model_u_jmp_before (current_cpu, idesc, 0);
7915   }
7916   return cycles;
7917 #undef FLD
7918 }
7919
7920 UINT
7921 sh2a_fpu_sh2a_fpu_model::model_rts_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7922 {
7923 #define FLD(f) abuf->fields.fmt_empty.f
7924   const sh2a_fpu_scache* abuf = sem;
7925   const sh2a_fpu_idesc* idesc = abuf->idesc;
7926   int cycles = 0;
7927   {
7928     int referenced = 0;
7929     unsigned long long insn_referenced = abuf->written;
7930     referenced |= 1 << 0;
7931     cycles += model_u_jmp_after (current_cpu, idesc, 0, referenced);
7932   }
7933   return cycles;
7934 #undef FLD
7935 }
7936
7937 UINT
7938 sh2a_fpu_sh2a_fpu_model::model_sett_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7939 {
7940 #define FLD(f) abuf->fields.fmt_empty.f
7941   const sh2a_fpu_scache* abuf = sem;
7942   const sh2a_fpu_idesc* idesc = abuf->idesc;
7943   int cycles = 0;
7944   {
7945     cycles += model_u_exec_before (current_cpu, idesc, 0);
7946   }
7947   {
7948     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
7949   }
7950   {
7951     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 2);
7952   }
7953   return cycles;
7954 #undef FLD
7955 }
7956
7957 UINT
7958 sh2a_fpu_sh2a_fpu_model::model_sett_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7959 {
7960 #define FLD(f) abuf->fields.fmt_empty.f
7961   const sh2a_fpu_scache* abuf = sem;
7962   const sh2a_fpu_idesc* idesc = abuf->idesc;
7963   int cycles = 0;
7964   {
7965     int referenced = 0;
7966     unsigned long long insn_referenced = abuf->written;
7967     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
7968   }
7969   {
7970     int referenced = 0;
7971     unsigned long long insn_referenced = abuf->written;
7972     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
7973   }
7974   {
7975     int referenced = 0;
7976     unsigned long long insn_referenced = abuf->written;
7977     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 2, referenced);
7978   }
7979   return cycles;
7980 #undef FLD
7981 }
7982
7983 UINT
7984 sh2a_fpu_sh2a_fpu_model::model_shad_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
7985 {
7986 #define FLD(f) abuf->fields.sfmt_macl_compact.f
7987   const sh2a_fpu_scache* abuf = sem;
7988   const sh2a_fpu_idesc* idesc = abuf->idesc;
7989   int cycles = 0;
7990   {
7991     INT in_usereg = -1;
7992     in_usereg = FLD (in_rn);
7993     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
7994   }
7995   {
7996     INT in_usereg = -1;
7997     in_usereg = FLD (in_rm);
7998     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
7999   }
8000   {
8001     cycles += model_u_exec_before (current_cpu, idesc, 2);
8002   }
8003   {
8004     cycles += model_u_shift_before (current_cpu, idesc, 3);
8005   }
8006   return cycles;
8007 #undef FLD
8008 }
8009
8010 UINT
8011 sh2a_fpu_sh2a_fpu_model::model_shad_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8012 {
8013 #define FLD(f) abuf->fields.sfmt_macl_compact.f
8014   const sh2a_fpu_scache* abuf = sem;
8015   const sh2a_fpu_idesc* idesc = abuf->idesc;
8016   int cycles = 0;
8017   {
8018     int referenced = 0;
8019     unsigned long long insn_referenced = abuf->written;
8020     INT in_usereg = -1;
8021     in_usereg = FLD (in_rn);
8022     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8023   }
8024   {
8025     int referenced = 0;
8026     unsigned long long insn_referenced = abuf->written;
8027     INT in_usereg = -1;
8028     in_usereg = FLD (in_rm);
8029     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
8030   }
8031   {
8032     int referenced = 0;
8033     unsigned long long insn_referenced = abuf->written;
8034     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
8035   }
8036   {
8037     int referenced = 0;
8038     unsigned long long insn_referenced = abuf->written;
8039     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
8040   }
8041   return cycles;
8042 #undef FLD
8043 }
8044
8045 UINT
8046 sh2a_fpu_sh2a_fpu_model::model_shal_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8047 {
8048 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8049   const sh2a_fpu_scache* abuf = sem;
8050   const sh2a_fpu_idesc* idesc = abuf->idesc;
8051   int cycles = 0;
8052   {
8053     INT in_usereg = -1;
8054     in_usereg = FLD (in_rn);
8055     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8056   }
8057   {
8058     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
8059   }
8060   {
8061     cycles += model_u_exec_before (current_cpu, idesc, 2);
8062   }
8063   {
8064     cycles += model_u_shift_before (current_cpu, idesc, 3);
8065   }
8066   {
8067     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
8068   }
8069   return cycles;
8070 #undef FLD
8071 }
8072
8073 UINT
8074 sh2a_fpu_sh2a_fpu_model::model_shal_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8075 {
8076 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8077   const sh2a_fpu_scache* abuf = sem;
8078   const sh2a_fpu_idesc* idesc = abuf->idesc;
8079   int cycles = 0;
8080   {
8081     int referenced = 0;
8082     unsigned long long insn_referenced = abuf->written;
8083     INT in_usereg = -1;
8084     in_usereg = FLD (in_rn);
8085     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8086   }
8087   {
8088     int referenced = 0;
8089     unsigned long long insn_referenced = abuf->written;
8090     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
8091   }
8092   {
8093     int referenced = 0;
8094     unsigned long long insn_referenced = abuf->written;
8095     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
8096   }
8097   {
8098     int referenced = 0;
8099     unsigned long long insn_referenced = abuf->written;
8100     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
8101   }
8102   {
8103     int referenced = 0;
8104     unsigned long long insn_referenced = abuf->written;
8105     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
8106   }
8107   return cycles;
8108 #undef FLD
8109 }
8110
8111 UINT
8112 sh2a_fpu_sh2a_fpu_model::model_shar_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8113 {
8114 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8115   const sh2a_fpu_scache* abuf = sem;
8116   const sh2a_fpu_idesc* idesc = abuf->idesc;
8117   int cycles = 0;
8118   {
8119     INT in_usereg = -1;
8120     in_usereg = FLD (in_rn);
8121     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8122   }
8123   {
8124     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
8125   }
8126   {
8127     cycles += model_u_exec_before (current_cpu, idesc, 2);
8128   }
8129   {
8130     cycles += model_u_shift_before (current_cpu, idesc, 3);
8131   }
8132   {
8133     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
8134   }
8135   return cycles;
8136 #undef FLD
8137 }
8138
8139 UINT
8140 sh2a_fpu_sh2a_fpu_model::model_shar_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8141 {
8142 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8143   const sh2a_fpu_scache* abuf = sem;
8144   const sh2a_fpu_idesc* idesc = abuf->idesc;
8145   int cycles = 0;
8146   {
8147     int referenced = 0;
8148     unsigned long long insn_referenced = abuf->written;
8149     INT in_usereg = -1;
8150     in_usereg = FLD (in_rn);
8151     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8152   }
8153   {
8154     int referenced = 0;
8155     unsigned long long insn_referenced = abuf->written;
8156     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
8157   }
8158   {
8159     int referenced = 0;
8160     unsigned long long insn_referenced = abuf->written;
8161     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
8162   }
8163   {
8164     int referenced = 0;
8165     unsigned long long insn_referenced = abuf->written;
8166     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
8167   }
8168   {
8169     int referenced = 0;
8170     unsigned long long insn_referenced = abuf->written;
8171     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
8172   }
8173   return cycles;
8174 #undef FLD
8175 }
8176
8177 UINT
8178 sh2a_fpu_sh2a_fpu_model::model_shll_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8179 {
8180 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8181   const sh2a_fpu_scache* abuf = sem;
8182   const sh2a_fpu_idesc* idesc = abuf->idesc;
8183   int cycles = 0;
8184   {
8185     INT in_usereg = -1;
8186     in_usereg = FLD (in_rn);
8187     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8188   }
8189   {
8190     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
8191   }
8192   {
8193     cycles += model_u_exec_before (current_cpu, idesc, 2);
8194   }
8195   {
8196     cycles += model_u_shift_before (current_cpu, idesc, 3);
8197   }
8198   {
8199     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
8200   }
8201   return cycles;
8202 #undef FLD
8203 }
8204
8205 UINT
8206 sh2a_fpu_sh2a_fpu_model::model_shll_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8207 {
8208 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8209   const sh2a_fpu_scache* abuf = sem;
8210   const sh2a_fpu_idesc* idesc = abuf->idesc;
8211   int cycles = 0;
8212   {
8213     int referenced = 0;
8214     unsigned long long insn_referenced = abuf->written;
8215     INT in_usereg = -1;
8216     in_usereg = FLD (in_rn);
8217     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8218   }
8219   {
8220     int referenced = 0;
8221     unsigned long long insn_referenced = abuf->written;
8222     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
8223   }
8224   {
8225     int referenced = 0;
8226     unsigned long long insn_referenced = abuf->written;
8227     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
8228   }
8229   {
8230     int referenced = 0;
8231     unsigned long long insn_referenced = abuf->written;
8232     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
8233   }
8234   {
8235     int referenced = 0;
8236     unsigned long long insn_referenced = abuf->written;
8237     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
8238   }
8239   return cycles;
8240 #undef FLD
8241 }
8242
8243 UINT
8244 sh2a_fpu_sh2a_fpu_model::model_shll2_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8245 {
8246 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8247   const sh2a_fpu_scache* abuf = sem;
8248   const sh2a_fpu_idesc* idesc = abuf->idesc;
8249   int cycles = 0;
8250   {
8251     INT in_usereg = -1;
8252     in_usereg = FLD (in_rn);
8253     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8254   }
8255   {
8256     cycles += model_u_exec_before (current_cpu, idesc, 1);
8257   }
8258   {
8259     cycles += model_u_shift_before (current_cpu, idesc, 2);
8260   }
8261   return cycles;
8262 #undef FLD
8263 }
8264
8265 UINT
8266 sh2a_fpu_sh2a_fpu_model::model_shll2_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8267 {
8268 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8269   const sh2a_fpu_scache* abuf = sem;
8270   const sh2a_fpu_idesc* idesc = abuf->idesc;
8271   int cycles = 0;
8272   {
8273     int referenced = 0;
8274     unsigned long long insn_referenced = abuf->written;
8275     INT in_usereg = -1;
8276     in_usereg = FLD (in_rn);
8277     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8278   }
8279   {
8280     int referenced = 0;
8281     unsigned long long insn_referenced = abuf->written;
8282     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
8283   }
8284   {
8285     int referenced = 0;
8286     unsigned long long insn_referenced = abuf->written;
8287     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
8288   }
8289   return cycles;
8290 #undef FLD
8291 }
8292
8293 UINT
8294 sh2a_fpu_sh2a_fpu_model::model_shll8_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8295 {
8296 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8297   const sh2a_fpu_scache* abuf = sem;
8298   const sh2a_fpu_idesc* idesc = abuf->idesc;
8299   int cycles = 0;
8300   {
8301     INT in_usereg = -1;
8302     in_usereg = FLD (in_rn);
8303     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8304   }
8305   {
8306     cycles += model_u_exec_before (current_cpu, idesc, 1);
8307   }
8308   {
8309     cycles += model_u_shift_before (current_cpu, idesc, 2);
8310   }
8311   return cycles;
8312 #undef FLD
8313 }
8314
8315 UINT
8316 sh2a_fpu_sh2a_fpu_model::model_shll8_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8317 {
8318 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8319   const sh2a_fpu_scache* abuf = sem;
8320   const sh2a_fpu_idesc* idesc = abuf->idesc;
8321   int cycles = 0;
8322   {
8323     int referenced = 0;
8324     unsigned long long insn_referenced = abuf->written;
8325     INT in_usereg = -1;
8326     in_usereg = FLD (in_rn);
8327     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8328   }
8329   {
8330     int referenced = 0;
8331     unsigned long long insn_referenced = abuf->written;
8332     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
8333   }
8334   {
8335     int referenced = 0;
8336     unsigned long long insn_referenced = abuf->written;
8337     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
8338   }
8339   return cycles;
8340 #undef FLD
8341 }
8342
8343 UINT
8344 sh2a_fpu_sh2a_fpu_model::model_shll16_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8345 {
8346 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8347   const sh2a_fpu_scache* abuf = sem;
8348   const sh2a_fpu_idesc* idesc = abuf->idesc;
8349   int cycles = 0;
8350   {
8351     INT in_usereg = -1;
8352     in_usereg = FLD (in_rn);
8353     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8354   }
8355   {
8356     cycles += model_u_exec_before (current_cpu, idesc, 1);
8357   }
8358   {
8359     cycles += model_u_shift_before (current_cpu, idesc, 2);
8360   }
8361   return cycles;
8362 #undef FLD
8363 }
8364
8365 UINT
8366 sh2a_fpu_sh2a_fpu_model::model_shll16_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8367 {
8368 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8369   const sh2a_fpu_scache* abuf = sem;
8370   const sh2a_fpu_idesc* idesc = abuf->idesc;
8371   int cycles = 0;
8372   {
8373     int referenced = 0;
8374     unsigned long long insn_referenced = abuf->written;
8375     INT in_usereg = -1;
8376     in_usereg = FLD (in_rn);
8377     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8378   }
8379   {
8380     int referenced = 0;
8381     unsigned long long insn_referenced = abuf->written;
8382     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
8383   }
8384   {
8385     int referenced = 0;
8386     unsigned long long insn_referenced = abuf->written;
8387     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
8388   }
8389   return cycles;
8390 #undef FLD
8391 }
8392
8393 UINT
8394 sh2a_fpu_sh2a_fpu_model::model_shlr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8395 {
8396 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8397   const sh2a_fpu_scache* abuf = sem;
8398   const sh2a_fpu_idesc* idesc = abuf->idesc;
8399   int cycles = 0;
8400   {
8401     INT in_usereg = -1;
8402     in_usereg = FLD (in_rn);
8403     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8404   }
8405   {
8406     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
8407   }
8408   {
8409     cycles += model_u_exec_before (current_cpu, idesc, 2);
8410   }
8411   {
8412     cycles += model_u_shift_before (current_cpu, idesc, 3);
8413   }
8414   {
8415     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
8416   }
8417   return cycles;
8418 #undef FLD
8419 }
8420
8421 UINT
8422 sh2a_fpu_sh2a_fpu_model::model_shlr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8423 {
8424 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8425   const sh2a_fpu_scache* abuf = sem;
8426   const sh2a_fpu_idesc* idesc = abuf->idesc;
8427   int cycles = 0;
8428   {
8429     int referenced = 0;
8430     unsigned long long insn_referenced = abuf->written;
8431     INT in_usereg = -1;
8432     in_usereg = FLD (in_rn);
8433     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8434   }
8435   {
8436     int referenced = 0;
8437     unsigned long long insn_referenced = abuf->written;
8438     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
8439   }
8440   {
8441     int referenced = 0;
8442     unsigned long long insn_referenced = abuf->written;
8443     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
8444   }
8445   {
8446     int referenced = 0;
8447     unsigned long long insn_referenced = abuf->written;
8448     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
8449   }
8450   {
8451     int referenced = 0;
8452     unsigned long long insn_referenced = abuf->written;
8453     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
8454   }
8455   return cycles;
8456 #undef FLD
8457 }
8458
8459 UINT
8460 sh2a_fpu_sh2a_fpu_model::model_shlr2_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8461 {
8462 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8463   const sh2a_fpu_scache* abuf = sem;
8464   const sh2a_fpu_idesc* idesc = abuf->idesc;
8465   int cycles = 0;
8466   {
8467     INT in_usereg = -1;
8468     in_usereg = FLD (in_rn);
8469     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8470   }
8471   {
8472     cycles += model_u_exec_before (current_cpu, idesc, 1);
8473   }
8474   {
8475     cycles += model_u_shift_before (current_cpu, idesc, 2);
8476   }
8477   return cycles;
8478 #undef FLD
8479 }
8480
8481 UINT
8482 sh2a_fpu_sh2a_fpu_model::model_shlr2_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8483 {
8484 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8485   const sh2a_fpu_scache* abuf = sem;
8486   const sh2a_fpu_idesc* idesc = abuf->idesc;
8487   int cycles = 0;
8488   {
8489     int referenced = 0;
8490     unsigned long long insn_referenced = abuf->written;
8491     INT in_usereg = -1;
8492     in_usereg = FLD (in_rn);
8493     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8494   }
8495   {
8496     int referenced = 0;
8497     unsigned long long insn_referenced = abuf->written;
8498     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
8499   }
8500   {
8501     int referenced = 0;
8502     unsigned long long insn_referenced = abuf->written;
8503     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
8504   }
8505   return cycles;
8506 #undef FLD
8507 }
8508
8509 UINT
8510 sh2a_fpu_sh2a_fpu_model::model_shlr8_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8511 {
8512 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8513   const sh2a_fpu_scache* abuf = sem;
8514   const sh2a_fpu_idesc* idesc = abuf->idesc;
8515   int cycles = 0;
8516   {
8517     INT in_usereg = -1;
8518     in_usereg = FLD (in_rn);
8519     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8520   }
8521   {
8522     cycles += model_u_exec_before (current_cpu, idesc, 1);
8523   }
8524   {
8525     cycles += model_u_shift_before (current_cpu, idesc, 2);
8526   }
8527   return cycles;
8528 #undef FLD
8529 }
8530
8531 UINT
8532 sh2a_fpu_sh2a_fpu_model::model_shlr8_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8533 {
8534 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8535   const sh2a_fpu_scache* abuf = sem;
8536   const sh2a_fpu_idesc* idesc = abuf->idesc;
8537   int cycles = 0;
8538   {
8539     int referenced = 0;
8540     unsigned long long insn_referenced = abuf->written;
8541     INT in_usereg = -1;
8542     in_usereg = FLD (in_rn);
8543     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8544   }
8545   {
8546     int referenced = 0;
8547     unsigned long long insn_referenced = abuf->written;
8548     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
8549   }
8550   {
8551     int referenced = 0;
8552     unsigned long long insn_referenced = abuf->written;
8553     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
8554   }
8555   return cycles;
8556 #undef FLD
8557 }
8558
8559 UINT
8560 sh2a_fpu_sh2a_fpu_model::model_shlr16_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8561 {
8562 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8563   const sh2a_fpu_scache* abuf = sem;
8564   const sh2a_fpu_idesc* idesc = abuf->idesc;
8565   int cycles = 0;
8566   {
8567     INT in_usereg = -1;
8568     in_usereg = FLD (in_rn);
8569     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8570   }
8571   {
8572     cycles += model_u_exec_before (current_cpu, idesc, 1);
8573   }
8574   {
8575     cycles += model_u_shift_before (current_cpu, idesc, 2);
8576   }
8577   return cycles;
8578 #undef FLD
8579 }
8580
8581 UINT
8582 sh2a_fpu_sh2a_fpu_model::model_shlr16_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8583 {
8584 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8585   const sh2a_fpu_scache* abuf = sem;
8586   const sh2a_fpu_idesc* idesc = abuf->idesc;
8587   int cycles = 0;
8588   {
8589     int referenced = 0;
8590     unsigned long long insn_referenced = abuf->written;
8591     INT in_usereg = -1;
8592     in_usereg = FLD (in_rn);
8593     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8594   }
8595   {
8596     int referenced = 0;
8597     unsigned long long insn_referenced = abuf->written;
8598     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
8599   }
8600   {
8601     int referenced = 0;
8602     unsigned long long insn_referenced = abuf->written;
8603     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
8604   }
8605   return cycles;
8606 #undef FLD
8607 }
8608
8609 UINT
8610 sh2a_fpu_sh2a_fpu_model::model_stc_gbr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8611 {
8612 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
8613   const sh2a_fpu_scache* abuf = sem;
8614   const sh2a_fpu_idesc* idesc = abuf->idesc;
8615   int cycles = 0;
8616   {
8617     cycles += model_u_exec_before (current_cpu, idesc, 0);
8618   }
8619   return cycles;
8620 #undef FLD
8621 }
8622
8623 UINT
8624 sh2a_fpu_sh2a_fpu_model::model_stc_gbr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8625 {
8626 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
8627   const sh2a_fpu_scache* abuf = sem;
8628   const sh2a_fpu_idesc* idesc = abuf->idesc;
8629   int cycles = 0;
8630   {
8631     int referenced = 0;
8632     unsigned long long insn_referenced = abuf->written;
8633     cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
8634   }
8635   return cycles;
8636 #undef FLD
8637 }
8638
8639 UINT
8640 sh2a_fpu_sh2a_fpu_model::model_stc_vbr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8641 {
8642 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
8643   const sh2a_fpu_scache* abuf = sem;
8644   const sh2a_fpu_idesc* idesc = abuf->idesc;
8645   int cycles = 0;
8646   {
8647     cycles += model_u_stc_vbr_before (current_cpu, idesc, 0);
8648   }
8649   return cycles;
8650 #undef FLD
8651 }
8652
8653 UINT
8654 sh2a_fpu_sh2a_fpu_model::model_stc_vbr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8655 {
8656 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
8657   const sh2a_fpu_scache* abuf = sem;
8658   const sh2a_fpu_idesc* idesc = abuf->idesc;
8659   int cycles = 0;
8660   {
8661     int referenced = 0;
8662     unsigned long long insn_referenced = abuf->written;
8663     cycles += model_u_stc_vbr_after (current_cpu, idesc, 0, referenced);
8664   }
8665   return cycles;
8666 #undef FLD
8667 }
8668
8669 UINT
8670 sh2a_fpu_sh2a_fpu_model::model_stcl_gbr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8671 {
8672 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8673   const sh2a_fpu_scache* abuf = sem;
8674   const sh2a_fpu_idesc* idesc = abuf->idesc;
8675   int cycles = 0;
8676   {
8677     INT in_usereg = -1;
8678     in_usereg = FLD (in_rn);
8679     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8680   }
8681   {
8682     cycles += model_u_ldcl_before (current_cpu, idesc, 1);
8683   }
8684   {
8685     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
8686   }
8687   return cycles;
8688 #undef FLD
8689 }
8690
8691 UINT
8692 sh2a_fpu_sh2a_fpu_model::model_stcl_gbr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8693 {
8694 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8695   const sh2a_fpu_scache* abuf = sem;
8696   const sh2a_fpu_idesc* idesc = abuf->idesc;
8697   int cycles = 0;
8698   {
8699     int referenced = 0;
8700     unsigned long long insn_referenced = abuf->written;
8701     INT in_usereg = -1;
8702     in_usereg = FLD (in_rn);
8703     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8704   }
8705   {
8706     int referenced = 0;
8707     unsigned long long insn_referenced = abuf->written;
8708     cycles += model_u_ldcl_after (current_cpu, idesc, 1, referenced);
8709   }
8710   {
8711     int referenced = 0;
8712     unsigned long long insn_referenced = abuf->written;
8713     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
8714   }
8715   return cycles;
8716 #undef FLD
8717 }
8718
8719 UINT
8720 sh2a_fpu_sh2a_fpu_model::model_stcl_vbr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8721 {
8722 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8723   const sh2a_fpu_scache* abuf = sem;
8724   const sh2a_fpu_idesc* idesc = abuf->idesc;
8725   int cycles = 0;
8726   {
8727     INT in_usereg = -1;
8728     in_usereg = FLD (in_rn);
8729     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8730   }
8731   {
8732     cycles += model_u_ldcl_before (current_cpu, idesc, 1);
8733   }
8734   {
8735     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
8736   }
8737   return cycles;
8738 #undef FLD
8739 }
8740
8741 UINT
8742 sh2a_fpu_sh2a_fpu_model::model_stcl_vbr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8743 {
8744 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8745   const sh2a_fpu_scache* abuf = sem;
8746   const sh2a_fpu_idesc* idesc = abuf->idesc;
8747   int cycles = 0;
8748   {
8749     int referenced = 0;
8750     unsigned long long insn_referenced = abuf->written;
8751     INT in_usereg = -1;
8752     in_usereg = FLD (in_rn);
8753     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8754   }
8755   {
8756     int referenced = 0;
8757     unsigned long long insn_referenced = abuf->written;
8758     cycles += model_u_ldcl_after (current_cpu, idesc, 1, referenced);
8759   }
8760   {
8761     int referenced = 0;
8762     unsigned long long insn_referenced = abuf->written;
8763     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
8764   }
8765   return cycles;
8766 #undef FLD
8767 }
8768
8769 UINT
8770 sh2a_fpu_sh2a_fpu_model::model_sts_fpscr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8771 {
8772 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
8773   const sh2a_fpu_scache* abuf = sem;
8774   const sh2a_fpu_idesc* idesc = abuf->idesc;
8775   int cycles = 0;
8776   {
8777     cycles += model_u_use_fpscr_before (current_cpu, idesc, 0);
8778   }
8779   {
8780     cycles += model_u_exec_before (current_cpu, idesc, 1);
8781   }
8782   {
8783     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 2);
8784   }
8785   {
8786     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 3);
8787   }
8788   {
8789     INT out_loadreg = -1;
8790     out_loadreg = FLD (out_rn);
8791     cycles += model_u_fpu_load_gr_before (current_cpu, idesc, 4, out_loadreg);
8792   }
8793   return cycles;
8794 #undef FLD
8795 }
8796
8797 UINT
8798 sh2a_fpu_sh2a_fpu_model::model_sts_fpscr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8799 {
8800 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
8801   const sh2a_fpu_scache* abuf = sem;
8802   const sh2a_fpu_idesc* idesc = abuf->idesc;
8803   int cycles = 0;
8804   {
8805     int referenced = 0;
8806     unsigned long long insn_referenced = abuf->written;
8807     cycles += model_u_use_fpscr_after (current_cpu, idesc, 0, referenced);
8808   }
8809   {
8810     int referenced = 0;
8811     unsigned long long insn_referenced = abuf->written;
8812     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
8813   }
8814   {
8815     int referenced = 0;
8816     unsigned long long insn_referenced = abuf->written;
8817     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 2, referenced);
8818   }
8819   {
8820     int referenced = 0;
8821     unsigned long long insn_referenced = abuf->written;
8822     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 3, referenced);
8823   }
8824   {
8825     int referenced = 0;
8826     unsigned long long insn_referenced = abuf->written;
8827     INT out_loadreg = -1;
8828     out_loadreg = FLD (out_rn);
8829     cycles += model_u_fpu_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
8830   }
8831   return cycles;
8832 #undef FLD
8833 }
8834
8835 UINT
8836 sh2a_fpu_sh2a_fpu_model::model_stsl_fpscr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8837 {
8838 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8839   const sh2a_fpu_scache* abuf = sem;
8840   const sh2a_fpu_idesc* idesc = abuf->idesc;
8841   int cycles = 0;
8842   {
8843     INT in_usereg = -1;
8844     in_usereg = FLD (in_rn);
8845     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
8846   }
8847   {
8848     cycles += model_u_use_fpscr_before (current_cpu, idesc, 1);
8849   }
8850   {
8851     cycles += model_u_exec_before (current_cpu, idesc, 2);
8852   }
8853   {
8854     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 3);
8855   }
8856   {
8857     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 4);
8858   }
8859   return cycles;
8860 #undef FLD
8861 }
8862
8863 UINT
8864 sh2a_fpu_sh2a_fpu_model::model_stsl_fpscr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8865 {
8866 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8867   const sh2a_fpu_scache* abuf = sem;
8868   const sh2a_fpu_idesc* idesc = abuf->idesc;
8869   int cycles = 0;
8870   {
8871     int referenced = 0;
8872     unsigned long long insn_referenced = abuf->written;
8873     INT in_usereg = -1;
8874     in_usereg = FLD (in_rn);
8875     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
8876   }
8877   {
8878     int referenced = 0;
8879     unsigned long long insn_referenced = abuf->written;
8880     cycles += model_u_use_fpscr_after (current_cpu, idesc, 1, referenced);
8881   }
8882   {
8883     int referenced = 0;
8884     unsigned long long insn_referenced = abuf->written;
8885     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
8886   }
8887   {
8888     int referenced = 0;
8889     unsigned long long insn_referenced = abuf->written;
8890     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 3, referenced);
8891   }
8892   {
8893     int referenced = 0;
8894     unsigned long long insn_referenced = abuf->written;
8895     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 4, referenced);
8896   }
8897   return cycles;
8898 #undef FLD
8899 }
8900
8901 UINT
8902 sh2a_fpu_sh2a_fpu_model::model_sts_fpul_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8903 {
8904 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8905   const sh2a_fpu_scache* abuf = sem;
8906   const sh2a_fpu_idesc* idesc = abuf->idesc;
8907   int cycles = 0;
8908   {
8909     cycles += model_u_use_fpul_before (current_cpu, idesc, 0);
8910   }
8911   {
8912     cycles += model_u_exec_before (current_cpu, idesc, 1);
8913   }
8914   {
8915     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 2);
8916   }
8917   {
8918     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 3);
8919   }
8920   {
8921     INT out_loadreg = -1;
8922     out_loadreg = FLD (out_rn);
8923     cycles += model_u_fpu_load_gr_before (current_cpu, idesc, 4, out_loadreg);
8924   }
8925   return cycles;
8926 #undef FLD
8927 }
8928
8929 UINT
8930 sh2a_fpu_sh2a_fpu_model::model_sts_fpul_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8931 {
8932 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8933   const sh2a_fpu_scache* abuf = sem;
8934   const sh2a_fpu_idesc* idesc = abuf->idesc;
8935   int cycles = 0;
8936   {
8937     int referenced = 0;
8938     unsigned long long insn_referenced = abuf->written;
8939     cycles += model_u_use_fpul_after (current_cpu, idesc, 0, referenced);
8940   }
8941   {
8942     int referenced = 0;
8943     unsigned long long insn_referenced = abuf->written;
8944     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
8945   }
8946   {
8947     int referenced = 0;
8948     unsigned long long insn_referenced = abuf->written;
8949     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 2, referenced);
8950   }
8951   {
8952     int referenced = 0;
8953     unsigned long long insn_referenced = abuf->written;
8954     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 3, referenced);
8955   }
8956   {
8957     int referenced = 0;
8958     unsigned long long insn_referenced = abuf->written;
8959     INT out_loadreg = -1;
8960     out_loadreg = FLD (out_rn);
8961     cycles += model_u_fpu_load_gr_after (current_cpu, idesc, 4, referenced, out_loadreg);
8962   }
8963   return cycles;
8964 #undef FLD
8965 }
8966
8967 UINT
8968 sh2a_fpu_sh2a_fpu_model::model_stsl_fpul_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8969 {
8970 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8971   const sh2a_fpu_scache* abuf = sem;
8972   const sh2a_fpu_idesc* idesc = abuf->idesc;
8973   int cycles = 0;
8974   {
8975     cycles += model_u_use_fpul_before (current_cpu, idesc, 0);
8976   }
8977   {
8978     INT in_usereg = -1;
8979     in_usereg = FLD (in_rn);
8980     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
8981   }
8982   {
8983     cycles += model_u_exec_before (current_cpu, idesc, 2);
8984   }
8985   {
8986     cycles += model_u_maybe_fpu_before (current_cpu, idesc, 3);
8987   }
8988   {
8989     cycles += model_u_fpu_memory_access_before (current_cpu, idesc, 4);
8990   }
8991   return cycles;
8992 #undef FLD
8993 }
8994
8995 UINT
8996 sh2a_fpu_sh2a_fpu_model::model_stsl_fpul_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
8997 {
8998 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
8999   const sh2a_fpu_scache* abuf = sem;
9000   const sh2a_fpu_idesc* idesc = abuf->idesc;
9001   int cycles = 0;
9002   {
9003     int referenced = 0;
9004     unsigned long long insn_referenced = abuf->written;
9005     cycles += model_u_use_fpul_after (current_cpu, idesc, 0, referenced);
9006   }
9007   {
9008     int referenced = 0;
9009     unsigned long long insn_referenced = abuf->written;
9010     INT in_usereg = -1;
9011     in_usereg = FLD (in_rn);
9012     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
9013   }
9014   {
9015     int referenced = 0;
9016     unsigned long long insn_referenced = abuf->written;
9017     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
9018   }
9019   {
9020     int referenced = 0;
9021     unsigned long long insn_referenced = abuf->written;
9022     cycles += model_u_maybe_fpu_after (current_cpu, idesc, 3, referenced);
9023   }
9024   {
9025     int referenced = 0;
9026     unsigned long long insn_referenced = abuf->written;
9027     cycles += model_u_fpu_memory_access_after (current_cpu, idesc, 4, referenced);
9028   }
9029   return cycles;
9030 #undef FLD
9031 }
9032
9033 UINT
9034 sh2a_fpu_sh2a_fpu_model::model_sts_mach_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9035 {
9036 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
9037   const sh2a_fpu_scache* abuf = sem;
9038   const sh2a_fpu_idesc* idesc = abuf->idesc;
9039   int cycles = 0;
9040   {
9041     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 0);
9042   }
9043   {
9044     cycles += model_u_write_back_before (current_cpu, idesc, 1);
9045   }
9046   {
9047     cycles += model_u_exec_before (current_cpu, idesc, 2);
9048   }
9049   {
9050     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
9051   }
9052   return cycles;
9053 #undef FLD
9054 }
9055
9056 UINT
9057 sh2a_fpu_sh2a_fpu_model::model_sts_mach_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9058 {
9059 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
9060   const sh2a_fpu_scache* abuf = sem;
9061   const sh2a_fpu_idesc* idesc = abuf->idesc;
9062   int cycles = 0;
9063   {
9064     int referenced = 0;
9065     unsigned long long insn_referenced = abuf->written;
9066     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 0, referenced);
9067   }
9068   {
9069     int referenced = 0;
9070     unsigned long long insn_referenced = abuf->written;
9071     cycles += model_u_write_back_after (current_cpu, idesc, 1, referenced);
9072   }
9073   {
9074     int referenced = 0;
9075     unsigned long long insn_referenced = abuf->written;
9076     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
9077   }
9078   {
9079     int referenced = 0;
9080     unsigned long long insn_referenced = abuf->written;
9081     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
9082   }
9083   return cycles;
9084 #undef FLD
9085 }
9086
9087 UINT
9088 sh2a_fpu_sh2a_fpu_model::model_stsl_mach_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9089 {
9090 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
9091   const sh2a_fpu_scache* abuf = sem;
9092   const sh2a_fpu_idesc* idesc = abuf->idesc;
9093   int cycles = 0;
9094   {
9095     INT in_usereg = -1;
9096     in_usereg = FLD (in_rn);
9097     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9098   }
9099   {
9100     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
9101   }
9102   {
9103     cycles += model_u_write_back_before (current_cpu, idesc, 2);
9104   }
9105   {
9106     cycles += model_u_exec_before (current_cpu, idesc, 3);
9107   }
9108   {
9109     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
9110   }
9111   return cycles;
9112 #undef FLD
9113 }
9114
9115 UINT
9116 sh2a_fpu_sh2a_fpu_model::model_stsl_mach_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9117 {
9118 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
9119   const sh2a_fpu_scache* abuf = sem;
9120   const sh2a_fpu_idesc* idesc = abuf->idesc;
9121   int cycles = 0;
9122   {
9123     int referenced = 0;
9124     unsigned long long insn_referenced = abuf->written;
9125     INT in_usereg = -1;
9126     in_usereg = FLD (in_rn);
9127     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9128   }
9129   {
9130     int referenced = 0;
9131     unsigned long long insn_referenced = abuf->written;
9132     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
9133   }
9134   {
9135     int referenced = 0;
9136     unsigned long long insn_referenced = abuf->written;
9137     cycles += model_u_write_back_after (current_cpu, idesc, 2, referenced);
9138   }
9139   {
9140     int referenced = 0;
9141     unsigned long long insn_referenced = abuf->written;
9142     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
9143   }
9144   {
9145     int referenced = 0;
9146     unsigned long long insn_referenced = abuf->written;
9147     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
9148   }
9149   return cycles;
9150 #undef FLD
9151 }
9152
9153 UINT
9154 sh2a_fpu_sh2a_fpu_model::model_sts_macl_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9155 {
9156 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
9157   const sh2a_fpu_scache* abuf = sem;
9158   const sh2a_fpu_idesc* idesc = abuf->idesc;
9159   int cycles = 0;
9160   {
9161     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 0);
9162   }
9163   {
9164     cycles += model_u_write_back_before (current_cpu, idesc, 1);
9165   }
9166   {
9167     cycles += model_u_exec_before (current_cpu, idesc, 2);
9168   }
9169   {
9170     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
9171   }
9172   return cycles;
9173 #undef FLD
9174 }
9175
9176 UINT
9177 sh2a_fpu_sh2a_fpu_model::model_sts_macl_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9178 {
9179 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
9180   const sh2a_fpu_scache* abuf = sem;
9181   const sh2a_fpu_idesc* idesc = abuf->idesc;
9182   int cycles = 0;
9183   {
9184     int referenced = 0;
9185     unsigned long long insn_referenced = abuf->written;
9186     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 0, referenced);
9187   }
9188   {
9189     int referenced = 0;
9190     unsigned long long insn_referenced = abuf->written;
9191     cycles += model_u_write_back_after (current_cpu, idesc, 1, referenced);
9192   }
9193   {
9194     int referenced = 0;
9195     unsigned long long insn_referenced = abuf->written;
9196     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
9197   }
9198   {
9199     int referenced = 0;
9200     unsigned long long insn_referenced = abuf->written;
9201     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
9202   }
9203   return cycles;
9204 #undef FLD
9205 }
9206
9207 UINT
9208 sh2a_fpu_sh2a_fpu_model::model_stsl_macl_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9209 {
9210 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
9211   const sh2a_fpu_scache* abuf = sem;
9212   const sh2a_fpu_idesc* idesc = abuf->idesc;
9213   int cycles = 0;
9214   {
9215     INT in_usereg = -1;
9216     in_usereg = FLD (in_rn);
9217     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9218   }
9219   {
9220     cycles += model_u_use_multiply_result_before (current_cpu, idesc, 1);
9221   }
9222   {
9223     cycles += model_u_write_back_before (current_cpu, idesc, 2);
9224   }
9225   {
9226     cycles += model_u_exec_before (current_cpu, idesc, 3);
9227   }
9228   {
9229     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
9230   }
9231   return cycles;
9232 #undef FLD
9233 }
9234
9235 UINT
9236 sh2a_fpu_sh2a_fpu_model::model_stsl_macl_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9237 {
9238 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
9239   const sh2a_fpu_scache* abuf = sem;
9240   const sh2a_fpu_idesc* idesc = abuf->idesc;
9241   int cycles = 0;
9242   {
9243     int referenced = 0;
9244     unsigned long long insn_referenced = abuf->written;
9245     INT in_usereg = -1;
9246     in_usereg = FLD (in_rn);
9247     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9248   }
9249   {
9250     int referenced = 0;
9251     unsigned long long insn_referenced = abuf->written;
9252     cycles += model_u_use_multiply_result_after (current_cpu, idesc, 1, referenced);
9253   }
9254   {
9255     int referenced = 0;
9256     unsigned long long insn_referenced = abuf->written;
9257     cycles += model_u_write_back_after (current_cpu, idesc, 2, referenced);
9258   }
9259   {
9260     int referenced = 0;
9261     unsigned long long insn_referenced = abuf->written;
9262     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
9263   }
9264   {
9265     int referenced = 0;
9266     unsigned long long insn_referenced = abuf->written;
9267     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
9268   }
9269   return cycles;
9270 #undef FLD
9271 }
9272
9273 UINT
9274 sh2a_fpu_sh2a_fpu_model::model_sts_pr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9275 {
9276 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
9277   const sh2a_fpu_scache* abuf = sem;
9278   const sh2a_fpu_idesc* idesc = abuf->idesc;
9279   int cycles = 0;
9280   {
9281     cycles += model_u_use_pr_before (current_cpu, idesc, 0);
9282   }
9283   {
9284     cycles += model_u_sts_pr_before (current_cpu, idesc, 1);
9285   }
9286   return cycles;
9287 #undef FLD
9288 }
9289
9290 UINT
9291 sh2a_fpu_sh2a_fpu_model::model_sts_pr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9292 {
9293 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
9294   const sh2a_fpu_scache* abuf = sem;
9295   const sh2a_fpu_idesc* idesc = abuf->idesc;
9296   int cycles = 0;
9297   {
9298     int referenced = 0;
9299     unsigned long long insn_referenced = abuf->written;
9300     cycles += model_u_use_pr_after (current_cpu, idesc, 0, referenced);
9301   }
9302   {
9303     int referenced = 0;
9304     unsigned long long insn_referenced = abuf->written;
9305     cycles += model_u_sts_pr_after (current_cpu, idesc, 1, referenced);
9306   }
9307   return cycles;
9308 #undef FLD
9309 }
9310
9311 UINT
9312 sh2a_fpu_sh2a_fpu_model::model_stsl_pr_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9313 {
9314 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
9315   const sh2a_fpu_scache* abuf = sem;
9316   const sh2a_fpu_idesc* idesc = abuf->idesc;
9317   int cycles = 0;
9318   {
9319     INT in_usereg = -1;
9320     in_usereg = FLD (in_rn);
9321     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9322   }
9323   {
9324     cycles += model_u_use_pr_before (current_cpu, idesc, 1);
9325   }
9326   {
9327     cycles += model_u_sts_pr_before (current_cpu, idesc, 2);
9328   }
9329   {
9330     cycles += model_u_memory_access_before (current_cpu, idesc, 3);
9331   }
9332   return cycles;
9333 #undef FLD
9334 }
9335
9336 UINT
9337 sh2a_fpu_sh2a_fpu_model::model_stsl_pr_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9338 {
9339 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
9340   const sh2a_fpu_scache* abuf = sem;
9341   const sh2a_fpu_idesc* idesc = abuf->idesc;
9342   int cycles = 0;
9343   {
9344     int referenced = 0;
9345     unsigned long long insn_referenced = abuf->written;
9346     INT in_usereg = -1;
9347     in_usereg = FLD (in_rn);
9348     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9349   }
9350   {
9351     int referenced = 0;
9352     unsigned long long insn_referenced = abuf->written;
9353     cycles += model_u_use_pr_after (current_cpu, idesc, 1, referenced);
9354   }
9355   {
9356     int referenced = 0;
9357     unsigned long long insn_referenced = abuf->written;
9358     cycles += model_u_sts_pr_after (current_cpu, idesc, 2, referenced);
9359   }
9360   {
9361     int referenced = 0;
9362     unsigned long long insn_referenced = abuf->written;
9363     cycles += model_u_memory_access_after (current_cpu, idesc, 3, referenced);
9364   }
9365   return cycles;
9366 #undef FLD
9367 }
9368
9369 UINT
9370 sh2a_fpu_sh2a_fpu_model::model_sub_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9371 {
9372 #define FLD(f) abuf->fields.sfmt_macl_compact.f
9373   const sh2a_fpu_scache* abuf = sem;
9374   const sh2a_fpu_idesc* idesc = abuf->idesc;
9375   int cycles = 0;
9376   {
9377     INT in_usereg = -1;
9378     in_usereg = FLD (in_rn);
9379     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9380   }
9381   {
9382     INT in_usereg = -1;
9383     in_usereg = FLD (in_rm);
9384     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
9385   }
9386   {
9387     cycles += model_u_exec_before (current_cpu, idesc, 2);
9388   }
9389   return cycles;
9390 #undef FLD
9391 }
9392
9393 UINT
9394 sh2a_fpu_sh2a_fpu_model::model_sub_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9395 {
9396 #define FLD(f) abuf->fields.sfmt_macl_compact.f
9397   const sh2a_fpu_scache* abuf = sem;
9398   const sh2a_fpu_idesc* idesc = abuf->idesc;
9399   int cycles = 0;
9400   {
9401     int referenced = 0;
9402     unsigned long long insn_referenced = abuf->written;
9403     INT in_usereg = -1;
9404     in_usereg = FLD (in_rn);
9405     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9406   }
9407   {
9408     int referenced = 0;
9409     unsigned long long insn_referenced = abuf->written;
9410     INT in_usereg = -1;
9411     in_usereg = FLD (in_rm);
9412     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
9413   }
9414   {
9415     int referenced = 0;
9416     unsigned long long insn_referenced = abuf->written;
9417     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
9418   }
9419   return cycles;
9420 #undef FLD
9421 }
9422
9423 UINT
9424 sh2a_fpu_sh2a_fpu_model::model_subc_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9425 {
9426 #define FLD(f) abuf->fields.sfmt_macl_compact.f
9427   const sh2a_fpu_scache* abuf = sem;
9428   const sh2a_fpu_idesc* idesc = abuf->idesc;
9429   int cycles = 0;
9430   {
9431     INT in_usereg = -1;
9432     in_usereg = FLD (in_rn);
9433     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9434   }
9435   {
9436     INT in_usereg = -1;
9437     in_usereg = FLD (in_rm);
9438     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
9439   }
9440   {
9441     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
9442   }
9443   {
9444     cycles += model_u_exec_before (current_cpu, idesc, 3);
9445   }
9446   return cycles;
9447 #undef FLD
9448 }
9449
9450 UINT
9451 sh2a_fpu_sh2a_fpu_model::model_subc_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9452 {
9453 #define FLD(f) abuf->fields.sfmt_macl_compact.f
9454   const sh2a_fpu_scache* abuf = sem;
9455   const sh2a_fpu_idesc* idesc = abuf->idesc;
9456   int cycles = 0;
9457   {
9458     int referenced = 0;
9459     unsigned long long insn_referenced = abuf->written;
9460     INT in_usereg = -1;
9461     in_usereg = FLD (in_rn);
9462     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9463   }
9464   {
9465     int referenced = 0;
9466     unsigned long long insn_referenced = abuf->written;
9467     INT in_usereg = -1;
9468     in_usereg = FLD (in_rm);
9469     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
9470   }
9471   {
9472     int referenced = 0;
9473     unsigned long long insn_referenced = abuf->written;
9474     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
9475   }
9476   {
9477     int referenced = 0;
9478     unsigned long long insn_referenced = abuf->written;
9479     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
9480   }
9481   return cycles;
9482 #undef FLD
9483 }
9484
9485 UINT
9486 sh2a_fpu_sh2a_fpu_model::model_subv_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9487 {
9488 #define FLD(f) abuf->fields.sfmt_macl_compact.f
9489   const sh2a_fpu_scache* abuf = sem;
9490   const sh2a_fpu_idesc* idesc = abuf->idesc;
9491   int cycles = 0;
9492   {
9493     INT in_usereg = -1;
9494     in_usereg = FLD (in_rn);
9495     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9496   }
9497   {
9498     INT in_usereg = -1;
9499     in_usereg = FLD (in_rm);
9500     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
9501   }
9502   {
9503     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
9504   }
9505   {
9506     cycles += model_u_exec_before (current_cpu, idesc, 3);
9507   }
9508   {
9509     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
9510   }
9511   return cycles;
9512 #undef FLD
9513 }
9514
9515 UINT
9516 sh2a_fpu_sh2a_fpu_model::model_subv_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9517 {
9518 #define FLD(f) abuf->fields.sfmt_macl_compact.f
9519   const sh2a_fpu_scache* abuf = sem;
9520   const sh2a_fpu_idesc* idesc = abuf->idesc;
9521   int cycles = 0;
9522   {
9523     int referenced = 0;
9524     unsigned long long insn_referenced = abuf->written;
9525     INT in_usereg = -1;
9526     in_usereg = FLD (in_rn);
9527     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9528   }
9529   {
9530     int referenced = 0;
9531     unsigned long long insn_referenced = abuf->written;
9532     INT in_usereg = -1;
9533     in_usereg = FLD (in_rm);
9534     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
9535   }
9536   {
9537     int referenced = 0;
9538     unsigned long long insn_referenced = abuf->written;
9539     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
9540   }
9541   {
9542     int referenced = 0;
9543     unsigned long long insn_referenced = abuf->written;
9544     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
9545   }
9546   {
9547     int referenced = 0;
9548     unsigned long long insn_referenced = abuf->written;
9549     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
9550   }
9551   return cycles;
9552 #undef FLD
9553 }
9554
9555 UINT
9556 sh2a_fpu_sh2a_fpu_model::model_swapb_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9557 {
9558 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
9559   const sh2a_fpu_scache* abuf = sem;
9560   const sh2a_fpu_idesc* idesc = abuf->idesc;
9561   int cycles = 0;
9562   {
9563     INT in_usereg = -1;
9564     in_usereg = FLD (in_rm);
9565     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9566   }
9567   {
9568     cycles += model_u_exec_before (current_cpu, idesc, 1);
9569   }
9570   {
9571     cycles += model_u_shift_before (current_cpu, idesc, 2);
9572   }
9573   return cycles;
9574 #undef FLD
9575 }
9576
9577 UINT
9578 sh2a_fpu_sh2a_fpu_model::model_swapb_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9579 {
9580 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
9581   const sh2a_fpu_scache* abuf = sem;
9582   const sh2a_fpu_idesc* idesc = abuf->idesc;
9583   int cycles = 0;
9584   {
9585     int referenced = 0;
9586     unsigned long long insn_referenced = abuf->written;
9587     INT in_usereg = -1;
9588     in_usereg = FLD (in_rm);
9589     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9590   }
9591   {
9592     int referenced = 0;
9593     unsigned long long insn_referenced = abuf->written;
9594     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
9595   }
9596   {
9597     int referenced = 0;
9598     unsigned long long insn_referenced = abuf->written;
9599     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
9600   }
9601   return cycles;
9602 #undef FLD
9603 }
9604
9605 UINT
9606 sh2a_fpu_sh2a_fpu_model::model_swapw_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9607 {
9608 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
9609   const sh2a_fpu_scache* abuf = sem;
9610   const sh2a_fpu_idesc* idesc = abuf->idesc;
9611   int cycles = 0;
9612   {
9613     INT in_usereg = -1;
9614     in_usereg = FLD (in_rm);
9615     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9616   }
9617   {
9618     cycles += model_u_exec_before (current_cpu, idesc, 1);
9619   }
9620   {
9621     cycles += model_u_shift_before (current_cpu, idesc, 2);
9622   }
9623   return cycles;
9624 #undef FLD
9625 }
9626
9627 UINT
9628 sh2a_fpu_sh2a_fpu_model::model_swapw_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9629 {
9630 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
9631   const sh2a_fpu_scache* abuf = sem;
9632   const sh2a_fpu_idesc* idesc = abuf->idesc;
9633   int cycles = 0;
9634   {
9635     int referenced = 0;
9636     unsigned long long insn_referenced = abuf->written;
9637     INT in_usereg = -1;
9638     in_usereg = FLD (in_rm);
9639     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9640   }
9641   {
9642     int referenced = 0;
9643     unsigned long long insn_referenced = abuf->written;
9644     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
9645   }
9646   {
9647     int referenced = 0;
9648     unsigned long long insn_referenced = abuf->written;
9649     cycles += model_u_shift_after (current_cpu, idesc, 2, referenced);
9650   }
9651   return cycles;
9652 #undef FLD
9653 }
9654
9655 UINT
9656 sh2a_fpu_sh2a_fpu_model::model_tasb_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9657 {
9658 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
9659   const sh2a_fpu_scache* abuf = sem;
9660   const sh2a_fpu_idesc* idesc = abuf->idesc;
9661   int cycles = 0;
9662   {
9663     INT in_usereg = -1;
9664     in_usereg = FLD (in_rn);
9665     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9666   }
9667   {
9668     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
9669   }
9670   {
9671     cycles += model_u_tas_before (current_cpu, idesc, 2);
9672   }
9673   {
9674     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
9675   }
9676   {
9677     cycles += model_u_memory_access_before (current_cpu, idesc, 4);
9678   }
9679   return cycles;
9680 #undef FLD
9681 }
9682
9683 UINT
9684 sh2a_fpu_sh2a_fpu_model::model_tasb_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9685 {
9686 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
9687   const sh2a_fpu_scache* abuf = sem;
9688   const sh2a_fpu_idesc* idesc = abuf->idesc;
9689   int cycles = 0;
9690   {
9691     int referenced = 0;
9692     unsigned long long insn_referenced = abuf->written;
9693     INT in_usereg = -1;
9694     in_usereg = FLD (in_rn);
9695     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9696   }
9697   {
9698     int referenced = 0;
9699     unsigned long long insn_referenced = abuf->written;
9700     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
9701   }
9702   {
9703     int referenced = 0;
9704     unsigned long long insn_referenced = abuf->written;
9705     cycles += model_u_tas_after (current_cpu, idesc, 2, referenced);
9706   }
9707   {
9708     int referenced = 0;
9709     unsigned long long insn_referenced = abuf->written;
9710     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
9711   }
9712   {
9713     int referenced = 0;
9714     unsigned long long insn_referenced = abuf->written;
9715     cycles += model_u_memory_access_after (current_cpu, idesc, 4, referenced);
9716   }
9717   return cycles;
9718 #undef FLD
9719 }
9720
9721 UINT
9722 sh2a_fpu_sh2a_fpu_model::model_trapa_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9723 {
9724 #define FLD(f) abuf->fields.sfmt_andi_compact.f
9725   const sh2a_fpu_scache* abuf = sem;
9726   const sh2a_fpu_idesc* idesc = abuf->idesc;
9727   int cycles = 0;
9728   {
9729     cycles += model_u_trap_before (current_cpu, idesc, 0);
9730   }
9731   return cycles;
9732 #undef FLD
9733 }
9734
9735 UINT
9736 sh2a_fpu_sh2a_fpu_model::model_trapa_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9737 {
9738 #define FLD(f) abuf->fields.sfmt_andi_compact.f
9739   const sh2a_fpu_scache* abuf = sem;
9740   const sh2a_fpu_idesc* idesc = abuf->idesc;
9741   int cycles = 0;
9742   {
9743     int referenced = 0;
9744     unsigned long long insn_referenced = abuf->written;
9745     cycles += model_u_trap_after (current_cpu, idesc, 0, referenced);
9746   }
9747   return cycles;
9748 #undef FLD
9749 }
9750
9751 UINT
9752 sh2a_fpu_sh2a_fpu_model::model_tst_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9753 {
9754 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
9755   const sh2a_fpu_scache* abuf = sem;
9756   const sh2a_fpu_idesc* idesc = abuf->idesc;
9757   int cycles = 0;
9758   {
9759     INT in_usereg = -1;
9760     in_usereg = FLD (in_rn);
9761     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9762   }
9763   {
9764     INT in_usereg = -1;
9765     in_usereg = FLD (in_rm);
9766     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
9767   }
9768   {
9769     cycles += model_u_use_tbit_before (current_cpu, idesc, 2);
9770   }
9771   {
9772     cycles += model_u_exec_before (current_cpu, idesc, 3);
9773   }
9774   {
9775     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
9776   }
9777   return cycles;
9778 #undef FLD
9779 }
9780
9781 UINT
9782 sh2a_fpu_sh2a_fpu_model::model_tst_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9783 {
9784 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
9785   const sh2a_fpu_scache* abuf = sem;
9786   const sh2a_fpu_idesc* idesc = abuf->idesc;
9787   int cycles = 0;
9788   {
9789     int referenced = 0;
9790     unsigned long long insn_referenced = abuf->written;
9791     INT in_usereg = -1;
9792     in_usereg = FLD (in_rn);
9793     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9794   }
9795   {
9796     int referenced = 0;
9797     unsigned long long insn_referenced = abuf->written;
9798     INT in_usereg = -1;
9799     in_usereg = FLD (in_rm);
9800     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
9801   }
9802   {
9803     int referenced = 0;
9804     unsigned long long insn_referenced = abuf->written;
9805     cycles += model_u_use_tbit_after (current_cpu, idesc, 2, referenced);
9806   }
9807   {
9808     int referenced = 0;
9809     unsigned long long insn_referenced = abuf->written;
9810     cycles += model_u_exec_after (current_cpu, idesc, 3, referenced);
9811   }
9812   {
9813     int referenced = 0;
9814     unsigned long long insn_referenced = abuf->written;
9815     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
9816   }
9817   return cycles;
9818 #undef FLD
9819 }
9820
9821 UINT
9822 sh2a_fpu_sh2a_fpu_model::model_tsti_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9823 {
9824 #define FLD(f) abuf->fields.sfmt_andi_compact.f
9825   const sh2a_fpu_scache* abuf = sem;
9826   const sh2a_fpu_idesc* idesc = abuf->idesc;
9827   int cycles = 0;
9828   {
9829     INT in_usereg = -1;
9830     in_usereg = FLD (in_r0);
9831     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9832   }
9833   {
9834     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
9835   }
9836   {
9837     cycles += model_u_exec_before (current_cpu, idesc, 2);
9838   }
9839   {
9840     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 3);
9841   }
9842   return cycles;
9843 #undef FLD
9844 }
9845
9846 UINT
9847 sh2a_fpu_sh2a_fpu_model::model_tsti_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9848 {
9849 #define FLD(f) abuf->fields.sfmt_andi_compact.f
9850   const sh2a_fpu_scache* abuf = sem;
9851   const sh2a_fpu_idesc* idesc = abuf->idesc;
9852   int cycles = 0;
9853   {
9854     int referenced = 0;
9855     unsigned long long insn_referenced = abuf->written;
9856     INT in_usereg = -1;
9857     in_usereg = FLD (in_r0);
9858     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9859   }
9860   {
9861     int referenced = 0;
9862     unsigned long long insn_referenced = abuf->written;
9863     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
9864   }
9865   {
9866     int referenced = 0;
9867     unsigned long long insn_referenced = abuf->written;
9868     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
9869   }
9870   {
9871     int referenced = 0;
9872     unsigned long long insn_referenced = abuf->written;
9873     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 3, referenced);
9874   }
9875   return cycles;
9876 #undef FLD
9877 }
9878
9879 UINT
9880 sh2a_fpu_sh2a_fpu_model::model_tstb_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9881 {
9882 #define FLD(f) abuf->fields.sfmt_andi_compact.f
9883   const sh2a_fpu_scache* abuf = sem;
9884   const sh2a_fpu_idesc* idesc = abuf->idesc;
9885   int cycles = 0;
9886   {
9887     INT in_usereg = -1;
9888     in_usereg = FLD (in_r0);
9889     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9890   }
9891   {
9892     cycles += model_u_use_tbit_before (current_cpu, idesc, 1);
9893   }
9894   {
9895     cycles += model_u_exec_before (current_cpu, idesc, 2);
9896   }
9897   {
9898     cycles += model_u_sx_before (current_cpu, idesc, 3);
9899   }
9900   {
9901     cycles += model_u_set_sr_bit_before (current_cpu, idesc, 4);
9902   }
9903   {
9904     cycles += model_u_memory_access_before (current_cpu, idesc, 5);
9905   }
9906   return cycles;
9907 #undef FLD
9908 }
9909
9910 UINT
9911 sh2a_fpu_sh2a_fpu_model::model_tstb_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9912 {
9913 #define FLD(f) abuf->fields.sfmt_andi_compact.f
9914   const sh2a_fpu_scache* abuf = sem;
9915   const sh2a_fpu_idesc* idesc = abuf->idesc;
9916   int cycles = 0;
9917   {
9918     int referenced = 0;
9919     unsigned long long insn_referenced = abuf->written;
9920     INT in_usereg = -1;
9921     in_usereg = FLD (in_r0);
9922     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9923   }
9924   {
9925     int referenced = 0;
9926     unsigned long long insn_referenced = abuf->written;
9927     cycles += model_u_use_tbit_after (current_cpu, idesc, 1, referenced);
9928   }
9929   {
9930     int referenced = 0;
9931     unsigned long long insn_referenced = abuf->written;
9932     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
9933   }
9934   {
9935     int referenced = 0;
9936     unsigned long long insn_referenced = abuf->written;
9937     cycles += model_u_sx_after (current_cpu, idesc, 3, referenced);
9938   }
9939   {
9940     int referenced = 0;
9941     unsigned long long insn_referenced = abuf->written;
9942     cycles += model_u_set_sr_bit_after (current_cpu, idesc, 4, referenced);
9943   }
9944   {
9945     int referenced = 0;
9946     unsigned long long insn_referenced = abuf->written;
9947     cycles += model_u_memory_access_after (current_cpu, idesc, 5, referenced);
9948   }
9949   return cycles;
9950 #undef FLD
9951 }
9952
9953 UINT
9954 sh2a_fpu_sh2a_fpu_model::model_xor_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9955 {
9956 #define FLD(f) abuf->fields.sfmt_and_compact.f
9957   const sh2a_fpu_scache* abuf = sem;
9958   const sh2a_fpu_idesc* idesc = abuf->idesc;
9959   int cycles = 0;
9960   {
9961     INT in_usereg = -1;
9962     in_usereg = FLD (in_rn64);
9963     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
9964   }
9965   {
9966     INT in_usereg = -1;
9967     in_usereg = FLD (in_rm64);
9968     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
9969   }
9970   {
9971     cycles += model_u_exec_before (current_cpu, idesc, 2);
9972   }
9973   return cycles;
9974 #undef FLD
9975 }
9976
9977 UINT
9978 sh2a_fpu_sh2a_fpu_model::model_xor_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
9979 {
9980 #define FLD(f) abuf->fields.sfmt_and_compact.f
9981   const sh2a_fpu_scache* abuf = sem;
9982   const sh2a_fpu_idesc* idesc = abuf->idesc;
9983   int cycles = 0;
9984   {
9985     int referenced = 0;
9986     unsigned long long insn_referenced = abuf->written;
9987     INT in_usereg = -1;
9988     in_usereg = FLD (in_rn64);
9989     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
9990   }
9991   {
9992     int referenced = 0;
9993     unsigned long long insn_referenced = abuf->written;
9994     INT in_usereg = -1;
9995     in_usereg = FLD (in_rm64);
9996     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
9997   }
9998   {
9999     int referenced = 0;
10000     unsigned long long insn_referenced = abuf->written;
10001     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
10002   }
10003   return cycles;
10004 #undef FLD
10005 }
10006
10007 UINT
10008 sh2a_fpu_sh2a_fpu_model::model_xori_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
10009 {
10010 #define FLD(f) abuf->fields.sfmt_andi_compact.f
10011   const sh2a_fpu_scache* abuf = sem;
10012   const sh2a_fpu_idesc* idesc = abuf->idesc;
10013   int cycles = 0;
10014   {
10015     INT in_usereg = -1;
10016     in_usereg = FLD (in_r0);
10017     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
10018   }
10019   {
10020     cycles += model_u_exec_before (current_cpu, idesc, 1);
10021   }
10022   return cycles;
10023 #undef FLD
10024 }
10025
10026 UINT
10027 sh2a_fpu_sh2a_fpu_model::model_xori_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
10028 {
10029 #define FLD(f) abuf->fields.sfmt_andi_compact.f
10030   const sh2a_fpu_scache* abuf = sem;
10031   const sh2a_fpu_idesc* idesc = abuf->idesc;
10032   int cycles = 0;
10033   {
10034     int referenced = 0;
10035     unsigned long long insn_referenced = abuf->written;
10036     INT in_usereg = -1;
10037     in_usereg = FLD (in_r0);
10038     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
10039   }
10040   {
10041     int referenced = 0;
10042     unsigned long long insn_referenced = abuf->written;
10043     cycles += model_u_exec_after (current_cpu, idesc, 1, referenced);
10044   }
10045   return cycles;
10046 #undef FLD
10047 }
10048
10049 UINT
10050 sh2a_fpu_sh2a_fpu_model::model_xorb_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
10051 {
10052 #define FLD(f) abuf->fields.sfmt_andi_compact.f
10053   const sh2a_fpu_scache* abuf = sem;
10054   const sh2a_fpu_idesc* idesc = abuf->idesc;
10055   int cycles = 0;
10056   {
10057     INT in_usereg = -1;
10058     in_usereg = FLD (in_r0);
10059     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
10060   }
10061   {
10062     cycles += model_u_logic_b_before (current_cpu, idesc, 1);
10063   }
10064   {
10065     cycles += model_u_memory_access_before (current_cpu, idesc, 2);
10066   }
10067   return cycles;
10068 #undef FLD
10069 }
10070
10071 UINT
10072 sh2a_fpu_sh2a_fpu_model::model_xorb_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
10073 {
10074 #define FLD(f) abuf->fields.sfmt_andi_compact.f
10075   const sh2a_fpu_scache* abuf = sem;
10076   const sh2a_fpu_idesc* idesc = abuf->idesc;
10077   int cycles = 0;
10078   {
10079     int referenced = 0;
10080     unsigned long long insn_referenced = abuf->written;
10081     INT in_usereg = -1;
10082     in_usereg = FLD (in_r0);
10083     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
10084   }
10085   {
10086     int referenced = 0;
10087     unsigned long long insn_referenced = abuf->written;
10088     cycles += model_u_logic_b_after (current_cpu, idesc, 1, referenced);
10089   }
10090   {
10091     int referenced = 0;
10092     unsigned long long insn_referenced = abuf->written;
10093     cycles += model_u_memory_access_after (current_cpu, idesc, 2, referenced);
10094   }
10095   return cycles;
10096 #undef FLD
10097 }
10098
10099 UINT
10100 sh2a_fpu_sh2a_fpu_model::model_xtrct_compact_before (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
10101 {
10102 #define FLD(f) abuf->fields.sfmt_macl_compact.f
10103   const sh2a_fpu_scache* abuf = sem;
10104   const sh2a_fpu_idesc* idesc = abuf->idesc;
10105   int cycles = 0;
10106   {
10107     INT in_usereg = -1;
10108     in_usereg = FLD (in_rn);
10109     cycles += model_u_use_gr_before (current_cpu, idesc, 0, in_usereg);
10110   }
10111   {
10112     INT in_usereg = -1;
10113     in_usereg = FLD (in_rm);
10114     cycles += model_u_use_gr_before (current_cpu, idesc, 1, in_usereg);
10115   }
10116   {
10117     cycles += model_u_exec_before (current_cpu, idesc, 2);
10118   }
10119   {
10120     cycles += model_u_shift_before (current_cpu, idesc, 3);
10121   }
10122   return cycles;
10123 #undef FLD
10124 }
10125
10126 UINT
10127 sh2a_fpu_sh2a_fpu_model::model_xtrct_compact_after (sh2a_fpu_cpu *current_cpu, sh2a_fpu_scache *sem)
10128 {
10129 #define FLD(f) abuf->fields.sfmt_macl_compact.f
10130   const sh2a_fpu_scache* abuf = sem;
10131   const sh2a_fpu_idesc* idesc = abuf->idesc;
10132   int cycles = 0;
10133   {
10134     int referenced = 0;
10135     unsigned long long insn_referenced = abuf->written;
10136     INT in_usereg = -1;
10137     in_usereg = FLD (in_rn);
10138     cycles += model_u_use_gr_after (current_cpu, idesc, 0, referenced, in_usereg);
10139   }
10140   {
10141     int referenced = 0;
10142     unsigned long long insn_referenced = abuf->written;
10143     INT in_usereg = -1;
10144     in_usereg = FLD (in_rm);
10145     cycles += model_u_use_gr_after (current_cpu, idesc, 1, referenced, in_usereg);
10146   }
10147   {
10148     int referenced = 0;
10149     unsigned long long insn_referenced = abuf->written;
10150     cycles += model_u_exec_after (current_cpu, idesc, 2, referenced);
10151   }
10152   {
10153     int referenced = 0;
10154     unsigned long long insn_referenced = abuf->written;
10155     cycles += model_u_shift_after (current_cpu, idesc, 3, referenced);
10156   }
10157   return cycles;
10158 #undef FLD
10159 }
10160
10161 /* We assume UNIT_NONE == 0 because the tables don't always terminate
10162    entries with it.  */
10163
10164 /* Model timing data for `sh2a-fpu'.  */
10165
10166 const sh2a_fpu_sh2a_fpu_model::insn_timing sh2a_fpu_sh2a_fpu_model::timing[] = {
10167   { SH2A_FPU_INSN_X_INVALID, 0, 0, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10168   { SH2A_FPU_INSN_ADD_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_add_compact_before, & sh2a_fpu_sh2a_fpu_model::model_add_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10169   { SH2A_FPU_INSN_ADDI_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_addi_compact_before, & sh2a_fpu_sh2a_fpu_model::model_addi_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10170   { SH2A_FPU_INSN_ADDC_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_addc_compact_before, & sh2a_fpu_sh2a_fpu_model::model_addc_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10171   { SH2A_FPU_INSN_ADDV_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_addv_compact_before, & sh2a_fpu_sh2a_fpu_model::model_addv_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10172   { SH2A_FPU_INSN_AND_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_and_compact_before, & sh2a_fpu_sh2a_fpu_model::model_and_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10173   { SH2A_FPU_INSN_ANDI_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_andi_compact_before, & sh2a_fpu_sh2a_fpu_model::model_andi_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10174   { SH2A_FPU_INSN_ANDB_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_andb_compact_before, & sh2a_fpu_sh2a_fpu_model::model_andb_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOGIC_B, 0, 3 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10175   { SH2A_FPU_INSN_BF_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_bf_compact_before, & sh2a_fpu_sh2a_fpu_model::model_bf_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_BRANCH, 0, 3 } } },
10176   { SH2A_FPU_INSN_BFS_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_bfs_compact_before, & sh2a_fpu_sh2a_fpu_model::model_bfs_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_BRANCH, 0, 2 } } },
10177   { SH2A_FPU_INSN_BRA_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_bra_compact_before, & sh2a_fpu_sh2a_fpu_model::model_bra_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_BRANCH, 0, 2 } } },
10178   { SH2A_FPU_INSN_BRAF_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_braf_compact_before, & sh2a_fpu_sh2a_fpu_model::model_braf_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_JMP, 0, 2 } } },
10179   { SH2A_FPU_INSN_BSR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_bsr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_bsr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_BRANCH, 0, 2 } } },
10180   { SH2A_FPU_INSN_BSRF_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_bsrf_compact_before, & sh2a_fpu_sh2a_fpu_model::model_bsrf_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_JSR, 0, 2 } } },
10181   { SH2A_FPU_INSN_BT_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_bt_compact_before, & sh2a_fpu_sh2a_fpu_model::model_bt_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_BRANCH, 0, 3 } } },
10182   { SH2A_FPU_INSN_BTS_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_bts_compact_before, & sh2a_fpu_sh2a_fpu_model::model_bts_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_BRANCH, 0, 2 } } },
10183   { SH2A_FPU_INSN_CLRMAC_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_clrmac_compact_before, & sh2a_fpu_sh2a_fpu_model::model_clrmac_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_MAC, 0, 0 } } },
10184   { SH2A_FPU_INSN_CLRT_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_clrt_compact_before, & sh2a_fpu_sh2a_fpu_model::model_clrt_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10185   { SH2A_FPU_INSN_CMPEQ_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_cmpeq_compact_before, & sh2a_fpu_sh2a_fpu_model::model_cmpeq_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10186   { SH2A_FPU_INSN_CMPEQI_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_cmpeqi_compact_before, & sh2a_fpu_sh2a_fpu_model::model_cmpeqi_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10187   { SH2A_FPU_INSN_CMPGE_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_cmpge_compact_before, & sh2a_fpu_sh2a_fpu_model::model_cmpge_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10188   { SH2A_FPU_INSN_CMPGT_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_cmpgt_compact_before, & sh2a_fpu_sh2a_fpu_model::model_cmpgt_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10189   { SH2A_FPU_INSN_CMPHI_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_cmphi_compact_before, & sh2a_fpu_sh2a_fpu_model::model_cmphi_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10190   { SH2A_FPU_INSN_CMPHS_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_cmphs_compact_before, & sh2a_fpu_sh2a_fpu_model::model_cmphs_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10191   { SH2A_FPU_INSN_CMPPL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_cmppl_compact_before, & sh2a_fpu_sh2a_fpu_model::model_cmppl_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10192   { SH2A_FPU_INSN_CMPPZ_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_cmppz_compact_before, & sh2a_fpu_sh2a_fpu_model::model_cmppz_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10193   { SH2A_FPU_INSN_CMPSTR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_cmpstr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_cmpstr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10194   { SH2A_FPU_INSN_DIV0S_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_div0s_compact_before, & sh2a_fpu_sh2a_fpu_model::model_div0s_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10195   { SH2A_FPU_INSN_DIV0U_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_div0u_compact_before, & sh2a_fpu_sh2a_fpu_model::model_div0u_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10196   { SH2A_FPU_INSN_DIV1_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_div1_compact_before, & sh2a_fpu_sh2a_fpu_model::model_div1_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10197   { SH2A_FPU_INSN_DIVU_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_divu_compact_before, & sh2a_fpu_sh2a_fpu_model::model_divu_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 34 } } },
10198   { SH2A_FPU_INSN_MULR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_mulr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_mulr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MULR, 1, 2 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MULR_GR, 0, 0 } } },
10199   { SH2A_FPU_INSN_DMULSL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_dmulsl_compact_before, & sh2a_fpu_sh2a_fpu_model::model_dmulsl_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_DMUL, 1, 2 } } },
10200   { SH2A_FPU_INSN_DMULUL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_dmulul_compact_before, & sh2a_fpu_sh2a_fpu_model::model_dmulul_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_DMUL, 1, 2 } } },
10201   { SH2A_FPU_INSN_DT_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_dt_compact_before, & sh2a_fpu_sh2a_fpu_model::model_dt_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10202   { SH2A_FPU_INSN_EXTSB_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_extsb_compact_before, & sh2a_fpu_sh2a_fpu_model::model_extsb_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10203   { SH2A_FPU_INSN_EXTSW_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_extsw_compact_before, & sh2a_fpu_sh2a_fpu_model::model_extsw_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10204   { SH2A_FPU_INSN_EXTUB_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_extub_compact_before, & sh2a_fpu_sh2a_fpu_model::model_extub_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10205   { SH2A_FPU_INSN_EXTUW_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_extuw_compact_before, & sh2a_fpu_sh2a_fpu_model::model_extuw_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10206   { SH2A_FPU_INSN_FABS_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fabs_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fabs_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FR_0, 0, 0 } } },
10207   { SH2A_FPU_INSN_FADD_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fadd_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fadd_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FR, 0, 0 } } },
10208   { SH2A_FPU_INSN_FCMPEQ_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fcmpeq_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fcmpeq_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FCMP, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU, 0, 0 } } },
10209   { SH2A_FPU_INSN_FCMPGT_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fcmpgt_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fcmpgt_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FCMP, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU, 0, 0 } } },
10210   { SH2A_FPU_INSN_FCNVDS_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fcnvds_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fcnvds_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_DR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FCNV, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FPUL, 0, 0 } } },
10211   { SH2A_FPU_INSN_FCNVSD_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fcnvsd_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fcnvsd_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FPUL, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FCNV, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_DR, 0, 0 } } },
10212   { SH2A_FPU_INSN_FDIV_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fdiv_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fdiv_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FDIV, 0, 0 } } },
10213   { SH2A_FPU_INSN_FLDS_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_flds_compact_before, & sh2a_fpu_sh2a_fpu_model::model_flds_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FLDS_FPUL, 0, 0 } } },
10214   { SH2A_FPU_INSN_FLDI0_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fldi0_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fldi0_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FR_0, 0, 0 } } },
10215   { SH2A_FPU_INSN_FLDI1_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fldi1_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fldi1_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FR_0, 0, 0 } } },
10216   { SH2A_FPU_INSN_FLOAT_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_float_compact_before, & sh2a_fpu_sh2a_fpu_model::model_float_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FPUL, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FR, 0, 0 } } },
10217   { SH2A_FPU_INSN_FMAC_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fmac_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fmac_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FR, 0, 0 } } },
10218   { SH2A_FPU_INSN_FMOV1_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fmov1_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fmov1_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FR_0, 0, 0 } } },
10219   { SH2A_FPU_INSN_FMOV2_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fmov2_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fmov2_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_FR, 0, 0 } } },
10220   { SH2A_FPU_INSN_FMOV3_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fmov3_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fmov3_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_FR, 0, 0 } } },
10221   { SH2A_FPU_INSN_FMOV4_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fmov4_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fmov4_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_FR, 0, 0 } } },
10222   { SH2A_FPU_INSN_FMOV5_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fmov5_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fmov5_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 } } },
10223   { SH2A_FPU_INSN_FMOV6_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fmov6_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fmov6_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 } } },
10224   { SH2A_FPU_INSN_FMOV7_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fmov7_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fmov7_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 } } },
10225   { SH2A_FPU_INSN_FMOV8_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fmov8_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fmov8_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_DR, 0, 0 } } },
10226   { SH2A_FPU_INSN_FMOV9_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fmov9_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fmov9_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 1 } } },
10227   { SH2A_FPU_INSN_FMUL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fmul_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fmul_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FR, 0, 0 } } },
10228   { SH2A_FPU_INSN_FNEG_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fneg_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fneg_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FR_0, 0, 0 } } },
10229   { SH2A_FPU_INSN_FRCHG_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_frchg_compact_before, & sh2a_fpu_sh2a_fpu_model::model_frchg_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10230   { SH2A_FPU_INSN_FSCHG_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fschg_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fschg_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10231   { SH2A_FPU_INSN_FSQRT_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fsqrt_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fsqrt_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FSQRT, 0, 0 } } },
10232   { SH2A_FPU_INSN_FSTS_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fsts_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fsts_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FPUL, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FR_0, 0, 0 } } },
10233   { SH2A_FPU_INSN_FSUB_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_fsub_compact_before, & sh2a_fpu_sh2a_fpu_model::model_fsub_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FR, 0, 0 } } },
10234   { SH2A_FPU_INSN_FTRC_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ftrc_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ftrc_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_FPUL, 0, 0 } } },
10235   { SH2A_FPU_INSN_JMP_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_jmp_compact_before, & sh2a_fpu_sh2a_fpu_model::model_jmp_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_JMP, 0, 2 } } },
10236   { SH2A_FPU_INSN_JSR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_jsr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_jsr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_JSR, 0, 2 } } },
10237   { SH2A_FPU_INSN_LDC_GBR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ldc_gbr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ldc_gbr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LDC_GBR, 0, 1 } } },
10238   { SH2A_FPU_INSN_LDC_VBR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ldc_vbr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ldc_vbr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10239   { SH2A_FPU_INSN_LDC_SR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ldc_sr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ldc_sr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LDC_SR, 0, 1 } } },
10240   { SH2A_FPU_INSN_LDCL_GBR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ldcl_gbr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ldcl_gbr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LDCL, 0, 3 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GBR, 0, 0 } } },
10241   { SH2A_FPU_INSN_LDCL_VBR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ldcl_vbr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ldcl_vbr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LDCL_VBR, 0, 3 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_VBR, 0, 0 } } },
10242   { SH2A_FPU_INSN_LDS_FPSCR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_lds_fpscr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_lds_fpscr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LDS_FPSCR, 0, 3 } } },
10243   { SH2A_FPU_INSN_LDSL_FPSCR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ldsl_fpscr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ldsl_fpscr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LDS_FPSCR, 0, 3 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LDSL_FPSCR, 0, 0 } } },
10244   { SH2A_FPU_INSN_LDS_FPUL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_lds_fpul_compact_before, & sh2a_fpu_sh2a_fpu_model::model_lds_fpul_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_FPUL, 0, 0 } } },
10245   { SH2A_FPU_INSN_LDSL_FPUL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ldsl_fpul_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ldsl_fpul_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_FPUL, 0, 0 } } },
10246   { SH2A_FPU_INSN_LDS_MACH_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_lds_mach_compact_before, & sh2a_fpu_sh2a_fpu_model::model_lds_mach_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_MAC, 0, 0 } } },
10247   { SH2A_FPU_INSN_LDSL_MACH_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ldsl_mach_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ldsl_mach_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_MAC, 0, 0 } } },
10248   { SH2A_FPU_INSN_LDS_MACL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_lds_macl_compact_before, & sh2a_fpu_sh2a_fpu_model::model_lds_macl_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_MAC, 0, 0 } } },
10249   { SH2A_FPU_INSN_LDSL_MACL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ldsl_macl_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ldsl_macl_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_MAC, 0, 0 } } },
10250   { SH2A_FPU_INSN_LDS_PR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_lds_pr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_lds_pr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LDS_PR, 0, 1 } } },
10251   { SH2A_FPU_INSN_LDSL_PR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ldsl_pr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ldsl_pr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LDS_PR, 0, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_PR, 0, 0 } } },
10252   { SH2A_FPU_INSN_MACL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_macl_compact_before, & sh2a_fpu_sh2a_fpu_model::model_macl_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MACL, 1, 2 } } },
10253   { SH2A_FPU_INSN_MACW_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_macw_compact_before, & sh2a_fpu_sh2a_fpu_model::model_macw_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MACW, 1, 2 } } },
10254   { SH2A_FPU_INSN_MOV_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_mov_compact_before, & sh2a_fpu_sh2a_fpu_model::model_mov_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10255   { SH2A_FPU_INSN_MOVI_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movi_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movi_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10256   { SH2A_FPU_INSN_MOVI20_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movi20_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movi20_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10257   { SH2A_FPU_INSN_MOVB1_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movb1_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movb1_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10258   { SH2A_FPU_INSN_MOVB2_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movb2_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movb2_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10259   { SH2A_FPU_INSN_MOVB3_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movb3_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movb3_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10260   { SH2A_FPU_INSN_MOVB4_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movb4_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movb4_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SX, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10261   { SH2A_FPU_INSN_MOVB5_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movb5_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movb5_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10262   { SH2A_FPU_INSN_MOVB6_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movb6_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movb6_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10263   { SH2A_FPU_INSN_MOVB7_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movb7_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movb7_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10264   { SH2A_FPU_INSN_MOVB8_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movb8_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movb8_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10265   { SH2A_FPU_INSN_MOVB9_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movb9_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movb9_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10266   { SH2A_FPU_INSN_MOVB10_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movb10_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movb10_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10267   { SH2A_FPU_INSN_MOVL1_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl1_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl1_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10268   { SH2A_FPU_INSN_MOVL2_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl2_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl2_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10269   { SH2A_FPU_INSN_MOVL3_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl3_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl3_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10270   { SH2A_FPU_INSN_MOVL4_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl4_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl4_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SX, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10271   { SH2A_FPU_INSN_MOVL5_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl5_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl5_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10272   { SH2A_FPU_INSN_MOVL6_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl6_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl6_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10273   { SH2A_FPU_INSN_MOVL7_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl7_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl7_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10274   { SH2A_FPU_INSN_MOVL8_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl8_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl8_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10275   { SH2A_FPU_INSN_MOVL9_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl9_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl9_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10276   { SH2A_FPU_INSN_MOVL10_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl10_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl10_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10277   { SH2A_FPU_INSN_MOVL11_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl11_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl11_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10278   { SH2A_FPU_INSN_MOVL12_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl12_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl12_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10279   { SH2A_FPU_INSN_MOVL13_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movl13_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movl13_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10280   { SH2A_FPU_INSN_MOVW1_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movw1_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movw1_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10281   { SH2A_FPU_INSN_MOVW2_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movw2_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movw2_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10282   { SH2A_FPU_INSN_MOVW3_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movw3_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movw3_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10283   { SH2A_FPU_INSN_MOVW4_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movw4_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movw4_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SX, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10284   { SH2A_FPU_INSN_MOVW5_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movw5_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movw5_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10285   { SH2A_FPU_INSN_MOVW6_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movw6_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movw6_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10286   { SH2A_FPU_INSN_MOVW7_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movw7_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movw7_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10287   { SH2A_FPU_INSN_MOVW8_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movw8_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movw8_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10288   { SH2A_FPU_INSN_MOVW9_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movw9_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movw9_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10289   { SH2A_FPU_INSN_MOVW10_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movw10_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movw10_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10290   { SH2A_FPU_INSN_MOVW11_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movw11_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movw11_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOAD_GR, 0, 0 } } },
10291   { SH2A_FPU_INSN_MOVA_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_mova_compact_before, & sh2a_fpu_sh2a_fpu_model::model_mova_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10292   { SH2A_FPU_INSN_MOVT_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_movt_compact_before, & sh2a_fpu_sh2a_fpu_model::model_movt_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10293   { SH2A_FPU_INSN_MULL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_mull_compact_before, & sh2a_fpu_sh2a_fpu_model::model_mull_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MULL, 1, 2 } } },
10294   { SH2A_FPU_INSN_MULSW_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_mulsw_compact_before, & sh2a_fpu_sh2a_fpu_model::model_mulsw_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MULSW, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MULTIPLY, 1, 2 } } },
10295   { SH2A_FPU_INSN_MULUW_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_muluw_compact_before, & sh2a_fpu_sh2a_fpu_model::model_muluw_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MULSW, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MULTIPLY, 1, 2 } } },
10296   { SH2A_FPU_INSN_NEG_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_neg_compact_before, & sh2a_fpu_sh2a_fpu_model::model_neg_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10297   { SH2A_FPU_INSN_NEGC_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_negc_compact_before, & sh2a_fpu_sh2a_fpu_model::model_negc_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10298   { SH2A_FPU_INSN_NOP_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_nop_compact_before, & sh2a_fpu_sh2a_fpu_model::model_nop_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10299   { SH2A_FPU_INSN_NOT_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_not_compact_before, & sh2a_fpu_sh2a_fpu_model::model_not_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10300   { SH2A_FPU_INSN_OR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_or_compact_before, & sh2a_fpu_sh2a_fpu_model::model_or_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10301   { SH2A_FPU_INSN_ORI_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_ori_compact_before, & sh2a_fpu_sh2a_fpu_model::model_ori_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10302   { SH2A_FPU_INSN_ORB_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_orb_compact_before, & sh2a_fpu_sh2a_fpu_model::model_orb_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOGIC_B, 0, 3 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10303   { SH2A_FPU_INSN_ROTCL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_rotcl_compact_before, & sh2a_fpu_sh2a_fpu_model::model_rotcl_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10304   { SH2A_FPU_INSN_ROTCR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_rotcr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_rotcr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10305   { SH2A_FPU_INSN_ROTL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_rotl_compact_before, & sh2a_fpu_sh2a_fpu_model::model_rotl_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10306   { SH2A_FPU_INSN_ROTR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_rotr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_rotr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10307   { SH2A_FPU_INSN_RTS_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_rts_compact_before, & sh2a_fpu_sh2a_fpu_model::model_rts_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_JMP, 0, 2 } } },
10308   { SH2A_FPU_INSN_SETT_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_sett_compact_before, & sh2a_fpu_sh2a_fpu_model::model_sett_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10309   { SH2A_FPU_INSN_SHAD_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_shad_compact_before, & sh2a_fpu_sh2a_fpu_model::model_shad_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10310   { SH2A_FPU_INSN_SHAL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_shal_compact_before, & sh2a_fpu_sh2a_fpu_model::model_shal_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10311   { SH2A_FPU_INSN_SHAR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_shar_compact_before, & sh2a_fpu_sh2a_fpu_model::model_shar_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10312   { SH2A_FPU_INSN_SHLL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_shll_compact_before, & sh2a_fpu_sh2a_fpu_model::model_shll_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10313   { SH2A_FPU_INSN_SHLL2_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_shll2_compact_before, & sh2a_fpu_sh2a_fpu_model::model_shll2_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10314   { SH2A_FPU_INSN_SHLL8_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_shll8_compact_before, & sh2a_fpu_sh2a_fpu_model::model_shll8_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10315   { SH2A_FPU_INSN_SHLL16_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_shll16_compact_before, & sh2a_fpu_sh2a_fpu_model::model_shll16_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10316   { SH2A_FPU_INSN_SHLR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_shlr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_shlr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10317   { SH2A_FPU_INSN_SHLR2_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_shlr2_compact_before, & sh2a_fpu_sh2a_fpu_model::model_shlr2_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10318   { SH2A_FPU_INSN_SHLR8_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_shlr8_compact_before, & sh2a_fpu_sh2a_fpu_model::model_shlr8_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10319   { SH2A_FPU_INSN_SHLR16_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_shlr16_compact_before, & sh2a_fpu_sh2a_fpu_model::model_shlr16_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10320   { SH2A_FPU_INSN_STC_GBR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_stc_gbr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_stc_gbr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10321   { SH2A_FPU_INSN_STC_VBR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_stc_vbr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_stc_vbr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_STC_VBR, 0, 1 } } },
10322   { SH2A_FPU_INSN_STCL_GBR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_stcl_gbr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_stcl_gbr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LDCL, 0, 2 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10323   { SH2A_FPU_INSN_STCL_VBR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_stcl_vbr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_stcl_vbr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LDCL, 0, 2 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10324   { SH2A_FPU_INSN_STS_FPSCR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_sts_fpscr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_sts_fpscr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FPSCR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_LOAD_GR, 0, 0 } } },
10325   { SH2A_FPU_INSN_STSL_FPSCR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_stsl_fpscr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_stsl_fpscr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FPSCR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 } } },
10326   { SH2A_FPU_INSN_STS_FPUL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_sts_fpul_compact_before, & sh2a_fpu_sh2a_fpu_model::model_sts_fpul_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FPUL, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_LOAD_GR, 0, 0 } } },
10327   { SH2A_FPU_INSN_STSL_FPUL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_stsl_fpul_compact_before, & sh2a_fpu_sh2a_fpu_model::model_stsl_fpul_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_FPUL, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MAYBE_FPU, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_FPU_MEMORY_ACCESS, 0, 0 } } },
10328   { SH2A_FPU_INSN_STS_MACH_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_sts_mach_compact_before, & sh2a_fpu_sh2a_fpu_model::model_sts_mach_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10329   { SH2A_FPU_INSN_STSL_MACH_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_stsl_mach_compact_before, & sh2a_fpu_sh2a_fpu_model::model_stsl_mach_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10330   { SH2A_FPU_INSN_STS_MACL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_sts_macl_compact_before, & sh2a_fpu_sh2a_fpu_model::model_sts_macl_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10331   { SH2A_FPU_INSN_STSL_MACL_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_stsl_macl_compact_before, & sh2a_fpu_sh2a_fpu_model::model_stsl_macl_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_MULTIPLY_RESULT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_WRITE_BACK, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10332   { SH2A_FPU_INSN_STS_PR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_sts_pr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_sts_pr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_PR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_STS_PR, 0, 1 } } },
10333   { SH2A_FPU_INSN_STSL_PR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_stsl_pr_compact_before, & sh2a_fpu_sh2a_fpu_model::model_stsl_pr_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_PR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_STS_PR, 0, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10334   { SH2A_FPU_INSN_SUB_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_sub_compact_before, & sh2a_fpu_sh2a_fpu_model::model_sub_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10335   { SH2A_FPU_INSN_SUBC_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_subc_compact_before, & sh2a_fpu_sh2a_fpu_model::model_subc_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10336   { SH2A_FPU_INSN_SUBV_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_subv_compact_before, & sh2a_fpu_sh2a_fpu_model::model_subv_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10337   { SH2A_FPU_INSN_SWAPB_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_swapb_compact_before, & sh2a_fpu_sh2a_fpu_model::model_swapb_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10338   { SH2A_FPU_INSN_SWAPW_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_swapw_compact_before, & sh2a_fpu_sh2a_fpu_model::model_swapw_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10339   { SH2A_FPU_INSN_TASB_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_tasb_compact_before, & sh2a_fpu_sh2a_fpu_model::model_tasb_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_TAS, 1, 4 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10340   { SH2A_FPU_INSN_TRAPA_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_trapa_compact_before, & sh2a_fpu_sh2a_fpu_model::model_trapa_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_TRAP, 0, 8 } } },
10341   { SH2A_FPU_INSN_TST_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_tst_compact_before, & sh2a_fpu_sh2a_fpu_model::model_tst_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10342   { SH2A_FPU_INSN_TSTI_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_tsti_compact_before, & sh2a_fpu_sh2a_fpu_model::model_tsti_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 } } },
10343   { SH2A_FPU_INSN_TSTB_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_tstb_compact_before, & sh2a_fpu_sh2a_fpu_model::model_tstb_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_TBIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 3 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SX, 1, 3 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SET_SR_BIT, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10344   { SH2A_FPU_INSN_XOR_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_xor_compact_before, & sh2a_fpu_sh2a_fpu_model::model_xor_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10345   { SH2A_FPU_INSN_XORI_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_xori_compact_before, & sh2a_fpu_sh2a_fpu_model::model_xori_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 } } },
10346   { SH2A_FPU_INSN_XORB_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_xorb_compact_before, & sh2a_fpu_sh2a_fpu_model::model_xorb_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_LOGIC_B, 0, 3 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_MEMORY_ACCESS, 0, 0 } } },
10347   { SH2A_FPU_INSN_XTRCT_COMPACT, & sh2a_fpu_sh2a_fpu_model::model_xtrct_compact_before, & sh2a_fpu_sh2a_fpu_model::model_xtrct_compact_after, { { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_USE_GR, 0, 0 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_EXEC, 1, 1 }, { sh2a_fpu_sh2a_fpu_model::UNIT_U_SHIFT, 0, 0 } } },
10348 };
10349