1 /* Simulator model support for m32rbf.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996-2019 Free Software Foundation, Inc.
7 This file is part of the GNU simulators.
9 This file is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, see <http://www.gnu.org/licenses/>.
24 #define WANT_CPU m32rbf
25 #define WANT_CPU_M32RBF
29 /* The profiling data is recorded here, but is accessed via the profiling
30 mechanism. After all, this is information for profiling. */
32 #if WITH_PROFILE_MODEL_P
34 /* Model handlers for each insn. */
37 model_m32r_d_add (SIM_CPU
*current_cpu
, void *sem_arg
)
39 #define FLD(f) abuf->fields.sfmt_add.f
40 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
41 const IDESC
* UNUSED idesc
= abuf
->idesc
;
45 int UNUSED insn_referenced
= abuf
->written
;
51 out_dr
= FLD (out_dr
);
55 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
62 model_m32r_d_add3 (SIM_CPU
*current_cpu
, void *sem_arg
)
64 #define FLD(f) abuf->fields.sfmt_add3.f
65 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
66 const IDESC
* UNUSED idesc
= abuf
->idesc
;
70 int UNUSED insn_referenced
= abuf
->written
;
75 out_dr
= FLD (out_dr
);
78 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
85 model_m32r_d_and (SIM_CPU
*current_cpu
, void *sem_arg
)
87 #define FLD(f) abuf->fields.sfmt_add.f
88 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
89 const IDESC
* UNUSED idesc
= abuf
->idesc
;
93 int UNUSED insn_referenced
= abuf
->written
;
99 out_dr
= FLD (out_dr
);
100 referenced
|= 1 << 0;
101 referenced
|= 1 << 1;
102 referenced
|= 1 << 2;
103 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
110 model_m32r_d_and3 (SIM_CPU
*current_cpu
, void *sem_arg
)
112 #define FLD(f) abuf->fields.sfmt_and3.f
113 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
114 const IDESC
* UNUSED idesc
= abuf
->idesc
;
118 int UNUSED insn_referenced
= abuf
->written
;
123 out_dr
= FLD (out_dr
);
124 referenced
|= 1 << 0;
125 referenced
|= 1 << 2;
126 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
133 model_m32r_d_or (SIM_CPU
*current_cpu
, void *sem_arg
)
135 #define FLD(f) abuf->fields.sfmt_add.f
136 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
137 const IDESC
* UNUSED idesc
= abuf
->idesc
;
141 int UNUSED insn_referenced
= abuf
->written
;
147 out_dr
= FLD (out_dr
);
148 referenced
|= 1 << 0;
149 referenced
|= 1 << 1;
150 referenced
|= 1 << 2;
151 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
158 model_m32r_d_or3 (SIM_CPU
*current_cpu
, void *sem_arg
)
160 #define FLD(f) abuf->fields.sfmt_and3.f
161 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
162 const IDESC
* UNUSED idesc
= abuf
->idesc
;
166 int UNUSED insn_referenced
= abuf
->written
;
171 out_dr
= FLD (out_dr
);
172 referenced
|= 1 << 0;
173 referenced
|= 1 << 2;
174 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
181 model_m32r_d_xor (SIM_CPU
*current_cpu
, void *sem_arg
)
183 #define FLD(f) abuf->fields.sfmt_add.f
184 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
185 const IDESC
* UNUSED idesc
= abuf
->idesc
;
189 int UNUSED insn_referenced
= abuf
->written
;
195 out_dr
= FLD (out_dr
);
196 referenced
|= 1 << 0;
197 referenced
|= 1 << 1;
198 referenced
|= 1 << 2;
199 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
206 model_m32r_d_xor3 (SIM_CPU
*current_cpu
, void *sem_arg
)
208 #define FLD(f) abuf->fields.sfmt_and3.f
209 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
210 const IDESC
* UNUSED idesc
= abuf
->idesc
;
214 int UNUSED insn_referenced
= abuf
->written
;
219 out_dr
= FLD (out_dr
);
220 referenced
|= 1 << 0;
221 referenced
|= 1 << 2;
222 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
229 model_m32r_d_addi (SIM_CPU
*current_cpu
, void *sem_arg
)
231 #define FLD(f) abuf->fields.sfmt_addi.f
232 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
233 const IDESC
* UNUSED idesc
= abuf
->idesc
;
237 int UNUSED insn_referenced
= abuf
->written
;
242 out_dr
= FLD (out_dr
);
243 referenced
|= 1 << 1;
244 referenced
|= 1 << 2;
245 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
252 model_m32r_d_addv (SIM_CPU
*current_cpu
, void *sem_arg
)
254 #define FLD(f) abuf->fields.sfmt_add.f
255 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
256 const IDESC
* UNUSED idesc
= abuf
->idesc
;
260 int UNUSED insn_referenced
= abuf
->written
;
266 out_dr
= FLD (out_dr
);
267 referenced
|= 1 << 0;
268 referenced
|= 1 << 1;
269 referenced
|= 1 << 2;
270 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
277 model_m32r_d_addv3 (SIM_CPU
*current_cpu
, void *sem_arg
)
279 #define FLD(f) abuf->fields.sfmt_add3.f
280 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
281 const IDESC
* UNUSED idesc
= abuf
->idesc
;
285 int UNUSED insn_referenced
= abuf
->written
;
290 out_dr
= FLD (out_dr
);
291 referenced
|= 1 << 0;
292 referenced
|= 1 << 2;
293 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
300 model_m32r_d_addx (SIM_CPU
*current_cpu
, void *sem_arg
)
302 #define FLD(f) abuf->fields.sfmt_add.f
303 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
304 const IDESC
* UNUSED idesc
= abuf
->idesc
;
308 int UNUSED insn_referenced
= abuf
->written
;
314 out_dr
= FLD (out_dr
);
315 referenced
|= 1 << 0;
316 referenced
|= 1 << 1;
317 referenced
|= 1 << 2;
318 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
325 model_m32r_d_bc8 (SIM_CPU
*current_cpu
, void *sem_arg
)
327 #define FLD(f) abuf->fields.sfmt_bl8.f
328 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
329 const IDESC
* UNUSED idesc
= abuf
->idesc
;
333 int UNUSED insn_referenced
= abuf
->written
;
335 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
336 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
343 model_m32r_d_bc24 (SIM_CPU
*current_cpu
, void *sem_arg
)
345 #define FLD(f) abuf->fields.sfmt_bl24.f
346 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
347 const IDESC
* UNUSED idesc
= abuf
->idesc
;
351 int UNUSED insn_referenced
= abuf
->written
;
353 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
354 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
361 model_m32r_d_beq (SIM_CPU
*current_cpu
, void *sem_arg
)
363 #define FLD(f) abuf->fields.sfmt_beq.f
364 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
365 const IDESC
* UNUSED idesc
= abuf
->idesc
;
369 int UNUSED insn_referenced
= abuf
->written
;
371 if (insn_referenced
& (1 << 3)) referenced
|= 1 << 1;
372 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
376 int UNUSED insn_referenced
= abuf
->written
;
379 in_src1
= FLD (in_src1
);
380 in_src2
= FLD (in_src2
);
381 referenced
|= 1 << 0;
382 referenced
|= 1 << 1;
383 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
390 model_m32r_d_beqz (SIM_CPU
*current_cpu
, void *sem_arg
)
392 #define FLD(f) abuf->fields.sfmt_beq.f
393 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
394 const IDESC
* UNUSED idesc
= abuf
->idesc
;
398 int UNUSED insn_referenced
= abuf
->written
;
400 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
401 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
405 int UNUSED insn_referenced
= abuf
->written
;
408 in_src2
= FLD (in_src2
);
409 referenced
|= 1 << 1;
410 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
417 model_m32r_d_bgez (SIM_CPU
*current_cpu
, void *sem_arg
)
419 #define FLD(f) abuf->fields.sfmt_beq.f
420 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
421 const IDESC
* UNUSED idesc
= abuf
->idesc
;
425 int UNUSED insn_referenced
= abuf
->written
;
427 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
428 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
432 int UNUSED insn_referenced
= abuf
->written
;
435 in_src2
= FLD (in_src2
);
436 referenced
|= 1 << 1;
437 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
444 model_m32r_d_bgtz (SIM_CPU
*current_cpu
, void *sem_arg
)
446 #define FLD(f) abuf->fields.sfmt_beq.f
447 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
448 const IDESC
* UNUSED idesc
= abuf
->idesc
;
452 int UNUSED insn_referenced
= abuf
->written
;
454 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
455 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
459 int UNUSED insn_referenced
= abuf
->written
;
462 in_src2
= FLD (in_src2
);
463 referenced
|= 1 << 1;
464 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
471 model_m32r_d_blez (SIM_CPU
*current_cpu
, void *sem_arg
)
473 #define FLD(f) abuf->fields.sfmt_beq.f
474 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
475 const IDESC
* UNUSED idesc
= abuf
->idesc
;
479 int UNUSED insn_referenced
= abuf
->written
;
481 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
482 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
486 int UNUSED insn_referenced
= abuf
->written
;
489 in_src2
= FLD (in_src2
);
490 referenced
|= 1 << 1;
491 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
498 model_m32r_d_bltz (SIM_CPU
*current_cpu
, void *sem_arg
)
500 #define FLD(f) abuf->fields.sfmt_beq.f
501 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
502 const IDESC
* UNUSED idesc
= abuf
->idesc
;
506 int UNUSED insn_referenced
= abuf
->written
;
508 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
509 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
513 int UNUSED insn_referenced
= abuf
->written
;
516 in_src2
= FLD (in_src2
);
517 referenced
|= 1 << 1;
518 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
525 model_m32r_d_bnez (SIM_CPU
*current_cpu
, void *sem_arg
)
527 #define FLD(f) abuf->fields.sfmt_beq.f
528 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
529 const IDESC
* UNUSED idesc
= abuf
->idesc
;
533 int UNUSED insn_referenced
= abuf
->written
;
535 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
536 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
540 int UNUSED insn_referenced
= abuf
->written
;
543 in_src2
= FLD (in_src2
);
544 referenced
|= 1 << 1;
545 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
552 model_m32r_d_bl8 (SIM_CPU
*current_cpu
, void *sem_arg
)
554 #define FLD(f) abuf->fields.sfmt_bl8.f
555 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
556 const IDESC
* UNUSED idesc
= abuf
->idesc
;
560 int UNUSED insn_referenced
= abuf
->written
;
562 referenced
|= 1 << 1;
563 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
570 model_m32r_d_bl24 (SIM_CPU
*current_cpu
, void *sem_arg
)
572 #define FLD(f) abuf->fields.sfmt_bl24.f
573 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
574 const IDESC
* UNUSED idesc
= abuf
->idesc
;
578 int UNUSED insn_referenced
= abuf
->written
;
580 referenced
|= 1 << 1;
581 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
588 model_m32r_d_bnc8 (SIM_CPU
*current_cpu
, void *sem_arg
)
590 #define FLD(f) abuf->fields.sfmt_bl8.f
591 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
592 const IDESC
* UNUSED idesc
= abuf
->idesc
;
596 int UNUSED insn_referenced
= abuf
->written
;
598 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
599 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
606 model_m32r_d_bnc24 (SIM_CPU
*current_cpu
, void *sem_arg
)
608 #define FLD(f) abuf->fields.sfmt_bl24.f
609 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
610 const IDESC
* UNUSED idesc
= abuf
->idesc
;
614 int UNUSED insn_referenced
= abuf
->written
;
616 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
617 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
624 model_m32r_d_bne (SIM_CPU
*current_cpu
, void *sem_arg
)
626 #define FLD(f) abuf->fields.sfmt_beq.f
627 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
628 const IDESC
* UNUSED idesc
= abuf
->idesc
;
632 int UNUSED insn_referenced
= abuf
->written
;
634 if (insn_referenced
& (1 << 3)) referenced
|= 1 << 1;
635 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
639 int UNUSED insn_referenced
= abuf
->written
;
642 in_src1
= FLD (in_src1
);
643 in_src2
= FLD (in_src2
);
644 referenced
|= 1 << 0;
645 referenced
|= 1 << 1;
646 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
653 model_m32r_d_bra8 (SIM_CPU
*current_cpu
, void *sem_arg
)
655 #define FLD(f) abuf->fields.sfmt_bl8.f
656 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
657 const IDESC
* UNUSED idesc
= abuf
->idesc
;
661 int UNUSED insn_referenced
= abuf
->written
;
663 referenced
|= 1 << 1;
664 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
671 model_m32r_d_bra24 (SIM_CPU
*current_cpu
, void *sem_arg
)
673 #define FLD(f) abuf->fields.sfmt_bl24.f
674 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
675 const IDESC
* UNUSED idesc
= abuf
->idesc
;
679 int UNUSED insn_referenced
= abuf
->written
;
681 referenced
|= 1 << 1;
682 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
689 model_m32r_d_cmp (SIM_CPU
*current_cpu
, void *sem_arg
)
691 #define FLD(f) abuf->fields.sfmt_st_plus.f
692 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
693 const IDESC
* UNUSED idesc
= abuf
->idesc
;
697 int UNUSED insn_referenced
= abuf
->written
;
700 in_src1
= FLD (in_src1
);
701 in_src2
= FLD (in_src2
);
702 referenced
|= 1 << 0;
703 referenced
|= 1 << 1;
704 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
711 model_m32r_d_cmpi (SIM_CPU
*current_cpu
, void *sem_arg
)
713 #define FLD(f) abuf->fields.sfmt_st_d.f
714 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
715 const IDESC
* UNUSED idesc
= abuf
->idesc
;
719 int UNUSED insn_referenced
= abuf
->written
;
722 in_src2
= FLD (in_src2
);
723 referenced
|= 1 << 1;
724 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
731 model_m32r_d_cmpu (SIM_CPU
*current_cpu
, void *sem_arg
)
733 #define FLD(f) abuf->fields.sfmt_st_plus.f
734 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
735 const IDESC
* UNUSED idesc
= abuf
->idesc
;
739 int UNUSED insn_referenced
= abuf
->written
;
742 in_src1
= FLD (in_src1
);
743 in_src2
= FLD (in_src2
);
744 referenced
|= 1 << 0;
745 referenced
|= 1 << 1;
746 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
753 model_m32r_d_cmpui (SIM_CPU
*current_cpu
, void *sem_arg
)
755 #define FLD(f) abuf->fields.sfmt_st_d.f
756 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
757 const IDESC
* UNUSED idesc
= abuf
->idesc
;
761 int UNUSED insn_referenced
= abuf
->written
;
764 in_src2
= FLD (in_src2
);
765 referenced
|= 1 << 1;
766 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
773 model_m32r_d_div (SIM_CPU
*current_cpu
, void *sem_arg
)
775 #define FLD(f) abuf->fields.sfmt_add.f
776 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
777 const IDESC
* UNUSED idesc
= abuf
->idesc
;
781 int UNUSED insn_referenced
= abuf
->written
;
787 out_dr
= FLD (out_dr
);
788 referenced
|= 1 << 0;
789 if (insn_referenced
& (1 << 0)) referenced
|= 1 << 1;
790 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 2;
791 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
798 model_m32r_d_divu (SIM_CPU
*current_cpu
, void *sem_arg
)
800 #define FLD(f) abuf->fields.sfmt_add.f
801 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
802 const IDESC
* UNUSED idesc
= abuf
->idesc
;
806 int UNUSED insn_referenced
= abuf
->written
;
812 out_dr
= FLD (out_dr
);
813 referenced
|= 1 << 0;
814 if (insn_referenced
& (1 << 0)) referenced
|= 1 << 1;
815 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 2;
816 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
823 model_m32r_d_rem (SIM_CPU
*current_cpu
, void *sem_arg
)
825 #define FLD(f) abuf->fields.sfmt_add.f
826 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
827 const IDESC
* UNUSED idesc
= abuf
->idesc
;
831 int UNUSED insn_referenced
= abuf
->written
;
837 out_dr
= FLD (out_dr
);
838 referenced
|= 1 << 0;
839 if (insn_referenced
& (1 << 0)) referenced
|= 1 << 1;
840 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 2;
841 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
848 model_m32r_d_remu (SIM_CPU
*current_cpu
, void *sem_arg
)
850 #define FLD(f) abuf->fields.sfmt_add.f
851 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
852 const IDESC
* UNUSED idesc
= abuf
->idesc
;
856 int UNUSED insn_referenced
= abuf
->written
;
862 out_dr
= FLD (out_dr
);
863 referenced
|= 1 << 0;
864 if (insn_referenced
& (1 << 0)) referenced
|= 1 << 1;
865 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 2;
866 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
873 model_m32r_d_jl (SIM_CPU
*current_cpu
, void *sem_arg
)
875 #define FLD(f) abuf->fields.sfmt_jl.f
876 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
877 const IDESC
* UNUSED idesc
= abuf
->idesc
;
881 int UNUSED insn_referenced
= abuf
->written
;
884 referenced
|= 1 << 0;
885 referenced
|= 1 << 1;
886 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
893 model_m32r_d_jmp (SIM_CPU
*current_cpu
, void *sem_arg
)
895 #define FLD(f) abuf->fields.sfmt_jl.f
896 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
897 const IDESC
* UNUSED idesc
= abuf
->idesc
;
901 int UNUSED insn_referenced
= abuf
->written
;
904 referenced
|= 1 << 0;
905 referenced
|= 1 << 1;
906 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
913 model_m32r_d_ld (SIM_CPU
*current_cpu
, void *sem_arg
)
915 #define FLD(f) abuf->fields.sfmt_ld_plus.f
916 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
917 const IDESC
* UNUSED idesc
= abuf
->idesc
;
921 int UNUSED insn_referenced
= abuf
->written
;
925 out_dr
= FLD (out_dr
);
926 referenced
|= 1 << 0;
927 referenced
|= 1 << 1;
928 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
935 model_m32r_d_ld_d (SIM_CPU
*current_cpu
, void *sem_arg
)
937 #define FLD(f) abuf->fields.sfmt_add3.f
938 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
939 const IDESC
* UNUSED idesc
= abuf
->idesc
;
943 int UNUSED insn_referenced
= abuf
->written
;
947 out_dr
= FLD (out_dr
);
948 referenced
|= 1 << 0;
949 referenced
|= 1 << 1;
950 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
957 model_m32r_d_ldb (SIM_CPU
*current_cpu
, void *sem_arg
)
959 #define FLD(f) abuf->fields.sfmt_ld_plus.f
960 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
961 const IDESC
* UNUSED idesc
= abuf
->idesc
;
965 int UNUSED insn_referenced
= abuf
->written
;
969 out_dr
= FLD (out_dr
);
970 referenced
|= 1 << 0;
971 referenced
|= 1 << 1;
972 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
979 model_m32r_d_ldb_d (SIM_CPU
*current_cpu
, void *sem_arg
)
981 #define FLD(f) abuf->fields.sfmt_add3.f
982 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
983 const IDESC
* UNUSED idesc
= abuf
->idesc
;
987 int UNUSED insn_referenced
= abuf
->written
;
991 out_dr
= FLD (out_dr
);
992 referenced
|= 1 << 0;
993 referenced
|= 1 << 1;
994 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1001 model_m32r_d_ldh (SIM_CPU
*current_cpu
, void *sem_arg
)
1003 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1004 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1005 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1009 int UNUSED insn_referenced
= abuf
->written
;
1012 in_sr
= FLD (in_sr
);
1013 out_dr
= FLD (out_dr
);
1014 referenced
|= 1 << 0;
1015 referenced
|= 1 << 1;
1016 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1023 model_m32r_d_ldh_d (SIM_CPU
*current_cpu
, void *sem_arg
)
1025 #define FLD(f) abuf->fields.sfmt_add3.f
1026 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1027 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1031 int UNUSED insn_referenced
= abuf
->written
;
1034 in_sr
= FLD (in_sr
);
1035 out_dr
= FLD (out_dr
);
1036 referenced
|= 1 << 0;
1037 referenced
|= 1 << 1;
1038 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1045 model_m32r_d_ldub (SIM_CPU
*current_cpu
, void *sem_arg
)
1047 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1048 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1049 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1053 int UNUSED insn_referenced
= abuf
->written
;
1056 in_sr
= FLD (in_sr
);
1057 out_dr
= FLD (out_dr
);
1058 referenced
|= 1 << 0;
1059 referenced
|= 1 << 1;
1060 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1067 model_m32r_d_ldub_d (SIM_CPU
*current_cpu
, void *sem_arg
)
1069 #define FLD(f) abuf->fields.sfmt_add3.f
1070 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1071 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1075 int UNUSED insn_referenced
= abuf
->written
;
1078 in_sr
= FLD (in_sr
);
1079 out_dr
= FLD (out_dr
);
1080 referenced
|= 1 << 0;
1081 referenced
|= 1 << 1;
1082 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1089 model_m32r_d_lduh (SIM_CPU
*current_cpu
, void *sem_arg
)
1091 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1092 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1093 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1097 int UNUSED insn_referenced
= abuf
->written
;
1100 in_sr
= FLD (in_sr
);
1101 out_dr
= FLD (out_dr
);
1102 referenced
|= 1 << 0;
1103 referenced
|= 1 << 1;
1104 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1111 model_m32r_d_lduh_d (SIM_CPU
*current_cpu
, void *sem_arg
)
1113 #define FLD(f) abuf->fields.sfmt_add3.f
1114 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1115 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1119 int UNUSED insn_referenced
= abuf
->written
;
1122 in_sr
= FLD (in_sr
);
1123 out_dr
= FLD (out_dr
);
1124 referenced
|= 1 << 0;
1125 referenced
|= 1 << 1;
1126 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1133 model_m32r_d_ld_plus (SIM_CPU
*current_cpu
, void *sem_arg
)
1135 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1136 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1137 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1141 int UNUSED insn_referenced
= abuf
->written
;
1144 in_sr
= FLD (in_sr
);
1145 out_dr
= FLD (out_dr
);
1146 referenced
|= 1 << 0;
1147 referenced
|= 1 << 1;
1148 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1152 int UNUSED insn_referenced
= abuf
->written
;
1156 in_dr
= FLD (in_sr
);
1157 out_dr
= FLD (out_sr
);
1158 referenced
|= 1 << 0;
1159 referenced
|= 1 << 2;
1160 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 1, referenced
, in_sr
, in_dr
, out_dr
);
1167 model_m32r_d_ld24 (SIM_CPU
*current_cpu
, void *sem_arg
)
1169 #define FLD(f) abuf->fields.sfmt_ld24.f
1170 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1171 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1175 int UNUSED insn_referenced
= abuf
->written
;
1179 out_dr
= FLD (out_dr
);
1180 referenced
|= 1 << 2;
1181 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1188 model_m32r_d_ldi8 (SIM_CPU
*current_cpu
, void *sem_arg
)
1190 #define FLD(f) abuf->fields.sfmt_addi.f
1191 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1192 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1196 int UNUSED insn_referenced
= abuf
->written
;
1200 out_dr
= FLD (out_dr
);
1201 referenced
|= 1 << 2;
1202 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1209 model_m32r_d_ldi16 (SIM_CPU
*current_cpu
, void *sem_arg
)
1211 #define FLD(f) abuf->fields.sfmt_add3.f
1212 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1213 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1217 int UNUSED insn_referenced
= abuf
->written
;
1221 out_dr
= FLD (out_dr
);
1222 referenced
|= 1 << 2;
1223 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1230 model_m32r_d_lock (SIM_CPU
*current_cpu
, void *sem_arg
)
1232 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1233 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1234 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1238 int UNUSED insn_referenced
= abuf
->written
;
1241 in_sr
= FLD (in_sr
);
1242 out_dr
= FLD (out_dr
);
1243 referenced
|= 1 << 0;
1244 referenced
|= 1 << 1;
1245 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1252 model_m32r_d_machi (SIM_CPU
*current_cpu
, void *sem_arg
)
1254 #define FLD(f) abuf->fields.sfmt_st_plus.f
1255 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1256 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1260 int UNUSED insn_referenced
= abuf
->written
;
1263 in_src1
= FLD (in_src1
);
1264 in_src2
= FLD (in_src2
);
1265 referenced
|= 1 << 0;
1266 referenced
|= 1 << 1;
1267 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1274 model_m32r_d_maclo (SIM_CPU
*current_cpu
, void *sem_arg
)
1276 #define FLD(f) abuf->fields.sfmt_st_plus.f
1277 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1278 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1282 int UNUSED insn_referenced
= abuf
->written
;
1285 in_src1
= FLD (in_src1
);
1286 in_src2
= FLD (in_src2
);
1287 referenced
|= 1 << 0;
1288 referenced
|= 1 << 1;
1289 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1296 model_m32r_d_macwhi (SIM_CPU
*current_cpu
, void *sem_arg
)
1298 #define FLD(f) abuf->fields.sfmt_st_plus.f
1299 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1300 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1304 int UNUSED insn_referenced
= abuf
->written
;
1307 in_src1
= FLD (in_src1
);
1308 in_src2
= FLD (in_src2
);
1309 referenced
|= 1 << 0;
1310 referenced
|= 1 << 1;
1311 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1318 model_m32r_d_macwlo (SIM_CPU
*current_cpu
, void *sem_arg
)
1320 #define FLD(f) abuf->fields.sfmt_st_plus.f
1321 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1322 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1326 int UNUSED insn_referenced
= abuf
->written
;
1329 in_src1
= FLD (in_src1
);
1330 in_src2
= FLD (in_src2
);
1331 referenced
|= 1 << 0;
1332 referenced
|= 1 << 1;
1333 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1340 model_m32r_d_mul (SIM_CPU
*current_cpu
, void *sem_arg
)
1342 #define FLD(f) abuf->fields.sfmt_add.f
1343 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1344 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1348 int UNUSED insn_referenced
= abuf
->written
;
1352 in_sr
= FLD (in_sr
);
1353 in_dr
= FLD (in_dr
);
1354 out_dr
= FLD (out_dr
);
1355 referenced
|= 1 << 0;
1356 referenced
|= 1 << 1;
1357 referenced
|= 1 << 2;
1358 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1365 model_m32r_d_mulhi (SIM_CPU
*current_cpu
, void *sem_arg
)
1367 #define FLD(f) abuf->fields.sfmt_st_plus.f
1368 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1369 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1373 int UNUSED insn_referenced
= abuf
->written
;
1376 in_src1
= FLD (in_src1
);
1377 in_src2
= FLD (in_src2
);
1378 referenced
|= 1 << 0;
1379 referenced
|= 1 << 1;
1380 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1387 model_m32r_d_mullo (SIM_CPU
*current_cpu
, void *sem_arg
)
1389 #define FLD(f) abuf->fields.sfmt_st_plus.f
1390 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1391 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1395 int UNUSED insn_referenced
= abuf
->written
;
1398 in_src1
= FLD (in_src1
);
1399 in_src2
= FLD (in_src2
);
1400 referenced
|= 1 << 0;
1401 referenced
|= 1 << 1;
1402 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1409 model_m32r_d_mulwhi (SIM_CPU
*current_cpu
, void *sem_arg
)
1411 #define FLD(f) abuf->fields.sfmt_st_plus.f
1412 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1413 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1417 int UNUSED insn_referenced
= abuf
->written
;
1420 in_src1
= FLD (in_src1
);
1421 in_src2
= FLD (in_src2
);
1422 referenced
|= 1 << 0;
1423 referenced
|= 1 << 1;
1424 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1431 model_m32r_d_mulwlo (SIM_CPU
*current_cpu
, void *sem_arg
)
1433 #define FLD(f) abuf->fields.sfmt_st_plus.f
1434 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1435 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1439 int UNUSED insn_referenced
= abuf
->written
;
1442 in_src1
= FLD (in_src1
);
1443 in_src2
= FLD (in_src2
);
1444 referenced
|= 1 << 0;
1445 referenced
|= 1 << 1;
1446 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1453 model_m32r_d_mv (SIM_CPU
*current_cpu
, void *sem_arg
)
1455 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1456 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1457 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1461 int UNUSED insn_referenced
= abuf
->written
;
1465 in_sr
= FLD (in_sr
);
1466 out_dr
= FLD (out_dr
);
1467 referenced
|= 1 << 0;
1468 referenced
|= 1 << 2;
1469 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1476 model_m32r_d_mvfachi (SIM_CPU
*current_cpu
, void *sem_arg
)
1478 #define FLD(f) abuf->fields.sfmt_seth.f
1479 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1480 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1484 int UNUSED insn_referenced
= abuf
->written
;
1488 out_dr
= FLD (out_dr
);
1489 referenced
|= 1 << 2;
1490 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1497 model_m32r_d_mvfaclo (SIM_CPU
*current_cpu
, void *sem_arg
)
1499 #define FLD(f) abuf->fields.sfmt_seth.f
1500 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1501 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1505 int UNUSED insn_referenced
= abuf
->written
;
1509 out_dr
= FLD (out_dr
);
1510 referenced
|= 1 << 2;
1511 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1518 model_m32r_d_mvfacmi (SIM_CPU
*current_cpu
, void *sem_arg
)
1520 #define FLD(f) abuf->fields.sfmt_seth.f
1521 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1522 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1526 int UNUSED insn_referenced
= abuf
->written
;
1530 out_dr
= FLD (out_dr
);
1531 referenced
|= 1 << 2;
1532 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1539 model_m32r_d_mvfc (SIM_CPU
*current_cpu
, void *sem_arg
)
1541 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1542 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1543 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1547 int UNUSED insn_referenced
= abuf
->written
;
1551 out_dr
= FLD (out_dr
);
1552 referenced
|= 1 << 2;
1553 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1560 model_m32r_d_mvtachi (SIM_CPU
*current_cpu
, void *sem_arg
)
1562 #define FLD(f) abuf->fields.sfmt_st_plus.f
1563 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1564 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1568 int UNUSED insn_referenced
= abuf
->written
;
1572 in_sr
= FLD (in_src1
);
1573 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1580 model_m32r_d_mvtaclo (SIM_CPU
*current_cpu
, void *sem_arg
)
1582 #define FLD(f) abuf->fields.sfmt_st_plus.f
1583 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1584 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1588 int UNUSED insn_referenced
= abuf
->written
;
1592 in_sr
= FLD (in_src1
);
1593 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1600 model_m32r_d_mvtc (SIM_CPU
*current_cpu
, void *sem_arg
)
1602 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1603 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1604 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1608 int UNUSED insn_referenced
= abuf
->written
;
1612 in_sr
= FLD (in_sr
);
1613 referenced
|= 1 << 0;
1614 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1621 model_m32r_d_neg (SIM_CPU
*current_cpu
, void *sem_arg
)
1623 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1624 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1625 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1629 int UNUSED insn_referenced
= abuf
->written
;
1633 in_sr
= FLD (in_sr
);
1634 out_dr
= FLD (out_dr
);
1635 referenced
|= 1 << 0;
1636 referenced
|= 1 << 2;
1637 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1644 model_m32r_d_nop (SIM_CPU
*current_cpu
, void *sem_arg
)
1646 #define FLD(f) abuf->fields.sfmt_empty.f
1647 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1648 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1652 int UNUSED insn_referenced
= abuf
->written
;
1656 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1663 model_m32r_d_not (SIM_CPU
*current_cpu
, void *sem_arg
)
1665 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1666 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1667 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1671 int UNUSED insn_referenced
= abuf
->written
;
1675 in_sr
= FLD (in_sr
);
1676 out_dr
= FLD (out_dr
);
1677 referenced
|= 1 << 0;
1678 referenced
|= 1 << 2;
1679 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1686 model_m32r_d_rac (SIM_CPU
*current_cpu
, void *sem_arg
)
1688 #define FLD(f) abuf->fields.sfmt_empty.f
1689 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1690 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1694 int UNUSED insn_referenced
= abuf
->written
;
1697 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1704 model_m32r_d_rach (SIM_CPU
*current_cpu
, void *sem_arg
)
1706 #define FLD(f) abuf->fields.sfmt_empty.f
1707 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1708 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1712 int UNUSED insn_referenced
= abuf
->written
;
1715 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1722 model_m32r_d_rte (SIM_CPU
*current_cpu
, void *sem_arg
)
1724 #define FLD(f) abuf->fields.sfmt_empty.f
1725 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1726 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1730 int UNUSED insn_referenced
= abuf
->written
;
1734 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1741 model_m32r_d_seth (SIM_CPU
*current_cpu
, void *sem_arg
)
1743 #define FLD(f) abuf->fields.sfmt_seth.f
1744 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1745 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1749 int UNUSED insn_referenced
= abuf
->written
;
1753 out_dr
= FLD (out_dr
);
1754 referenced
|= 1 << 2;
1755 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1762 model_m32r_d_sll (SIM_CPU
*current_cpu
, void *sem_arg
)
1764 #define FLD(f) abuf->fields.sfmt_add.f
1765 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1766 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1770 int UNUSED insn_referenced
= abuf
->written
;
1774 in_sr
= FLD (in_sr
);
1775 in_dr
= FLD (in_dr
);
1776 out_dr
= FLD (out_dr
);
1777 referenced
|= 1 << 0;
1778 referenced
|= 1 << 1;
1779 referenced
|= 1 << 2;
1780 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1787 model_m32r_d_sll3 (SIM_CPU
*current_cpu
, void *sem_arg
)
1789 #define FLD(f) abuf->fields.sfmt_add3.f
1790 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1791 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1795 int UNUSED insn_referenced
= abuf
->written
;
1799 in_sr
= FLD (in_sr
);
1800 out_dr
= FLD (out_dr
);
1801 referenced
|= 1 << 0;
1802 referenced
|= 1 << 2;
1803 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1810 model_m32r_d_slli (SIM_CPU
*current_cpu
, void *sem_arg
)
1812 #define FLD(f) abuf->fields.sfmt_slli.f
1813 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1814 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1818 int UNUSED insn_referenced
= abuf
->written
;
1822 in_dr
= FLD (in_dr
);
1823 out_dr
= FLD (out_dr
);
1824 referenced
|= 1 << 1;
1825 referenced
|= 1 << 2;
1826 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1833 model_m32r_d_sra (SIM_CPU
*current_cpu
, void *sem_arg
)
1835 #define FLD(f) abuf->fields.sfmt_add.f
1836 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1837 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1841 int UNUSED insn_referenced
= abuf
->written
;
1845 in_sr
= FLD (in_sr
);
1846 in_dr
= FLD (in_dr
);
1847 out_dr
= FLD (out_dr
);
1848 referenced
|= 1 << 0;
1849 referenced
|= 1 << 1;
1850 referenced
|= 1 << 2;
1851 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1858 model_m32r_d_sra3 (SIM_CPU
*current_cpu
, void *sem_arg
)
1860 #define FLD(f) abuf->fields.sfmt_add3.f
1861 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1862 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1866 int UNUSED insn_referenced
= abuf
->written
;
1870 in_sr
= FLD (in_sr
);
1871 out_dr
= FLD (out_dr
);
1872 referenced
|= 1 << 0;
1873 referenced
|= 1 << 2;
1874 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1881 model_m32r_d_srai (SIM_CPU
*current_cpu
, void *sem_arg
)
1883 #define FLD(f) abuf->fields.sfmt_slli.f
1884 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1885 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1889 int UNUSED insn_referenced
= abuf
->written
;
1893 in_dr
= FLD (in_dr
);
1894 out_dr
= FLD (out_dr
);
1895 referenced
|= 1 << 1;
1896 referenced
|= 1 << 2;
1897 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1904 model_m32r_d_srl (SIM_CPU
*current_cpu
, void *sem_arg
)
1906 #define FLD(f) abuf->fields.sfmt_add.f
1907 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1908 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1912 int UNUSED insn_referenced
= abuf
->written
;
1916 in_sr
= FLD (in_sr
);
1917 in_dr
= FLD (in_dr
);
1918 out_dr
= FLD (out_dr
);
1919 referenced
|= 1 << 0;
1920 referenced
|= 1 << 1;
1921 referenced
|= 1 << 2;
1922 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1929 model_m32r_d_srl3 (SIM_CPU
*current_cpu
, void *sem_arg
)
1931 #define FLD(f) abuf->fields.sfmt_add3.f
1932 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1933 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1937 int UNUSED insn_referenced
= abuf
->written
;
1941 in_sr
= FLD (in_sr
);
1942 out_dr
= FLD (out_dr
);
1943 referenced
|= 1 << 0;
1944 referenced
|= 1 << 2;
1945 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1952 model_m32r_d_srli (SIM_CPU
*current_cpu
, void *sem_arg
)
1954 #define FLD(f) abuf->fields.sfmt_slli.f
1955 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1956 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1960 int UNUSED insn_referenced
= abuf
->written
;
1964 in_dr
= FLD (in_dr
);
1965 out_dr
= FLD (out_dr
);
1966 referenced
|= 1 << 1;
1967 referenced
|= 1 << 2;
1968 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1975 model_m32r_d_st (SIM_CPU
*current_cpu
, void *sem_arg
)
1977 #define FLD(f) abuf->fields.sfmt_st_plus.f
1978 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1979 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1983 int UNUSED insn_referenced
= abuf
->written
;
1986 in_src1
= FLD (in_src1
);
1987 in_src2
= FLD (in_src2
);
1988 referenced
|= 1 << 0;
1989 referenced
|= 1 << 1;
1990 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1997 model_m32r_d_st_d (SIM_CPU
*current_cpu
, void *sem_arg
)
1999 #define FLD(f) abuf->fields.sfmt_st_d.f
2000 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2001 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2005 int UNUSED insn_referenced
= abuf
->written
;
2008 in_src1
= FLD (in_src1
);
2009 in_src2
= FLD (in_src2
);
2010 referenced
|= 1 << 0;
2011 referenced
|= 1 << 1;
2012 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2019 model_m32r_d_stb (SIM_CPU
*current_cpu
, void *sem_arg
)
2021 #define FLD(f) abuf->fields.sfmt_st_plus.f
2022 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2023 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2027 int UNUSED insn_referenced
= abuf
->written
;
2030 in_src1
= FLD (in_src1
);
2031 in_src2
= FLD (in_src2
);
2032 referenced
|= 1 << 0;
2033 referenced
|= 1 << 1;
2034 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2041 model_m32r_d_stb_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2043 #define FLD(f) abuf->fields.sfmt_st_d.f
2044 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2045 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2049 int UNUSED insn_referenced
= abuf
->written
;
2052 in_src1
= FLD (in_src1
);
2053 in_src2
= FLD (in_src2
);
2054 referenced
|= 1 << 0;
2055 referenced
|= 1 << 1;
2056 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2063 model_m32r_d_sth (SIM_CPU
*current_cpu
, void *sem_arg
)
2065 #define FLD(f) abuf->fields.sfmt_st_plus.f
2066 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2067 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2071 int UNUSED insn_referenced
= abuf
->written
;
2074 in_src1
= FLD (in_src1
);
2075 in_src2
= FLD (in_src2
);
2076 referenced
|= 1 << 0;
2077 referenced
|= 1 << 1;
2078 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2085 model_m32r_d_sth_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2087 #define FLD(f) abuf->fields.sfmt_st_d.f
2088 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2089 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2093 int UNUSED insn_referenced
= abuf
->written
;
2096 in_src1
= FLD (in_src1
);
2097 in_src2
= FLD (in_src2
);
2098 referenced
|= 1 << 0;
2099 referenced
|= 1 << 1;
2100 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2107 model_m32r_d_st_plus (SIM_CPU
*current_cpu
, void *sem_arg
)
2109 #define FLD(f) abuf->fields.sfmt_st_plus.f
2110 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2111 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2115 int UNUSED insn_referenced
= abuf
->written
;
2118 in_src1
= FLD (in_src1
);
2119 in_src2
= FLD (in_src2
);
2120 referenced
|= 1 << 0;
2121 referenced
|= 1 << 1;
2122 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2126 int UNUSED insn_referenced
= abuf
->written
;
2130 in_dr
= FLD (in_src2
);
2131 out_dr
= FLD (out_src2
);
2132 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 1, referenced
, in_sr
, in_dr
, out_dr
);
2139 model_m32r_d_st_minus (SIM_CPU
*current_cpu
, void *sem_arg
)
2141 #define FLD(f) abuf->fields.sfmt_st_plus.f
2142 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2143 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2147 int UNUSED insn_referenced
= abuf
->written
;
2150 in_src1
= FLD (in_src1
);
2151 in_src2
= FLD (in_src2
);
2152 referenced
|= 1 << 0;
2153 referenced
|= 1 << 1;
2154 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2158 int UNUSED insn_referenced
= abuf
->written
;
2162 in_dr
= FLD (in_src2
);
2163 out_dr
= FLD (out_src2
);
2164 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 1, referenced
, in_sr
, in_dr
, out_dr
);
2171 model_m32r_d_sub (SIM_CPU
*current_cpu
, void *sem_arg
)
2173 #define FLD(f) abuf->fields.sfmt_add.f
2174 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2175 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2179 int UNUSED insn_referenced
= abuf
->written
;
2183 in_sr
= FLD (in_sr
);
2184 in_dr
= FLD (in_dr
);
2185 out_dr
= FLD (out_dr
);
2186 referenced
|= 1 << 0;
2187 referenced
|= 1 << 1;
2188 referenced
|= 1 << 2;
2189 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2196 model_m32r_d_subv (SIM_CPU
*current_cpu
, void *sem_arg
)
2198 #define FLD(f) abuf->fields.sfmt_add.f
2199 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2200 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2204 int UNUSED insn_referenced
= abuf
->written
;
2208 in_sr
= FLD (in_sr
);
2209 in_dr
= FLD (in_dr
);
2210 out_dr
= FLD (out_dr
);
2211 referenced
|= 1 << 0;
2212 referenced
|= 1 << 1;
2213 referenced
|= 1 << 2;
2214 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2221 model_m32r_d_subx (SIM_CPU
*current_cpu
, void *sem_arg
)
2223 #define FLD(f) abuf->fields.sfmt_add.f
2224 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2225 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2229 int UNUSED insn_referenced
= abuf
->written
;
2233 in_sr
= FLD (in_sr
);
2234 in_dr
= FLD (in_dr
);
2235 out_dr
= FLD (out_dr
);
2236 referenced
|= 1 << 0;
2237 referenced
|= 1 << 1;
2238 referenced
|= 1 << 2;
2239 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2246 model_m32r_d_trap (SIM_CPU
*current_cpu
, void *sem_arg
)
2248 #define FLD(f) abuf->fields.sfmt_trap.f
2249 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2250 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2254 int UNUSED insn_referenced
= abuf
->written
;
2258 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2265 model_m32r_d_unlock (SIM_CPU
*current_cpu
, void *sem_arg
)
2267 #define FLD(f) abuf->fields.sfmt_st_plus.f
2268 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2269 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2273 int UNUSED insn_referenced
= abuf
->written
;
2276 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
2283 model_m32r_d_clrpsw (SIM_CPU
*current_cpu
, void *sem_arg
)
2285 #define FLD(f) abuf->fields.sfmt_clrpsw.f
2286 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2287 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2291 int UNUSED insn_referenced
= abuf
->written
;
2295 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2302 model_m32r_d_setpsw (SIM_CPU
*current_cpu
, void *sem_arg
)
2304 #define FLD(f) abuf->fields.sfmt_clrpsw.f
2305 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2306 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2310 int UNUSED insn_referenced
= abuf
->written
;
2314 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2321 model_m32r_d_bset (SIM_CPU
*current_cpu
, void *sem_arg
)
2323 #define FLD(f) abuf->fields.sfmt_bset.f
2324 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2325 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2329 int UNUSED insn_referenced
= abuf
->written
;
2333 in_sr
= FLD (in_sr
);
2334 referenced
|= 1 << 0;
2335 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2342 model_m32r_d_bclr (SIM_CPU
*current_cpu
, void *sem_arg
)
2344 #define FLD(f) abuf->fields.sfmt_bset.f
2345 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2346 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2350 int UNUSED insn_referenced
= abuf
->written
;
2354 in_sr
= FLD (in_sr
);
2355 referenced
|= 1 << 0;
2356 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2363 model_m32r_d_btst (SIM_CPU
*current_cpu
, void *sem_arg
)
2365 #define FLD(f) abuf->fields.sfmt_bset.f
2366 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2367 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2371 int UNUSED insn_referenced
= abuf
->written
;
2375 in_sr
= FLD (in_sr
);
2376 referenced
|= 1 << 0;
2377 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2384 model_test_add (SIM_CPU
*current_cpu
, void *sem_arg
)
2386 #define FLD(f) abuf->fields.sfmt_add.f
2387 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2388 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2392 int UNUSED insn_referenced
= abuf
->written
;
2393 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2400 model_test_add3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2402 #define FLD(f) abuf->fields.sfmt_add3.f
2403 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2404 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2408 int UNUSED insn_referenced
= abuf
->written
;
2409 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2416 model_test_and (SIM_CPU
*current_cpu
, void *sem_arg
)
2418 #define FLD(f) abuf->fields.sfmt_add.f
2419 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2420 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2424 int UNUSED insn_referenced
= abuf
->written
;
2425 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2432 model_test_and3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2434 #define FLD(f) abuf->fields.sfmt_and3.f
2435 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2436 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2440 int UNUSED insn_referenced
= abuf
->written
;
2441 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2448 model_test_or (SIM_CPU
*current_cpu
, void *sem_arg
)
2450 #define FLD(f) abuf->fields.sfmt_add.f
2451 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2452 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2456 int UNUSED insn_referenced
= abuf
->written
;
2457 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2464 model_test_or3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2466 #define FLD(f) abuf->fields.sfmt_and3.f
2467 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2468 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2472 int UNUSED insn_referenced
= abuf
->written
;
2473 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2480 model_test_xor (SIM_CPU
*current_cpu
, void *sem_arg
)
2482 #define FLD(f) abuf->fields.sfmt_add.f
2483 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2484 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2488 int UNUSED insn_referenced
= abuf
->written
;
2489 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2496 model_test_xor3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2498 #define FLD(f) abuf->fields.sfmt_and3.f
2499 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2500 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2504 int UNUSED insn_referenced
= abuf
->written
;
2505 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2512 model_test_addi (SIM_CPU
*current_cpu
, void *sem_arg
)
2514 #define FLD(f) abuf->fields.sfmt_addi.f
2515 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2516 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2520 int UNUSED insn_referenced
= abuf
->written
;
2521 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2528 model_test_addv (SIM_CPU
*current_cpu
, void *sem_arg
)
2530 #define FLD(f) abuf->fields.sfmt_add.f
2531 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2532 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2536 int UNUSED insn_referenced
= abuf
->written
;
2537 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2544 model_test_addv3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2546 #define FLD(f) abuf->fields.sfmt_add3.f
2547 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2548 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2552 int UNUSED insn_referenced
= abuf
->written
;
2553 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2560 model_test_addx (SIM_CPU
*current_cpu
, void *sem_arg
)
2562 #define FLD(f) abuf->fields.sfmt_add.f
2563 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2564 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2568 int UNUSED insn_referenced
= abuf
->written
;
2569 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2576 model_test_bc8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2578 #define FLD(f) abuf->fields.sfmt_bl8.f
2579 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2580 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2584 int UNUSED insn_referenced
= abuf
->written
;
2585 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2592 model_test_bc24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2594 #define FLD(f) abuf->fields.sfmt_bl24.f
2595 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2596 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2600 int UNUSED insn_referenced
= abuf
->written
;
2601 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2608 model_test_beq (SIM_CPU
*current_cpu
, void *sem_arg
)
2610 #define FLD(f) abuf->fields.sfmt_beq.f
2611 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2612 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2616 int UNUSED insn_referenced
= abuf
->written
;
2617 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2624 model_test_beqz (SIM_CPU
*current_cpu
, void *sem_arg
)
2626 #define FLD(f) abuf->fields.sfmt_beq.f
2627 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2628 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2632 int UNUSED insn_referenced
= abuf
->written
;
2633 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2640 model_test_bgez (SIM_CPU
*current_cpu
, void *sem_arg
)
2642 #define FLD(f) abuf->fields.sfmt_beq.f
2643 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2644 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2648 int UNUSED insn_referenced
= abuf
->written
;
2649 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2656 model_test_bgtz (SIM_CPU
*current_cpu
, void *sem_arg
)
2658 #define FLD(f) abuf->fields.sfmt_beq.f
2659 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2660 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2664 int UNUSED insn_referenced
= abuf
->written
;
2665 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2672 model_test_blez (SIM_CPU
*current_cpu
, void *sem_arg
)
2674 #define FLD(f) abuf->fields.sfmt_beq.f
2675 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2676 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2680 int UNUSED insn_referenced
= abuf
->written
;
2681 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2688 model_test_bltz (SIM_CPU
*current_cpu
, void *sem_arg
)
2690 #define FLD(f) abuf->fields.sfmt_beq.f
2691 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2692 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2696 int UNUSED insn_referenced
= abuf
->written
;
2697 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2704 model_test_bnez (SIM_CPU
*current_cpu
, void *sem_arg
)
2706 #define FLD(f) abuf->fields.sfmt_beq.f
2707 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2708 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2712 int UNUSED insn_referenced
= abuf
->written
;
2713 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2720 model_test_bl8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2722 #define FLD(f) abuf->fields.sfmt_bl8.f
2723 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2724 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2728 int UNUSED insn_referenced
= abuf
->written
;
2729 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2736 model_test_bl24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2738 #define FLD(f) abuf->fields.sfmt_bl24.f
2739 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2740 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2744 int UNUSED insn_referenced
= abuf
->written
;
2745 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2752 model_test_bnc8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2754 #define FLD(f) abuf->fields.sfmt_bl8.f
2755 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2756 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2760 int UNUSED insn_referenced
= abuf
->written
;
2761 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2768 model_test_bnc24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2770 #define FLD(f) abuf->fields.sfmt_bl24.f
2771 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2772 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2776 int UNUSED insn_referenced
= abuf
->written
;
2777 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2784 model_test_bne (SIM_CPU
*current_cpu
, void *sem_arg
)
2786 #define FLD(f) abuf->fields.sfmt_beq.f
2787 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2788 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2792 int UNUSED insn_referenced
= abuf
->written
;
2793 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2800 model_test_bra8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2802 #define FLD(f) abuf->fields.sfmt_bl8.f
2803 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2804 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2808 int UNUSED insn_referenced
= abuf
->written
;
2809 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2816 model_test_bra24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2818 #define FLD(f) abuf->fields.sfmt_bl24.f
2819 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2820 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2824 int UNUSED insn_referenced
= abuf
->written
;
2825 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2832 model_test_cmp (SIM_CPU
*current_cpu
, void *sem_arg
)
2834 #define FLD(f) abuf->fields.sfmt_st_plus.f
2835 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2836 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2840 int UNUSED insn_referenced
= abuf
->written
;
2841 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2848 model_test_cmpi (SIM_CPU
*current_cpu
, void *sem_arg
)
2850 #define FLD(f) abuf->fields.sfmt_st_d.f
2851 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2852 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2856 int UNUSED insn_referenced
= abuf
->written
;
2857 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2864 model_test_cmpu (SIM_CPU
*current_cpu
, void *sem_arg
)
2866 #define FLD(f) abuf->fields.sfmt_st_plus.f
2867 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2868 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2872 int UNUSED insn_referenced
= abuf
->written
;
2873 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2880 model_test_cmpui (SIM_CPU
*current_cpu
, void *sem_arg
)
2882 #define FLD(f) abuf->fields.sfmt_st_d.f
2883 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2884 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2888 int UNUSED insn_referenced
= abuf
->written
;
2889 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2896 model_test_div (SIM_CPU
*current_cpu
, void *sem_arg
)
2898 #define FLD(f) abuf->fields.sfmt_add.f
2899 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2900 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2904 int UNUSED insn_referenced
= abuf
->written
;
2905 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2912 model_test_divu (SIM_CPU
*current_cpu
, void *sem_arg
)
2914 #define FLD(f) abuf->fields.sfmt_add.f
2915 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2916 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2920 int UNUSED insn_referenced
= abuf
->written
;
2921 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2928 model_test_rem (SIM_CPU
*current_cpu
, void *sem_arg
)
2930 #define FLD(f) abuf->fields.sfmt_add.f
2931 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2932 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2936 int UNUSED insn_referenced
= abuf
->written
;
2937 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2944 model_test_remu (SIM_CPU
*current_cpu
, void *sem_arg
)
2946 #define FLD(f) abuf->fields.sfmt_add.f
2947 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2948 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2952 int UNUSED insn_referenced
= abuf
->written
;
2953 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2960 model_test_jl (SIM_CPU
*current_cpu
, void *sem_arg
)
2962 #define FLD(f) abuf->fields.sfmt_jl.f
2963 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2964 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2968 int UNUSED insn_referenced
= abuf
->written
;
2969 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2976 model_test_jmp (SIM_CPU
*current_cpu
, void *sem_arg
)
2978 #define FLD(f) abuf->fields.sfmt_jl.f
2979 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2980 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2984 int UNUSED insn_referenced
= abuf
->written
;
2985 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2992 model_test_ld (SIM_CPU
*current_cpu
, void *sem_arg
)
2994 #define FLD(f) abuf->fields.sfmt_ld_plus.f
2995 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2996 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3000 int UNUSED insn_referenced
= abuf
->written
;
3001 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3008 model_test_ld_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3010 #define FLD(f) abuf->fields.sfmt_add3.f
3011 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3012 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3016 int UNUSED insn_referenced
= abuf
->written
;
3017 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3024 model_test_ldb (SIM_CPU
*current_cpu
, void *sem_arg
)
3026 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3027 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3028 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3032 int UNUSED insn_referenced
= abuf
->written
;
3033 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3040 model_test_ldb_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3042 #define FLD(f) abuf->fields.sfmt_add3.f
3043 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3044 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3048 int UNUSED insn_referenced
= abuf
->written
;
3049 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3056 model_test_ldh (SIM_CPU
*current_cpu
, void *sem_arg
)
3058 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3059 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3060 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3064 int UNUSED insn_referenced
= abuf
->written
;
3065 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3072 model_test_ldh_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3074 #define FLD(f) abuf->fields.sfmt_add3.f
3075 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3076 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3080 int UNUSED insn_referenced
= abuf
->written
;
3081 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3088 model_test_ldub (SIM_CPU
*current_cpu
, void *sem_arg
)
3090 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3091 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3092 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3096 int UNUSED insn_referenced
= abuf
->written
;
3097 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3104 model_test_ldub_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3106 #define FLD(f) abuf->fields.sfmt_add3.f
3107 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3108 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3112 int UNUSED insn_referenced
= abuf
->written
;
3113 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3120 model_test_lduh (SIM_CPU
*current_cpu
, void *sem_arg
)
3122 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3123 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3124 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3128 int UNUSED insn_referenced
= abuf
->written
;
3129 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3136 model_test_lduh_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3138 #define FLD(f) abuf->fields.sfmt_add3.f
3139 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3140 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3144 int UNUSED insn_referenced
= abuf
->written
;
3145 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3152 model_test_ld_plus (SIM_CPU
*current_cpu
, void *sem_arg
)
3154 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3155 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3156 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3160 int UNUSED insn_referenced
= abuf
->written
;
3161 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3168 model_test_ld24 (SIM_CPU
*current_cpu
, void *sem_arg
)
3170 #define FLD(f) abuf->fields.sfmt_ld24.f
3171 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3172 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3176 int UNUSED insn_referenced
= abuf
->written
;
3177 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3184 model_test_ldi8 (SIM_CPU
*current_cpu
, void *sem_arg
)
3186 #define FLD(f) abuf->fields.sfmt_addi.f
3187 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3188 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3192 int UNUSED insn_referenced
= abuf
->written
;
3193 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3200 model_test_ldi16 (SIM_CPU
*current_cpu
, void *sem_arg
)
3202 #define FLD(f) abuf->fields.sfmt_add3.f
3203 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3204 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3208 int UNUSED insn_referenced
= abuf
->written
;
3209 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3216 model_test_lock (SIM_CPU
*current_cpu
, void *sem_arg
)
3218 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3219 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3220 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3224 int UNUSED insn_referenced
= abuf
->written
;
3225 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3232 model_test_machi (SIM_CPU
*current_cpu
, void *sem_arg
)
3234 #define FLD(f) abuf->fields.sfmt_st_plus.f
3235 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3236 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3240 int UNUSED insn_referenced
= abuf
->written
;
3241 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3248 model_test_maclo (SIM_CPU
*current_cpu
, void *sem_arg
)
3250 #define FLD(f) abuf->fields.sfmt_st_plus.f
3251 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3252 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3256 int UNUSED insn_referenced
= abuf
->written
;
3257 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3264 model_test_macwhi (SIM_CPU
*current_cpu
, void *sem_arg
)
3266 #define FLD(f) abuf->fields.sfmt_st_plus.f
3267 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3268 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3272 int UNUSED insn_referenced
= abuf
->written
;
3273 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3280 model_test_macwlo (SIM_CPU
*current_cpu
, void *sem_arg
)
3282 #define FLD(f) abuf->fields.sfmt_st_plus.f
3283 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3284 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3288 int UNUSED insn_referenced
= abuf
->written
;
3289 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3296 model_test_mul (SIM_CPU
*current_cpu
, void *sem_arg
)
3298 #define FLD(f) abuf->fields.sfmt_add.f
3299 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3300 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3304 int UNUSED insn_referenced
= abuf
->written
;
3305 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3312 model_test_mulhi (SIM_CPU
*current_cpu
, void *sem_arg
)
3314 #define FLD(f) abuf->fields.sfmt_st_plus.f
3315 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3316 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3320 int UNUSED insn_referenced
= abuf
->written
;
3321 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3328 model_test_mullo (SIM_CPU
*current_cpu
, void *sem_arg
)
3330 #define FLD(f) abuf->fields.sfmt_st_plus.f
3331 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3332 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3336 int UNUSED insn_referenced
= abuf
->written
;
3337 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3344 model_test_mulwhi (SIM_CPU
*current_cpu
, void *sem_arg
)
3346 #define FLD(f) abuf->fields.sfmt_st_plus.f
3347 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3348 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3352 int UNUSED insn_referenced
= abuf
->written
;
3353 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3360 model_test_mulwlo (SIM_CPU
*current_cpu
, void *sem_arg
)
3362 #define FLD(f) abuf->fields.sfmt_st_plus.f
3363 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3364 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3368 int UNUSED insn_referenced
= abuf
->written
;
3369 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3376 model_test_mv (SIM_CPU
*current_cpu
, void *sem_arg
)
3378 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3379 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3380 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3384 int UNUSED insn_referenced
= abuf
->written
;
3385 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3392 model_test_mvfachi (SIM_CPU
*current_cpu
, void *sem_arg
)
3394 #define FLD(f) abuf->fields.sfmt_seth.f
3395 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3396 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3400 int UNUSED insn_referenced
= abuf
->written
;
3401 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3408 model_test_mvfaclo (SIM_CPU
*current_cpu
, void *sem_arg
)
3410 #define FLD(f) abuf->fields.sfmt_seth.f
3411 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3412 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3416 int UNUSED insn_referenced
= abuf
->written
;
3417 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3424 model_test_mvfacmi (SIM_CPU
*current_cpu
, void *sem_arg
)
3426 #define FLD(f) abuf->fields.sfmt_seth.f
3427 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3428 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3432 int UNUSED insn_referenced
= abuf
->written
;
3433 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3440 model_test_mvfc (SIM_CPU
*current_cpu
, void *sem_arg
)
3442 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3443 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3444 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3448 int UNUSED insn_referenced
= abuf
->written
;
3449 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3456 model_test_mvtachi (SIM_CPU
*current_cpu
, void *sem_arg
)
3458 #define FLD(f) abuf->fields.sfmt_st_plus.f
3459 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3460 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3464 int UNUSED insn_referenced
= abuf
->written
;
3465 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3472 model_test_mvtaclo (SIM_CPU
*current_cpu
, void *sem_arg
)
3474 #define FLD(f) abuf->fields.sfmt_st_plus.f
3475 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3476 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3480 int UNUSED insn_referenced
= abuf
->written
;
3481 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3488 model_test_mvtc (SIM_CPU
*current_cpu
, void *sem_arg
)
3490 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3491 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3492 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3496 int UNUSED insn_referenced
= abuf
->written
;
3497 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3504 model_test_neg (SIM_CPU
*current_cpu
, void *sem_arg
)
3506 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3507 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3508 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3512 int UNUSED insn_referenced
= abuf
->written
;
3513 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3520 model_test_nop (SIM_CPU
*current_cpu
, void *sem_arg
)
3522 #define FLD(f) abuf->fields.sfmt_empty.f
3523 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3524 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3528 int UNUSED insn_referenced
= abuf
->written
;
3529 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3536 model_test_not (SIM_CPU
*current_cpu
, void *sem_arg
)
3538 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3539 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3540 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3544 int UNUSED insn_referenced
= abuf
->written
;
3545 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3552 model_test_rac (SIM_CPU
*current_cpu
, void *sem_arg
)
3554 #define FLD(f) abuf->fields.sfmt_empty.f
3555 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3556 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3560 int UNUSED insn_referenced
= abuf
->written
;
3561 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3568 model_test_rach (SIM_CPU
*current_cpu
, void *sem_arg
)
3570 #define FLD(f) abuf->fields.sfmt_empty.f
3571 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3572 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3576 int UNUSED insn_referenced
= abuf
->written
;
3577 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3584 model_test_rte (SIM_CPU
*current_cpu
, void *sem_arg
)
3586 #define FLD(f) abuf->fields.sfmt_empty.f
3587 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3588 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3592 int UNUSED insn_referenced
= abuf
->written
;
3593 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3600 model_test_seth (SIM_CPU
*current_cpu
, void *sem_arg
)
3602 #define FLD(f) abuf->fields.sfmt_seth.f
3603 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3604 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3608 int UNUSED insn_referenced
= abuf
->written
;
3609 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3616 model_test_sll (SIM_CPU
*current_cpu
, void *sem_arg
)
3618 #define FLD(f) abuf->fields.sfmt_add.f
3619 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3620 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3624 int UNUSED insn_referenced
= abuf
->written
;
3625 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3632 model_test_sll3 (SIM_CPU
*current_cpu
, void *sem_arg
)
3634 #define FLD(f) abuf->fields.sfmt_add3.f
3635 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3636 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3640 int UNUSED insn_referenced
= abuf
->written
;
3641 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3648 model_test_slli (SIM_CPU
*current_cpu
, void *sem_arg
)
3650 #define FLD(f) abuf->fields.sfmt_slli.f
3651 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3652 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3656 int UNUSED insn_referenced
= abuf
->written
;
3657 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3664 model_test_sra (SIM_CPU
*current_cpu
, void *sem_arg
)
3666 #define FLD(f) abuf->fields.sfmt_add.f
3667 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3668 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3672 int UNUSED insn_referenced
= abuf
->written
;
3673 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3680 model_test_sra3 (SIM_CPU
*current_cpu
, void *sem_arg
)
3682 #define FLD(f) abuf->fields.sfmt_add3.f
3683 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3684 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3688 int UNUSED insn_referenced
= abuf
->written
;
3689 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3696 model_test_srai (SIM_CPU
*current_cpu
, void *sem_arg
)
3698 #define FLD(f) abuf->fields.sfmt_slli.f
3699 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3700 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3704 int UNUSED insn_referenced
= abuf
->written
;
3705 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3712 model_test_srl (SIM_CPU
*current_cpu
, void *sem_arg
)
3714 #define FLD(f) abuf->fields.sfmt_add.f
3715 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3716 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3720 int UNUSED insn_referenced
= abuf
->written
;
3721 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3728 model_test_srl3 (SIM_CPU
*current_cpu
, void *sem_arg
)
3730 #define FLD(f) abuf->fields.sfmt_add3.f
3731 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3732 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3736 int UNUSED insn_referenced
= abuf
->written
;
3737 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3744 model_test_srli (SIM_CPU
*current_cpu
, void *sem_arg
)
3746 #define FLD(f) abuf->fields.sfmt_slli.f
3747 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3748 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3752 int UNUSED insn_referenced
= abuf
->written
;
3753 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3760 model_test_st (SIM_CPU
*current_cpu
, void *sem_arg
)
3762 #define FLD(f) abuf->fields.sfmt_st_plus.f
3763 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3764 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3768 int UNUSED insn_referenced
= abuf
->written
;
3769 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3776 model_test_st_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3778 #define FLD(f) abuf->fields.sfmt_st_d.f
3779 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3780 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3784 int UNUSED insn_referenced
= abuf
->written
;
3785 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3792 model_test_stb (SIM_CPU
*current_cpu
, void *sem_arg
)
3794 #define FLD(f) abuf->fields.sfmt_st_plus.f
3795 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3796 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3800 int UNUSED insn_referenced
= abuf
->written
;
3801 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3808 model_test_stb_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3810 #define FLD(f) abuf->fields.sfmt_st_d.f
3811 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3812 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3816 int UNUSED insn_referenced
= abuf
->written
;
3817 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3824 model_test_sth (SIM_CPU
*current_cpu
, void *sem_arg
)
3826 #define FLD(f) abuf->fields.sfmt_st_plus.f
3827 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3828 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3832 int UNUSED insn_referenced
= abuf
->written
;
3833 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3840 model_test_sth_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3842 #define FLD(f) abuf->fields.sfmt_st_d.f
3843 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3844 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3848 int UNUSED insn_referenced
= abuf
->written
;
3849 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3856 model_test_st_plus (SIM_CPU
*current_cpu
, void *sem_arg
)
3858 #define FLD(f) abuf->fields.sfmt_st_plus.f
3859 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3860 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3864 int UNUSED insn_referenced
= abuf
->written
;
3865 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3872 model_test_st_minus (SIM_CPU
*current_cpu
, void *sem_arg
)
3874 #define FLD(f) abuf->fields.sfmt_st_plus.f
3875 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3876 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3880 int UNUSED insn_referenced
= abuf
->written
;
3881 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3888 model_test_sub (SIM_CPU
*current_cpu
, void *sem_arg
)
3890 #define FLD(f) abuf->fields.sfmt_add.f
3891 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3892 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3896 int UNUSED insn_referenced
= abuf
->written
;
3897 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3904 model_test_subv (SIM_CPU
*current_cpu
, void *sem_arg
)
3906 #define FLD(f) abuf->fields.sfmt_add.f
3907 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3908 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3912 int UNUSED insn_referenced
= abuf
->written
;
3913 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3920 model_test_subx (SIM_CPU
*current_cpu
, void *sem_arg
)
3922 #define FLD(f) abuf->fields.sfmt_add.f
3923 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3924 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3928 int UNUSED insn_referenced
= abuf
->written
;
3929 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3936 model_test_trap (SIM_CPU
*current_cpu
, void *sem_arg
)
3938 #define FLD(f) abuf->fields.sfmt_trap.f
3939 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3940 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3944 int UNUSED insn_referenced
= abuf
->written
;
3945 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3952 model_test_unlock (SIM_CPU
*current_cpu
, void *sem_arg
)
3954 #define FLD(f) abuf->fields.sfmt_st_plus.f
3955 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3956 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3960 int UNUSED insn_referenced
= abuf
->written
;
3961 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3968 model_test_clrpsw (SIM_CPU
*current_cpu
, void *sem_arg
)
3970 #define FLD(f) abuf->fields.sfmt_clrpsw.f
3971 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3972 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3976 int UNUSED insn_referenced
= abuf
->written
;
3977 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3984 model_test_setpsw (SIM_CPU
*current_cpu
, void *sem_arg
)
3986 #define FLD(f) abuf->fields.sfmt_clrpsw.f
3987 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3988 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3992 int UNUSED insn_referenced
= abuf
->written
;
3993 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
4000 model_test_bset (SIM_CPU
*current_cpu
, void *sem_arg
)
4002 #define FLD(f) abuf->fields.sfmt_bset.f
4003 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
4004 const IDESC
* UNUSED idesc
= abuf
->idesc
;
4008 int UNUSED insn_referenced
= abuf
->written
;
4009 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
4016 model_test_bclr (SIM_CPU
*current_cpu
, void *sem_arg
)
4018 #define FLD(f) abuf->fields.sfmt_bset.f
4019 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
4020 const IDESC
* UNUSED idesc
= abuf
->idesc
;
4024 int UNUSED insn_referenced
= abuf
->written
;
4025 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
4032 model_test_btst (SIM_CPU
*current_cpu
, void *sem_arg
)
4034 #define FLD(f) abuf->fields.sfmt_bset.f
4035 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
4036 const IDESC
* UNUSED idesc
= abuf
->idesc
;
4040 int UNUSED insn_referenced
= abuf
->written
;
4041 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
4047 /* We assume UNIT_NONE == 0 because the tables don't always terminate
4050 /* Model timing data for `m32r/d'. */
4052 static const INSN_TIMING m32r_d_timing
[] = {
4053 { M32RBF_INSN_X_INVALID
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4054 { M32RBF_INSN_X_AFTER
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4055 { M32RBF_INSN_X_BEFORE
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4056 { M32RBF_INSN_X_CTI_CHAIN
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4057 { M32RBF_INSN_X_CHAIN
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4058 { M32RBF_INSN_X_BEGIN
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4059 { M32RBF_INSN_ADD
, model_m32r_d_add
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4060 { M32RBF_INSN_ADD3
, model_m32r_d_add3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4061 { M32RBF_INSN_AND
, model_m32r_d_and
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4062 { M32RBF_INSN_AND3
, model_m32r_d_and3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4063 { M32RBF_INSN_OR
, model_m32r_d_or
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4064 { M32RBF_INSN_OR3
, model_m32r_d_or3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4065 { M32RBF_INSN_XOR
, model_m32r_d_xor
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4066 { M32RBF_INSN_XOR3
, model_m32r_d_xor3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4067 { M32RBF_INSN_ADDI
, model_m32r_d_addi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4068 { M32RBF_INSN_ADDV
, model_m32r_d_addv
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4069 { M32RBF_INSN_ADDV3
, model_m32r_d_addv3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4070 { M32RBF_INSN_ADDX
, model_m32r_d_addx
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4071 { M32RBF_INSN_BC8
, model_m32r_d_bc8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4072 { M32RBF_INSN_BC24
, model_m32r_d_bc24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4073 { M32RBF_INSN_BEQ
, model_m32r_d_beq
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4074 { M32RBF_INSN_BEQZ
, model_m32r_d_beqz
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4075 { M32RBF_INSN_BGEZ
, model_m32r_d_bgez
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4076 { M32RBF_INSN_BGTZ
, model_m32r_d_bgtz
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4077 { M32RBF_INSN_BLEZ
, model_m32r_d_blez
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4078 { M32RBF_INSN_BLTZ
, model_m32r_d_bltz
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4079 { M32RBF_INSN_BNEZ
, model_m32r_d_bnez
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4080 { M32RBF_INSN_BL8
, model_m32r_d_bl8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4081 { M32RBF_INSN_BL24
, model_m32r_d_bl24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4082 { M32RBF_INSN_BNC8
, model_m32r_d_bnc8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4083 { M32RBF_INSN_BNC24
, model_m32r_d_bnc24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4084 { M32RBF_INSN_BNE
, model_m32r_d_bne
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4085 { M32RBF_INSN_BRA8
, model_m32r_d_bra8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4086 { M32RBF_INSN_BRA24
, model_m32r_d_bra24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4087 { M32RBF_INSN_CMP
, model_m32r_d_cmp
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
4088 { M32RBF_INSN_CMPI
, model_m32r_d_cmpi
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
4089 { M32RBF_INSN_CMPU
, model_m32r_d_cmpu
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
4090 { M32RBF_INSN_CMPUI
, model_m32r_d_cmpui
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
4091 { M32RBF_INSN_DIV
, model_m32r_d_div
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
4092 { M32RBF_INSN_DIVU
, model_m32r_d_divu
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
4093 { M32RBF_INSN_REM
, model_m32r_d_rem
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
4094 { M32RBF_INSN_REMU
, model_m32r_d_remu
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
4095 { M32RBF_INSN_JL
, model_m32r_d_jl
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4096 { M32RBF_INSN_JMP
, model_m32r_d_jmp
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4097 { M32RBF_INSN_LD
, model_m32r_d_ld
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4098 { M32RBF_INSN_LD_D
, model_m32r_d_ld_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
4099 { M32RBF_INSN_LDB
, model_m32r_d_ldb
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4100 { M32RBF_INSN_LDB_D
, model_m32r_d_ldb_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
4101 { M32RBF_INSN_LDH
, model_m32r_d_ldh
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4102 { M32RBF_INSN_LDH_D
, model_m32r_d_ldh_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
4103 { M32RBF_INSN_LDUB
, model_m32r_d_ldub
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4104 { M32RBF_INSN_LDUB_D
, model_m32r_d_ldub_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
4105 { M32RBF_INSN_LDUH
, model_m32r_d_lduh
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4106 { M32RBF_INSN_LDUH_D
, model_m32r_d_lduh_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
4107 { M32RBF_INSN_LD_PLUS
, model_m32r_d_ld_plus
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 }, { (int) UNIT_M32R_D_U_EXEC
, 1, 0 } } },
4108 { M32RBF_INSN_LD24
, model_m32r_d_ld24
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4109 { M32RBF_INSN_LDI8
, model_m32r_d_ldi8
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4110 { M32RBF_INSN_LDI16
, model_m32r_d_ldi16
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4111 { M32RBF_INSN_LOCK
, model_m32r_d_lock
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4112 { M32RBF_INSN_MACHI
, model_m32r_d_machi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4113 { M32RBF_INSN_MACLO
, model_m32r_d_maclo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4114 { M32RBF_INSN_MACWHI
, model_m32r_d_macwhi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4115 { M32RBF_INSN_MACWLO
, model_m32r_d_macwlo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4116 { M32RBF_INSN_MUL
, model_m32r_d_mul
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 4 } } },
4117 { M32RBF_INSN_MULHI
, model_m32r_d_mulhi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4118 { M32RBF_INSN_MULLO
, model_m32r_d_mullo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4119 { M32RBF_INSN_MULWHI
, model_m32r_d_mulwhi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4120 { M32RBF_INSN_MULWLO
, model_m32r_d_mulwlo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4121 { M32RBF_INSN_MV
, model_m32r_d_mv
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4122 { M32RBF_INSN_MVFACHI
, model_m32r_d_mvfachi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 2 } } },
4123 { M32RBF_INSN_MVFACLO
, model_m32r_d_mvfaclo
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 2 } } },
4124 { M32RBF_INSN_MVFACMI
, model_m32r_d_mvfacmi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 2 } } },
4125 { M32RBF_INSN_MVFC
, model_m32r_d_mvfc
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4126 { M32RBF_INSN_MVTACHI
, model_m32r_d_mvtachi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4127 { M32RBF_INSN_MVTACLO
, model_m32r_d_mvtaclo
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4128 { M32RBF_INSN_MVTC
, model_m32r_d_mvtc
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4129 { M32RBF_INSN_NEG
, model_m32r_d_neg
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4130 { M32RBF_INSN_NOP
, model_m32r_d_nop
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 0 } } },
4131 { M32RBF_INSN_NOT
, model_m32r_d_not
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4132 { M32RBF_INSN_RAC
, model_m32r_d_rac
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4133 { M32RBF_INSN_RACH
, model_m32r_d_rach
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4134 { M32RBF_INSN_RTE
, model_m32r_d_rte
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4135 { M32RBF_INSN_SETH
, model_m32r_d_seth
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4136 { M32RBF_INSN_SLL
, model_m32r_d_sll
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4137 { M32RBF_INSN_SLL3
, model_m32r_d_sll3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4138 { M32RBF_INSN_SLLI
, model_m32r_d_slli
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4139 { M32RBF_INSN_SRA
, model_m32r_d_sra
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4140 { M32RBF_INSN_SRA3
, model_m32r_d_sra3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4141 { M32RBF_INSN_SRAI
, model_m32r_d_srai
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4142 { M32RBF_INSN_SRL
, model_m32r_d_srl
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4143 { M32RBF_INSN_SRL3
, model_m32r_d_srl3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4144 { M32RBF_INSN_SRLI
, model_m32r_d_srli
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4145 { M32RBF_INSN_ST
, model_m32r_d_st
, { { (int) UNIT_M32R_D_U_STORE
, 1, 1 } } },
4146 { M32RBF_INSN_ST_D
, model_m32r_d_st_d
, { { (int) UNIT_M32R_D_U_STORE
, 1, 2 } } },
4147 { M32RBF_INSN_STB
, model_m32r_d_stb
, { { (int) UNIT_M32R_D_U_STORE
, 1, 1 } } },
4148 { M32RBF_INSN_STB_D
, model_m32r_d_stb_d
, { { (int) UNIT_M32R_D_U_STORE
, 1, 2 } } },
4149 { M32RBF_INSN_STH
, model_m32r_d_sth
, { { (int) UNIT_M32R_D_U_STORE
, 1, 1 } } },
4150 { M32RBF_INSN_STH_D
, model_m32r_d_sth_d
, { { (int) UNIT_M32R_D_U_STORE
, 1, 2 } } },
4151 { M32RBF_INSN_ST_PLUS
, model_m32r_d_st_plus
, { { (int) UNIT_M32R_D_U_STORE
, 1, 1 }, { (int) UNIT_M32R_D_U_EXEC
, 1, 0 } } },
4152 { M32RBF_INSN_ST_MINUS
, model_m32r_d_st_minus
, { { (int) UNIT_M32R_D_U_STORE
, 1, 1 }, { (int) UNIT_M32R_D_U_EXEC
, 1, 0 } } },
4153 { M32RBF_INSN_SUB
, model_m32r_d_sub
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4154 { M32RBF_INSN_SUBV
, model_m32r_d_subv
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4155 { M32RBF_INSN_SUBX
, model_m32r_d_subx
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4156 { M32RBF_INSN_TRAP
, model_m32r_d_trap
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4157 { M32RBF_INSN_UNLOCK
, model_m32r_d_unlock
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4158 { M32RBF_INSN_CLRPSW
, model_m32r_d_clrpsw
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4159 { M32RBF_INSN_SETPSW
, model_m32r_d_setpsw
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4160 { M32RBF_INSN_BSET
, model_m32r_d_bset
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4161 { M32RBF_INSN_BCLR
, model_m32r_d_bclr
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4162 { M32RBF_INSN_BTST
, model_m32r_d_btst
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4165 /* Model timing data for `test'. */
4167 static const INSN_TIMING test_timing
[] = {
4168 { M32RBF_INSN_X_INVALID
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4169 { M32RBF_INSN_X_AFTER
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4170 { M32RBF_INSN_X_BEFORE
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4171 { M32RBF_INSN_X_CTI_CHAIN
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4172 { M32RBF_INSN_X_CHAIN
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4173 { M32RBF_INSN_X_BEGIN
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4174 { M32RBF_INSN_ADD
, model_test_add
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4175 { M32RBF_INSN_ADD3
, model_test_add3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4176 { M32RBF_INSN_AND
, model_test_and
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4177 { M32RBF_INSN_AND3
, model_test_and3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4178 { M32RBF_INSN_OR
, model_test_or
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4179 { M32RBF_INSN_OR3
, model_test_or3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4180 { M32RBF_INSN_XOR
, model_test_xor
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4181 { M32RBF_INSN_XOR3
, model_test_xor3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4182 { M32RBF_INSN_ADDI
, model_test_addi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4183 { M32RBF_INSN_ADDV
, model_test_addv
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4184 { M32RBF_INSN_ADDV3
, model_test_addv3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4185 { M32RBF_INSN_ADDX
, model_test_addx
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4186 { M32RBF_INSN_BC8
, model_test_bc8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4187 { M32RBF_INSN_BC24
, model_test_bc24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4188 { M32RBF_INSN_BEQ
, model_test_beq
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4189 { M32RBF_INSN_BEQZ
, model_test_beqz
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4190 { M32RBF_INSN_BGEZ
, model_test_bgez
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4191 { M32RBF_INSN_BGTZ
, model_test_bgtz
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4192 { M32RBF_INSN_BLEZ
, model_test_blez
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4193 { M32RBF_INSN_BLTZ
, model_test_bltz
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4194 { M32RBF_INSN_BNEZ
, model_test_bnez
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4195 { M32RBF_INSN_BL8
, model_test_bl8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4196 { M32RBF_INSN_BL24
, model_test_bl24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4197 { M32RBF_INSN_BNC8
, model_test_bnc8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4198 { M32RBF_INSN_BNC24
, model_test_bnc24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4199 { M32RBF_INSN_BNE
, model_test_bne
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4200 { M32RBF_INSN_BRA8
, model_test_bra8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4201 { M32RBF_INSN_BRA24
, model_test_bra24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4202 { M32RBF_INSN_CMP
, model_test_cmp
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4203 { M32RBF_INSN_CMPI
, model_test_cmpi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4204 { M32RBF_INSN_CMPU
, model_test_cmpu
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4205 { M32RBF_INSN_CMPUI
, model_test_cmpui
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4206 { M32RBF_INSN_DIV
, model_test_div
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4207 { M32RBF_INSN_DIVU
, model_test_divu
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4208 { M32RBF_INSN_REM
, model_test_rem
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4209 { M32RBF_INSN_REMU
, model_test_remu
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4210 { M32RBF_INSN_JL
, model_test_jl
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4211 { M32RBF_INSN_JMP
, model_test_jmp
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4212 { M32RBF_INSN_LD
, model_test_ld
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4213 { M32RBF_INSN_LD_D
, model_test_ld_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4214 { M32RBF_INSN_LDB
, model_test_ldb
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4215 { M32RBF_INSN_LDB_D
, model_test_ldb_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4216 { M32RBF_INSN_LDH
, model_test_ldh
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4217 { M32RBF_INSN_LDH_D
, model_test_ldh_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4218 { M32RBF_INSN_LDUB
, model_test_ldub
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4219 { M32RBF_INSN_LDUB_D
, model_test_ldub_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4220 { M32RBF_INSN_LDUH
, model_test_lduh
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4221 { M32RBF_INSN_LDUH_D
, model_test_lduh_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4222 { M32RBF_INSN_LD_PLUS
, model_test_ld_plus
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4223 { M32RBF_INSN_LD24
, model_test_ld24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4224 { M32RBF_INSN_LDI8
, model_test_ldi8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4225 { M32RBF_INSN_LDI16
, model_test_ldi16
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4226 { M32RBF_INSN_LOCK
, model_test_lock
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4227 { M32RBF_INSN_MACHI
, model_test_machi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4228 { M32RBF_INSN_MACLO
, model_test_maclo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4229 { M32RBF_INSN_MACWHI
, model_test_macwhi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4230 { M32RBF_INSN_MACWLO
, model_test_macwlo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4231 { M32RBF_INSN_MUL
, model_test_mul
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4232 { M32RBF_INSN_MULHI
, model_test_mulhi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4233 { M32RBF_INSN_MULLO
, model_test_mullo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4234 { M32RBF_INSN_MULWHI
, model_test_mulwhi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4235 { M32RBF_INSN_MULWLO
, model_test_mulwlo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4236 { M32RBF_INSN_MV
, model_test_mv
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4237 { M32RBF_INSN_MVFACHI
, model_test_mvfachi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4238 { M32RBF_INSN_MVFACLO
, model_test_mvfaclo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4239 { M32RBF_INSN_MVFACMI
, model_test_mvfacmi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4240 { M32RBF_INSN_MVFC
, model_test_mvfc
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4241 { M32RBF_INSN_MVTACHI
, model_test_mvtachi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4242 { M32RBF_INSN_MVTACLO
, model_test_mvtaclo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4243 { M32RBF_INSN_MVTC
, model_test_mvtc
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4244 { M32RBF_INSN_NEG
, model_test_neg
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4245 { M32RBF_INSN_NOP
, model_test_nop
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4246 { M32RBF_INSN_NOT
, model_test_not
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4247 { M32RBF_INSN_RAC
, model_test_rac
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4248 { M32RBF_INSN_RACH
, model_test_rach
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4249 { M32RBF_INSN_RTE
, model_test_rte
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4250 { M32RBF_INSN_SETH
, model_test_seth
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4251 { M32RBF_INSN_SLL
, model_test_sll
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4252 { M32RBF_INSN_SLL3
, model_test_sll3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4253 { M32RBF_INSN_SLLI
, model_test_slli
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4254 { M32RBF_INSN_SRA
, model_test_sra
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4255 { M32RBF_INSN_SRA3
, model_test_sra3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4256 { M32RBF_INSN_SRAI
, model_test_srai
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4257 { M32RBF_INSN_SRL
, model_test_srl
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4258 { M32RBF_INSN_SRL3
, model_test_srl3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4259 { M32RBF_INSN_SRLI
, model_test_srli
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4260 { M32RBF_INSN_ST
, model_test_st
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4261 { M32RBF_INSN_ST_D
, model_test_st_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4262 { M32RBF_INSN_STB
, model_test_stb
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4263 { M32RBF_INSN_STB_D
, model_test_stb_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4264 { M32RBF_INSN_STH
, model_test_sth
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4265 { M32RBF_INSN_STH_D
, model_test_sth_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4266 { M32RBF_INSN_ST_PLUS
, model_test_st_plus
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4267 { M32RBF_INSN_ST_MINUS
, model_test_st_minus
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4268 { M32RBF_INSN_SUB
, model_test_sub
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4269 { M32RBF_INSN_SUBV
, model_test_subv
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4270 { M32RBF_INSN_SUBX
, model_test_subx
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4271 { M32RBF_INSN_TRAP
, model_test_trap
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4272 { M32RBF_INSN_UNLOCK
, model_test_unlock
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4273 { M32RBF_INSN_CLRPSW
, model_test_clrpsw
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4274 { M32RBF_INSN_SETPSW
, model_test_setpsw
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4275 { M32RBF_INSN_BSET
, model_test_bset
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4276 { M32RBF_INSN_BCLR
, model_test_bclr
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4277 { M32RBF_INSN_BTST
, model_test_btst
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4280 #endif /* WITH_PROFILE_MODEL_P */
4283 m32r_d_model_init (SIM_CPU
*cpu
)
4285 CPU_MODEL_DATA (cpu
) = (void *) zalloc (sizeof (MODEL_M32R_D_DATA
));
4289 test_model_init (SIM_CPU
*cpu
)
4291 CPU_MODEL_DATA (cpu
) = (void *) zalloc (sizeof (MODEL_TEST_DATA
));
4294 #if WITH_PROFILE_MODEL_P
4295 #define TIMING_DATA(td) td
4297 #define TIMING_DATA(td) 0
4300 static const SIM_MODEL m32r_models
[] =
4302 { "m32r/d", & m32r_mach
, MODEL_M32R_D
, TIMING_DATA (& m32r_d_timing
[0]), m32r_d_model_init
},
4303 { "test", & m32r_mach
, MODEL_TEST
, TIMING_DATA (& test_timing
[0]), test_model_init
},
4307 /* The properties of this cpu's implementation. */
4309 static const SIM_MACH_IMP_PROPERTIES m32rbf_imp_properties
=
4321 m32rbf_prepare_run (SIM_CPU
*cpu
)
4323 if (CPU_IDESC (cpu
) == NULL
)
4324 m32rbf_init_idesc_table (cpu
);
4327 static const CGEN_INSN
*
4328 m32rbf_get_idata (SIM_CPU
*cpu
, int inum
)
4330 return CPU_IDESC (cpu
) [inum
].idata
;
4334 m32r_init_cpu (SIM_CPU
*cpu
)
4336 CPU_REG_FETCH (cpu
) = m32rbf_fetch_register
;
4337 CPU_REG_STORE (cpu
) = m32rbf_store_register
;
4338 CPU_PC_FETCH (cpu
) = m32rbf_h_pc_get
;
4339 CPU_PC_STORE (cpu
) = m32rbf_h_pc_set
;
4340 CPU_GET_IDATA (cpu
) = m32rbf_get_idata
;
4341 CPU_MAX_INSNS (cpu
) = M32RBF_INSN__MAX
;
4342 CPU_INSN_NAME (cpu
) = cgen_insn_name
;
4343 CPU_FULL_ENGINE_FN (cpu
) = m32rbf_engine_run_full
;
4345 CPU_FAST_ENGINE_FN (cpu
) = m32rbf_engine_run_fast
;
4347 CPU_FAST_ENGINE_FN (cpu
) = m32rbf_engine_run_full
;
4351 const SIM_MACH m32r_mach
=
4353 "m32r", "m32r", MACH_M32R
,
4354 32, 32, & m32r_models
[0], & m32rbf_imp_properties
,