1 /* Simulator model support for m32rbf.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
7 This file is part of the GNU simulators.
9 This program 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 2, or (at your option)
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, write to the Free Software Foundation, Inc.,
21 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 #define WANT_CPU m32rbf
26 #define WANT_CPU_M32RBF
30 /* The profiling data is recorded here, but is accessed via the profiling
31 mechanism. After all, this is information for profiling. */
33 #if WITH_PROFILE_MODEL_P
35 /* Model handlers for each insn. */
38 model_m32r_d_add (SIM_CPU
*current_cpu
, void *sem_arg
)
40 #define FLD(f) abuf->fields.sfmt_add.f
41 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
42 const IDESC
* UNUSED idesc
= abuf
->idesc
;
46 int UNUSED insn_referenced
= abuf
->written
;
52 out_dr
= FLD (out_dr
);
56 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
63 model_m32r_d_add3 (SIM_CPU
*current_cpu
, void *sem_arg
)
65 #define FLD(f) abuf->fields.sfmt_add3.f
66 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
67 const IDESC
* UNUSED idesc
= abuf
->idesc
;
71 int UNUSED insn_referenced
= abuf
->written
;
76 out_dr
= FLD (out_dr
);
79 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
86 model_m32r_d_and (SIM_CPU
*current_cpu
, void *sem_arg
)
88 #define FLD(f) abuf->fields.sfmt_add.f
89 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
90 const IDESC
* UNUSED idesc
= abuf
->idesc
;
94 int UNUSED insn_referenced
= abuf
->written
;
100 out_dr
= FLD (out_dr
);
101 referenced
|= 1 << 0;
102 referenced
|= 1 << 1;
103 referenced
|= 1 << 2;
104 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
111 model_m32r_d_and3 (SIM_CPU
*current_cpu
, void *sem_arg
)
113 #define FLD(f) abuf->fields.sfmt_and3.f
114 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
115 const IDESC
* UNUSED idesc
= abuf
->idesc
;
119 int UNUSED insn_referenced
= abuf
->written
;
124 out_dr
= FLD (out_dr
);
125 referenced
|= 1 << 0;
126 referenced
|= 1 << 2;
127 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
134 model_m32r_d_or (SIM_CPU
*current_cpu
, void *sem_arg
)
136 #define FLD(f) abuf->fields.sfmt_add.f
137 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
138 const IDESC
* UNUSED idesc
= abuf
->idesc
;
142 int UNUSED insn_referenced
= abuf
->written
;
148 out_dr
= FLD (out_dr
);
149 referenced
|= 1 << 0;
150 referenced
|= 1 << 1;
151 referenced
|= 1 << 2;
152 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
159 model_m32r_d_or3 (SIM_CPU
*current_cpu
, void *sem_arg
)
161 #define FLD(f) abuf->fields.sfmt_and3.f
162 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
163 const IDESC
* UNUSED idesc
= abuf
->idesc
;
167 int UNUSED insn_referenced
= abuf
->written
;
172 out_dr
= FLD (out_dr
);
173 referenced
|= 1 << 0;
174 referenced
|= 1 << 2;
175 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
182 model_m32r_d_xor (SIM_CPU
*current_cpu
, void *sem_arg
)
184 #define FLD(f) abuf->fields.sfmt_add.f
185 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
186 const IDESC
* UNUSED idesc
= abuf
->idesc
;
190 int UNUSED insn_referenced
= abuf
->written
;
196 out_dr
= FLD (out_dr
);
197 referenced
|= 1 << 0;
198 referenced
|= 1 << 1;
199 referenced
|= 1 << 2;
200 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
207 model_m32r_d_xor3 (SIM_CPU
*current_cpu
, void *sem_arg
)
209 #define FLD(f) abuf->fields.sfmt_and3.f
210 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
211 const IDESC
* UNUSED idesc
= abuf
->idesc
;
215 int UNUSED insn_referenced
= abuf
->written
;
220 out_dr
= FLD (out_dr
);
221 referenced
|= 1 << 0;
222 referenced
|= 1 << 2;
223 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
230 model_m32r_d_addi (SIM_CPU
*current_cpu
, void *sem_arg
)
232 #define FLD(f) abuf->fields.sfmt_addi.f
233 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
234 const IDESC
* UNUSED idesc
= abuf
->idesc
;
238 int UNUSED insn_referenced
= abuf
->written
;
243 out_dr
= FLD (out_dr
);
244 referenced
|= 1 << 1;
245 referenced
|= 1 << 2;
246 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
253 model_m32r_d_addv (SIM_CPU
*current_cpu
, void *sem_arg
)
255 #define FLD(f) abuf->fields.sfmt_add.f
256 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
257 const IDESC
* UNUSED idesc
= abuf
->idesc
;
261 int UNUSED insn_referenced
= abuf
->written
;
267 out_dr
= FLD (out_dr
);
268 referenced
|= 1 << 0;
269 referenced
|= 1 << 1;
270 referenced
|= 1 << 2;
271 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
278 model_m32r_d_addv3 (SIM_CPU
*current_cpu
, void *sem_arg
)
280 #define FLD(f) abuf->fields.sfmt_add3.f
281 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
282 const IDESC
* UNUSED idesc
= abuf
->idesc
;
286 int UNUSED insn_referenced
= abuf
->written
;
291 out_dr
= FLD (out_dr
);
292 referenced
|= 1 << 0;
293 referenced
|= 1 << 2;
294 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
301 model_m32r_d_addx (SIM_CPU
*current_cpu
, void *sem_arg
)
303 #define FLD(f) abuf->fields.sfmt_add.f
304 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
305 const IDESC
* UNUSED idesc
= abuf
->idesc
;
309 int UNUSED insn_referenced
= abuf
->written
;
315 out_dr
= FLD (out_dr
);
316 referenced
|= 1 << 0;
317 referenced
|= 1 << 1;
318 referenced
|= 1 << 2;
319 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
326 model_m32r_d_bc8 (SIM_CPU
*current_cpu
, void *sem_arg
)
328 #define FLD(f) abuf->fields.sfmt_bl8.f
329 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
330 const IDESC
* UNUSED idesc
= abuf
->idesc
;
334 int UNUSED insn_referenced
= abuf
->written
;
336 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
337 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
344 model_m32r_d_bc24 (SIM_CPU
*current_cpu
, void *sem_arg
)
346 #define FLD(f) abuf->fields.sfmt_bl24.f
347 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
348 const IDESC
* UNUSED idesc
= abuf
->idesc
;
352 int UNUSED insn_referenced
= abuf
->written
;
354 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
355 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
362 model_m32r_d_beq (SIM_CPU
*current_cpu
, void *sem_arg
)
364 #define FLD(f) abuf->fields.sfmt_beq.f
365 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
366 const IDESC
* UNUSED idesc
= abuf
->idesc
;
370 int UNUSED insn_referenced
= abuf
->written
;
372 if (insn_referenced
& (1 << 3)) referenced
|= 1 << 1;
373 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
377 int UNUSED insn_referenced
= abuf
->written
;
380 in_src1
= FLD (in_src1
);
381 in_src2
= FLD (in_src2
);
382 referenced
|= 1 << 0;
383 referenced
|= 1 << 1;
384 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
391 model_m32r_d_beqz (SIM_CPU
*current_cpu
, void *sem_arg
)
393 #define FLD(f) abuf->fields.sfmt_beq.f
394 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
395 const IDESC
* UNUSED idesc
= abuf
->idesc
;
399 int UNUSED insn_referenced
= abuf
->written
;
401 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
402 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
406 int UNUSED insn_referenced
= abuf
->written
;
409 in_src2
= FLD (in_src2
);
410 referenced
|= 1 << 1;
411 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
418 model_m32r_d_bgez (SIM_CPU
*current_cpu
, void *sem_arg
)
420 #define FLD(f) abuf->fields.sfmt_beq.f
421 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
422 const IDESC
* UNUSED idesc
= abuf
->idesc
;
426 int UNUSED insn_referenced
= abuf
->written
;
428 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
429 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
433 int UNUSED insn_referenced
= abuf
->written
;
436 in_src2
= FLD (in_src2
);
437 referenced
|= 1 << 1;
438 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
445 model_m32r_d_bgtz (SIM_CPU
*current_cpu
, void *sem_arg
)
447 #define FLD(f) abuf->fields.sfmt_beq.f
448 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
449 const IDESC
* UNUSED idesc
= abuf
->idesc
;
453 int UNUSED insn_referenced
= abuf
->written
;
455 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
456 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
460 int UNUSED insn_referenced
= abuf
->written
;
463 in_src2
= FLD (in_src2
);
464 referenced
|= 1 << 1;
465 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
472 model_m32r_d_blez (SIM_CPU
*current_cpu
, void *sem_arg
)
474 #define FLD(f) abuf->fields.sfmt_beq.f
475 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
476 const IDESC
* UNUSED idesc
= abuf
->idesc
;
480 int UNUSED insn_referenced
= abuf
->written
;
482 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
483 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
487 int UNUSED insn_referenced
= abuf
->written
;
490 in_src2
= FLD (in_src2
);
491 referenced
|= 1 << 1;
492 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
499 model_m32r_d_bltz (SIM_CPU
*current_cpu
, void *sem_arg
)
501 #define FLD(f) abuf->fields.sfmt_beq.f
502 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
503 const IDESC
* UNUSED idesc
= abuf
->idesc
;
507 int UNUSED insn_referenced
= abuf
->written
;
509 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
510 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
514 int UNUSED insn_referenced
= abuf
->written
;
517 in_src2
= FLD (in_src2
);
518 referenced
|= 1 << 1;
519 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
526 model_m32r_d_bnez (SIM_CPU
*current_cpu
, void *sem_arg
)
528 #define FLD(f) abuf->fields.sfmt_beq.f
529 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
530 const IDESC
* UNUSED idesc
= abuf
->idesc
;
534 int UNUSED insn_referenced
= abuf
->written
;
536 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
537 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
541 int UNUSED insn_referenced
= abuf
->written
;
544 in_src2
= FLD (in_src2
);
545 referenced
|= 1 << 1;
546 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
553 model_m32r_d_bl8 (SIM_CPU
*current_cpu
, void *sem_arg
)
555 #define FLD(f) abuf->fields.sfmt_bl8.f
556 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
557 const IDESC
* UNUSED idesc
= abuf
->idesc
;
561 int UNUSED insn_referenced
= abuf
->written
;
563 referenced
|= 1 << 1;
564 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
571 model_m32r_d_bl24 (SIM_CPU
*current_cpu
, void *sem_arg
)
573 #define FLD(f) abuf->fields.sfmt_bl24.f
574 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
575 const IDESC
* UNUSED idesc
= abuf
->idesc
;
579 int UNUSED insn_referenced
= abuf
->written
;
581 referenced
|= 1 << 1;
582 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
589 model_m32r_d_bnc8 (SIM_CPU
*current_cpu
, void *sem_arg
)
591 #define FLD(f) abuf->fields.sfmt_bl8.f
592 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
593 const IDESC
* UNUSED idesc
= abuf
->idesc
;
597 int UNUSED insn_referenced
= abuf
->written
;
599 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
600 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
607 model_m32r_d_bnc24 (SIM_CPU
*current_cpu
, void *sem_arg
)
609 #define FLD(f) abuf->fields.sfmt_bl24.f
610 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
611 const IDESC
* UNUSED idesc
= abuf
->idesc
;
615 int UNUSED insn_referenced
= abuf
->written
;
617 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 1;
618 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
625 model_m32r_d_bne (SIM_CPU
*current_cpu
, void *sem_arg
)
627 #define FLD(f) abuf->fields.sfmt_beq.f
628 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
629 const IDESC
* UNUSED idesc
= abuf
->idesc
;
633 int UNUSED insn_referenced
= abuf
->written
;
635 if (insn_referenced
& (1 << 3)) referenced
|= 1 << 1;
636 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
640 int UNUSED insn_referenced
= abuf
->written
;
643 in_src1
= FLD (in_src1
);
644 in_src2
= FLD (in_src2
);
645 referenced
|= 1 << 0;
646 referenced
|= 1 << 1;
647 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 1, referenced
, in_src1
, in_src2
);
654 model_m32r_d_bra8 (SIM_CPU
*current_cpu
, void *sem_arg
)
656 #define FLD(f) abuf->fields.sfmt_bl8.f
657 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
658 const IDESC
* UNUSED idesc
= abuf
->idesc
;
662 int UNUSED insn_referenced
= abuf
->written
;
664 referenced
|= 1 << 1;
665 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
672 model_m32r_d_bra24 (SIM_CPU
*current_cpu
, void *sem_arg
)
674 #define FLD(f) abuf->fields.sfmt_bl24.f
675 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
676 const IDESC
* UNUSED idesc
= abuf
->idesc
;
680 int UNUSED insn_referenced
= abuf
->written
;
682 referenced
|= 1 << 1;
683 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
690 model_m32r_d_cmp (SIM_CPU
*current_cpu
, void *sem_arg
)
692 #define FLD(f) abuf->fields.sfmt_st_plus.f
693 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
694 const IDESC
* UNUSED idesc
= abuf
->idesc
;
698 int UNUSED insn_referenced
= abuf
->written
;
701 in_src1
= FLD (in_src1
);
702 in_src2
= FLD (in_src2
);
703 referenced
|= 1 << 0;
704 referenced
|= 1 << 1;
705 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
712 model_m32r_d_cmpi (SIM_CPU
*current_cpu
, void *sem_arg
)
714 #define FLD(f) abuf->fields.sfmt_st_d.f
715 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
716 const IDESC
* UNUSED idesc
= abuf
->idesc
;
720 int UNUSED insn_referenced
= abuf
->written
;
723 in_src2
= FLD (in_src2
);
724 referenced
|= 1 << 1;
725 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
732 model_m32r_d_cmpu (SIM_CPU
*current_cpu
, void *sem_arg
)
734 #define FLD(f) abuf->fields.sfmt_st_plus.f
735 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
736 const IDESC
* UNUSED idesc
= abuf
->idesc
;
740 int UNUSED insn_referenced
= abuf
->written
;
743 in_src1
= FLD (in_src1
);
744 in_src2
= FLD (in_src2
);
745 referenced
|= 1 << 0;
746 referenced
|= 1 << 1;
747 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
754 model_m32r_d_cmpui (SIM_CPU
*current_cpu
, void *sem_arg
)
756 #define FLD(f) abuf->fields.sfmt_st_d.f
757 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
758 const IDESC
* UNUSED idesc
= abuf
->idesc
;
762 int UNUSED insn_referenced
= abuf
->written
;
765 in_src2
= FLD (in_src2
);
766 referenced
|= 1 << 1;
767 cycles
+= m32rbf_model_m32r_d_u_cmp (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
774 model_m32r_d_div (SIM_CPU
*current_cpu
, void *sem_arg
)
776 #define FLD(f) abuf->fields.sfmt_add.f
777 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
778 const IDESC
* UNUSED idesc
= abuf
->idesc
;
782 int UNUSED insn_referenced
= abuf
->written
;
788 out_dr
= FLD (out_dr
);
789 referenced
|= 1 << 0;
790 if (insn_referenced
& (1 << 0)) referenced
|= 1 << 1;
791 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 2;
792 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
799 model_m32r_d_divu (SIM_CPU
*current_cpu
, void *sem_arg
)
801 #define FLD(f) abuf->fields.sfmt_add.f
802 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
803 const IDESC
* UNUSED idesc
= abuf
->idesc
;
807 int UNUSED insn_referenced
= abuf
->written
;
813 out_dr
= FLD (out_dr
);
814 referenced
|= 1 << 0;
815 if (insn_referenced
& (1 << 0)) referenced
|= 1 << 1;
816 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 2;
817 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
824 model_m32r_d_rem (SIM_CPU
*current_cpu
, void *sem_arg
)
826 #define FLD(f) abuf->fields.sfmt_add.f
827 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
828 const IDESC
* UNUSED idesc
= abuf
->idesc
;
832 int UNUSED insn_referenced
= abuf
->written
;
838 out_dr
= FLD (out_dr
);
839 referenced
|= 1 << 0;
840 if (insn_referenced
& (1 << 0)) referenced
|= 1 << 1;
841 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 2;
842 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
849 model_m32r_d_remu (SIM_CPU
*current_cpu
, void *sem_arg
)
851 #define FLD(f) abuf->fields.sfmt_add.f
852 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
853 const IDESC
* UNUSED idesc
= abuf
->idesc
;
857 int UNUSED insn_referenced
= abuf
->written
;
863 out_dr
= FLD (out_dr
);
864 referenced
|= 1 << 0;
865 if (insn_referenced
& (1 << 0)) referenced
|= 1 << 1;
866 if (insn_referenced
& (1 << 2)) referenced
|= 1 << 2;
867 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
874 model_m32r_d_jl (SIM_CPU
*current_cpu
, void *sem_arg
)
876 #define FLD(f) abuf->fields.sfmt_jl.f
877 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
878 const IDESC
* UNUSED idesc
= abuf
->idesc
;
882 int UNUSED insn_referenced
= abuf
->written
;
885 referenced
|= 1 << 0;
886 referenced
|= 1 << 1;
887 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
894 model_m32r_d_jmp (SIM_CPU
*current_cpu
, void *sem_arg
)
896 #define FLD(f) abuf->fields.sfmt_jl.f
897 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
898 const IDESC
* UNUSED idesc
= abuf
->idesc
;
902 int UNUSED insn_referenced
= abuf
->written
;
905 referenced
|= 1 << 0;
906 referenced
|= 1 << 1;
907 cycles
+= m32rbf_model_m32r_d_u_cti (current_cpu
, idesc
, 0, referenced
, in_sr
);
914 model_m32r_d_ld (SIM_CPU
*current_cpu
, void *sem_arg
)
916 #define FLD(f) abuf->fields.sfmt_ld_plus.f
917 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
918 const IDESC
* UNUSED idesc
= abuf
->idesc
;
922 int UNUSED insn_referenced
= abuf
->written
;
926 out_dr
= FLD (out_dr
);
927 referenced
|= 1 << 0;
928 referenced
|= 1 << 1;
929 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
936 model_m32r_d_ld_d (SIM_CPU
*current_cpu
, void *sem_arg
)
938 #define FLD(f) abuf->fields.sfmt_add3.f
939 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
940 const IDESC
* UNUSED idesc
= abuf
->idesc
;
944 int UNUSED insn_referenced
= abuf
->written
;
948 out_dr
= FLD (out_dr
);
949 referenced
|= 1 << 0;
950 referenced
|= 1 << 1;
951 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
958 model_m32r_d_ldb (SIM_CPU
*current_cpu
, void *sem_arg
)
960 #define FLD(f) abuf->fields.sfmt_ld_plus.f
961 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
962 const IDESC
* UNUSED idesc
= abuf
->idesc
;
966 int UNUSED insn_referenced
= abuf
->written
;
970 out_dr
= FLD (out_dr
);
971 referenced
|= 1 << 0;
972 referenced
|= 1 << 1;
973 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
980 model_m32r_d_ldb_d (SIM_CPU
*current_cpu
, void *sem_arg
)
982 #define FLD(f) abuf->fields.sfmt_add3.f
983 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
984 const IDESC
* UNUSED idesc
= abuf
->idesc
;
988 int UNUSED insn_referenced
= abuf
->written
;
992 out_dr
= FLD (out_dr
);
993 referenced
|= 1 << 0;
994 referenced
|= 1 << 1;
995 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1002 model_m32r_d_ldh (SIM_CPU
*current_cpu
, void *sem_arg
)
1004 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1005 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1006 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1010 int UNUSED insn_referenced
= abuf
->written
;
1013 in_sr
= FLD (in_sr
);
1014 out_dr
= FLD (out_dr
);
1015 referenced
|= 1 << 0;
1016 referenced
|= 1 << 1;
1017 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1024 model_m32r_d_ldh_d (SIM_CPU
*current_cpu
, void *sem_arg
)
1026 #define FLD(f) abuf->fields.sfmt_add3.f
1027 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1028 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1032 int UNUSED insn_referenced
= abuf
->written
;
1035 in_sr
= FLD (in_sr
);
1036 out_dr
= FLD (out_dr
);
1037 referenced
|= 1 << 0;
1038 referenced
|= 1 << 1;
1039 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1046 model_m32r_d_ldub (SIM_CPU
*current_cpu
, void *sem_arg
)
1048 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1049 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1050 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1054 int UNUSED insn_referenced
= abuf
->written
;
1057 in_sr
= FLD (in_sr
);
1058 out_dr
= FLD (out_dr
);
1059 referenced
|= 1 << 0;
1060 referenced
|= 1 << 1;
1061 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1068 model_m32r_d_ldub_d (SIM_CPU
*current_cpu
, void *sem_arg
)
1070 #define FLD(f) abuf->fields.sfmt_add3.f
1071 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1072 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1076 int UNUSED insn_referenced
= abuf
->written
;
1079 in_sr
= FLD (in_sr
);
1080 out_dr
= FLD (out_dr
);
1081 referenced
|= 1 << 0;
1082 referenced
|= 1 << 1;
1083 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1090 model_m32r_d_lduh (SIM_CPU
*current_cpu
, void *sem_arg
)
1092 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1093 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1094 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1098 int UNUSED insn_referenced
= abuf
->written
;
1101 in_sr
= FLD (in_sr
);
1102 out_dr
= FLD (out_dr
);
1103 referenced
|= 1 << 0;
1104 referenced
|= 1 << 1;
1105 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1112 model_m32r_d_lduh_d (SIM_CPU
*current_cpu
, void *sem_arg
)
1114 #define FLD(f) abuf->fields.sfmt_add3.f
1115 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1116 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1120 int UNUSED insn_referenced
= abuf
->written
;
1123 in_sr
= FLD (in_sr
);
1124 out_dr
= FLD (out_dr
);
1125 referenced
|= 1 << 0;
1126 referenced
|= 1 << 1;
1127 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1134 model_m32r_d_ld_plus (SIM_CPU
*current_cpu
, void *sem_arg
)
1136 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1137 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1138 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1142 int UNUSED insn_referenced
= abuf
->written
;
1145 in_sr
= FLD (in_sr
);
1146 out_dr
= FLD (out_dr
);
1147 referenced
|= 1 << 0;
1148 referenced
|= 1 << 1;
1149 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1153 int UNUSED insn_referenced
= abuf
->written
;
1157 in_dr
= FLD (in_sr
);
1158 out_dr
= FLD (out_sr
);
1159 referenced
|= 1 << 0;
1160 referenced
|= 1 << 2;
1161 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 1, referenced
, in_sr
, in_dr
, out_dr
);
1168 model_m32r_d_ld24 (SIM_CPU
*current_cpu
, void *sem_arg
)
1170 #define FLD(f) abuf->fields.sfmt_ld24.f
1171 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1172 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1176 int UNUSED insn_referenced
= abuf
->written
;
1180 out_dr
= FLD (out_dr
);
1181 referenced
|= 1 << 2;
1182 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1189 model_m32r_d_ldi8 (SIM_CPU
*current_cpu
, void *sem_arg
)
1191 #define FLD(f) abuf->fields.sfmt_addi.f
1192 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1193 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1197 int UNUSED insn_referenced
= abuf
->written
;
1201 out_dr
= FLD (out_dr
);
1202 referenced
|= 1 << 2;
1203 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1210 model_m32r_d_ldi16 (SIM_CPU
*current_cpu
, void *sem_arg
)
1212 #define FLD(f) abuf->fields.sfmt_add3.f
1213 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1214 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1218 int UNUSED insn_referenced
= abuf
->written
;
1222 out_dr
= FLD (out_dr
);
1223 referenced
|= 1 << 2;
1224 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1231 model_m32r_d_lock (SIM_CPU
*current_cpu
, void *sem_arg
)
1233 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1234 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1235 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1239 int UNUSED insn_referenced
= abuf
->written
;
1242 in_sr
= FLD (in_sr
);
1243 out_dr
= FLD (out_dr
);
1244 referenced
|= 1 << 0;
1245 referenced
|= 1 << 1;
1246 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
1253 model_m32r_d_machi (SIM_CPU
*current_cpu
, void *sem_arg
)
1255 #define FLD(f) abuf->fields.sfmt_st_plus.f
1256 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1257 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1261 int UNUSED insn_referenced
= abuf
->written
;
1264 in_src1
= FLD (in_src1
);
1265 in_src2
= FLD (in_src2
);
1266 referenced
|= 1 << 0;
1267 referenced
|= 1 << 1;
1268 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1275 model_m32r_d_maclo (SIM_CPU
*current_cpu
, void *sem_arg
)
1277 #define FLD(f) abuf->fields.sfmt_st_plus.f
1278 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1279 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1283 int UNUSED insn_referenced
= abuf
->written
;
1286 in_src1
= FLD (in_src1
);
1287 in_src2
= FLD (in_src2
);
1288 referenced
|= 1 << 0;
1289 referenced
|= 1 << 1;
1290 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1297 model_m32r_d_macwhi (SIM_CPU
*current_cpu
, void *sem_arg
)
1299 #define FLD(f) abuf->fields.sfmt_st_plus.f
1300 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1301 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1305 int UNUSED insn_referenced
= abuf
->written
;
1308 in_src1
= FLD (in_src1
);
1309 in_src2
= FLD (in_src2
);
1310 referenced
|= 1 << 0;
1311 referenced
|= 1 << 1;
1312 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1319 model_m32r_d_macwlo (SIM_CPU
*current_cpu
, void *sem_arg
)
1321 #define FLD(f) abuf->fields.sfmt_st_plus.f
1322 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1323 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1327 int UNUSED insn_referenced
= abuf
->written
;
1330 in_src1
= FLD (in_src1
);
1331 in_src2
= FLD (in_src2
);
1332 referenced
|= 1 << 0;
1333 referenced
|= 1 << 1;
1334 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1341 model_m32r_d_mul (SIM_CPU
*current_cpu
, void *sem_arg
)
1343 #define FLD(f) abuf->fields.sfmt_add.f
1344 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1345 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1349 int UNUSED insn_referenced
= abuf
->written
;
1353 in_sr
= FLD (in_sr
);
1354 in_dr
= FLD (in_dr
);
1355 out_dr
= FLD (out_dr
);
1356 referenced
|= 1 << 0;
1357 referenced
|= 1 << 1;
1358 referenced
|= 1 << 2;
1359 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1366 model_m32r_d_mulhi (SIM_CPU
*current_cpu
, void *sem_arg
)
1368 #define FLD(f) abuf->fields.sfmt_st_plus.f
1369 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1370 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1374 int UNUSED insn_referenced
= abuf
->written
;
1377 in_src1
= FLD (in_src1
);
1378 in_src2
= FLD (in_src2
);
1379 referenced
|= 1 << 0;
1380 referenced
|= 1 << 1;
1381 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1388 model_m32r_d_mullo (SIM_CPU
*current_cpu
, void *sem_arg
)
1390 #define FLD(f) abuf->fields.sfmt_st_plus.f
1391 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1392 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1396 int UNUSED insn_referenced
= abuf
->written
;
1399 in_src1
= FLD (in_src1
);
1400 in_src2
= FLD (in_src2
);
1401 referenced
|= 1 << 0;
1402 referenced
|= 1 << 1;
1403 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1410 model_m32r_d_mulwhi (SIM_CPU
*current_cpu
, void *sem_arg
)
1412 #define FLD(f) abuf->fields.sfmt_st_plus.f
1413 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1414 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1418 int UNUSED insn_referenced
= abuf
->written
;
1421 in_src1
= FLD (in_src1
);
1422 in_src2
= FLD (in_src2
);
1423 referenced
|= 1 << 0;
1424 referenced
|= 1 << 1;
1425 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1432 model_m32r_d_mulwlo (SIM_CPU
*current_cpu
, void *sem_arg
)
1434 #define FLD(f) abuf->fields.sfmt_st_plus.f
1435 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1436 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1440 int UNUSED insn_referenced
= abuf
->written
;
1443 in_src1
= FLD (in_src1
);
1444 in_src2
= FLD (in_src2
);
1445 referenced
|= 1 << 0;
1446 referenced
|= 1 << 1;
1447 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1454 model_m32r_d_mv (SIM_CPU
*current_cpu
, void *sem_arg
)
1456 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1457 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1458 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1462 int UNUSED insn_referenced
= abuf
->written
;
1466 in_sr
= FLD (in_sr
);
1467 out_dr
= FLD (out_dr
);
1468 referenced
|= 1 << 0;
1469 referenced
|= 1 << 2;
1470 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1477 model_m32r_d_mvfachi (SIM_CPU
*current_cpu
, void *sem_arg
)
1479 #define FLD(f) abuf->fields.sfmt_seth.f
1480 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1481 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1485 int UNUSED insn_referenced
= abuf
->written
;
1489 out_dr
= FLD (out_dr
);
1490 referenced
|= 1 << 2;
1491 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1498 model_m32r_d_mvfaclo (SIM_CPU
*current_cpu
, void *sem_arg
)
1500 #define FLD(f) abuf->fields.sfmt_seth.f
1501 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1502 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1506 int UNUSED insn_referenced
= abuf
->written
;
1510 out_dr
= FLD (out_dr
);
1511 referenced
|= 1 << 2;
1512 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1519 model_m32r_d_mvfacmi (SIM_CPU
*current_cpu
, void *sem_arg
)
1521 #define FLD(f) abuf->fields.sfmt_seth.f
1522 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1523 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1527 int UNUSED insn_referenced
= abuf
->written
;
1531 out_dr
= FLD (out_dr
);
1532 referenced
|= 1 << 2;
1533 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1540 model_m32r_d_mvfc (SIM_CPU
*current_cpu
, void *sem_arg
)
1542 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1543 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1544 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1548 int UNUSED insn_referenced
= abuf
->written
;
1552 out_dr
= FLD (out_dr
);
1553 referenced
|= 1 << 2;
1554 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1561 model_m32r_d_mvtachi (SIM_CPU
*current_cpu
, void *sem_arg
)
1563 #define FLD(f) abuf->fields.sfmt_st_plus.f
1564 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1565 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1569 int UNUSED insn_referenced
= abuf
->written
;
1573 in_sr
= FLD (in_src1
);
1574 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1581 model_m32r_d_mvtaclo (SIM_CPU
*current_cpu
, void *sem_arg
)
1583 #define FLD(f) abuf->fields.sfmt_st_plus.f
1584 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1585 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1589 int UNUSED insn_referenced
= abuf
->written
;
1593 in_sr
= FLD (in_src1
);
1594 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1601 model_m32r_d_mvtc (SIM_CPU
*current_cpu
, void *sem_arg
)
1603 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1604 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1605 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1609 int UNUSED insn_referenced
= abuf
->written
;
1613 in_sr
= FLD (in_sr
);
1614 referenced
|= 1 << 0;
1615 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1622 model_m32r_d_neg (SIM_CPU
*current_cpu
, void *sem_arg
)
1624 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1625 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1626 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1630 int UNUSED insn_referenced
= abuf
->written
;
1634 in_sr
= FLD (in_sr
);
1635 out_dr
= FLD (out_dr
);
1636 referenced
|= 1 << 0;
1637 referenced
|= 1 << 2;
1638 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1645 model_m32r_d_nop (SIM_CPU
*current_cpu
, void *sem_arg
)
1647 #define FLD(f) abuf->fields.fmt_empty.f
1648 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1649 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1653 int UNUSED insn_referenced
= abuf
->written
;
1657 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1664 model_m32r_d_not (SIM_CPU
*current_cpu
, void *sem_arg
)
1666 #define FLD(f) abuf->fields.sfmt_ld_plus.f
1667 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1668 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1672 int UNUSED insn_referenced
= abuf
->written
;
1676 in_sr
= FLD (in_sr
);
1677 out_dr
= FLD (out_dr
);
1678 referenced
|= 1 << 0;
1679 referenced
|= 1 << 2;
1680 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1687 model_m32r_d_rac (SIM_CPU
*current_cpu
, void *sem_arg
)
1689 #define FLD(f) abuf->fields.fmt_empty.f
1690 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1691 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1695 int UNUSED insn_referenced
= abuf
->written
;
1698 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1705 model_m32r_d_rach (SIM_CPU
*current_cpu
, void *sem_arg
)
1707 #define FLD(f) abuf->fields.fmt_empty.f
1708 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1709 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1713 int UNUSED insn_referenced
= abuf
->written
;
1716 cycles
+= m32rbf_model_m32r_d_u_mac (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1723 model_m32r_d_rte (SIM_CPU
*current_cpu
, void *sem_arg
)
1725 #define FLD(f) abuf->fields.fmt_empty.f
1726 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1727 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1731 int UNUSED insn_referenced
= abuf
->written
;
1735 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1742 model_m32r_d_seth (SIM_CPU
*current_cpu
, void *sem_arg
)
1744 #define FLD(f) abuf->fields.sfmt_seth.f
1745 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1746 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1750 int UNUSED insn_referenced
= abuf
->written
;
1754 out_dr
= FLD (out_dr
);
1755 referenced
|= 1 << 2;
1756 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1763 model_m32r_d_sll (SIM_CPU
*current_cpu
, void *sem_arg
)
1765 #define FLD(f) abuf->fields.sfmt_add.f
1766 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1767 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1771 int UNUSED insn_referenced
= abuf
->written
;
1775 in_sr
= FLD (in_sr
);
1776 in_dr
= FLD (in_dr
);
1777 out_dr
= FLD (out_dr
);
1778 referenced
|= 1 << 0;
1779 referenced
|= 1 << 1;
1780 referenced
|= 1 << 2;
1781 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1788 model_m32r_d_sll3 (SIM_CPU
*current_cpu
, void *sem_arg
)
1790 #define FLD(f) abuf->fields.sfmt_add3.f
1791 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1792 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1796 int UNUSED insn_referenced
= abuf
->written
;
1800 in_sr
= FLD (in_sr
);
1801 out_dr
= FLD (out_dr
);
1802 referenced
|= 1 << 0;
1803 referenced
|= 1 << 2;
1804 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1811 model_m32r_d_slli (SIM_CPU
*current_cpu
, void *sem_arg
)
1813 #define FLD(f) abuf->fields.sfmt_slli.f
1814 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1815 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1819 int UNUSED insn_referenced
= abuf
->written
;
1823 in_dr
= FLD (in_dr
);
1824 out_dr
= FLD (out_dr
);
1825 referenced
|= 1 << 1;
1826 referenced
|= 1 << 2;
1827 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1834 model_m32r_d_sra (SIM_CPU
*current_cpu
, void *sem_arg
)
1836 #define FLD(f) abuf->fields.sfmt_add.f
1837 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1838 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1842 int UNUSED insn_referenced
= abuf
->written
;
1846 in_sr
= FLD (in_sr
);
1847 in_dr
= FLD (in_dr
);
1848 out_dr
= FLD (out_dr
);
1849 referenced
|= 1 << 0;
1850 referenced
|= 1 << 1;
1851 referenced
|= 1 << 2;
1852 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1859 model_m32r_d_sra3 (SIM_CPU
*current_cpu
, void *sem_arg
)
1861 #define FLD(f) abuf->fields.sfmt_add3.f
1862 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1863 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1867 int UNUSED insn_referenced
= abuf
->written
;
1871 in_sr
= FLD (in_sr
);
1872 out_dr
= FLD (out_dr
);
1873 referenced
|= 1 << 0;
1874 referenced
|= 1 << 2;
1875 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1882 model_m32r_d_srai (SIM_CPU
*current_cpu
, void *sem_arg
)
1884 #define FLD(f) abuf->fields.sfmt_slli.f
1885 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1886 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1890 int UNUSED insn_referenced
= abuf
->written
;
1894 in_dr
= FLD (in_dr
);
1895 out_dr
= FLD (out_dr
);
1896 referenced
|= 1 << 1;
1897 referenced
|= 1 << 2;
1898 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1905 model_m32r_d_srl (SIM_CPU
*current_cpu
, void *sem_arg
)
1907 #define FLD(f) abuf->fields.sfmt_add.f
1908 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1909 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1913 int UNUSED insn_referenced
= abuf
->written
;
1917 in_sr
= FLD (in_sr
);
1918 in_dr
= FLD (in_dr
);
1919 out_dr
= FLD (out_dr
);
1920 referenced
|= 1 << 0;
1921 referenced
|= 1 << 1;
1922 referenced
|= 1 << 2;
1923 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1930 model_m32r_d_srl3 (SIM_CPU
*current_cpu
, void *sem_arg
)
1932 #define FLD(f) abuf->fields.sfmt_add3.f
1933 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1934 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1938 int UNUSED insn_referenced
= abuf
->written
;
1942 in_sr
= FLD (in_sr
);
1943 out_dr
= FLD (out_dr
);
1944 referenced
|= 1 << 0;
1945 referenced
|= 1 << 2;
1946 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1953 model_m32r_d_srli (SIM_CPU
*current_cpu
, void *sem_arg
)
1955 #define FLD(f) abuf->fields.sfmt_slli.f
1956 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1957 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1961 int UNUSED insn_referenced
= abuf
->written
;
1965 in_dr
= FLD (in_dr
);
1966 out_dr
= FLD (out_dr
);
1967 referenced
|= 1 << 1;
1968 referenced
|= 1 << 2;
1969 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
1976 model_m32r_d_st (SIM_CPU
*current_cpu
, void *sem_arg
)
1978 #define FLD(f) abuf->fields.sfmt_st_plus.f
1979 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1980 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1984 int UNUSED insn_referenced
= abuf
->written
;
1987 in_src1
= FLD (in_src1
);
1988 in_src2
= FLD (in_src2
);
1989 referenced
|= 1 << 0;
1990 referenced
|= 1 << 1;
1991 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
1998 model_m32r_d_st_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2000 #define FLD(f) abuf->fields.sfmt_st_d.f
2001 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2002 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2006 int UNUSED insn_referenced
= abuf
->written
;
2009 in_src1
= FLD (in_src1
);
2010 in_src2
= FLD (in_src2
);
2011 referenced
|= 1 << 0;
2012 referenced
|= 1 << 1;
2013 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2020 model_m32r_d_stb (SIM_CPU
*current_cpu
, void *sem_arg
)
2022 #define FLD(f) abuf->fields.sfmt_st_plus.f
2023 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2024 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2028 int UNUSED insn_referenced
= abuf
->written
;
2031 in_src1
= FLD (in_src1
);
2032 in_src2
= FLD (in_src2
);
2033 referenced
|= 1 << 0;
2034 referenced
|= 1 << 1;
2035 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2042 model_m32r_d_stb_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2044 #define FLD(f) abuf->fields.sfmt_st_d.f
2045 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2046 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2050 int UNUSED insn_referenced
= abuf
->written
;
2053 in_src1
= FLD (in_src1
);
2054 in_src2
= FLD (in_src2
);
2055 referenced
|= 1 << 0;
2056 referenced
|= 1 << 1;
2057 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2064 model_m32r_d_sth (SIM_CPU
*current_cpu
, void *sem_arg
)
2066 #define FLD(f) abuf->fields.sfmt_st_plus.f
2067 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2068 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2072 int UNUSED insn_referenced
= abuf
->written
;
2075 in_src1
= FLD (in_src1
);
2076 in_src2
= FLD (in_src2
);
2077 referenced
|= 1 << 0;
2078 referenced
|= 1 << 1;
2079 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2086 model_m32r_d_sth_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2088 #define FLD(f) abuf->fields.sfmt_st_d.f
2089 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2090 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2094 int UNUSED insn_referenced
= abuf
->written
;
2097 in_src1
= FLD (in_src1
);
2098 in_src2
= FLD (in_src2
);
2099 referenced
|= 1 << 0;
2100 referenced
|= 1 << 1;
2101 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2108 model_m32r_d_st_plus (SIM_CPU
*current_cpu
, void *sem_arg
)
2110 #define FLD(f) abuf->fields.sfmt_st_plus.f
2111 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2112 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2116 int UNUSED insn_referenced
= abuf
->written
;
2119 in_src1
= FLD (in_src1
);
2120 in_src2
= FLD (in_src2
);
2121 referenced
|= 1 << 0;
2122 referenced
|= 1 << 1;
2123 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2127 int UNUSED insn_referenced
= abuf
->written
;
2131 in_dr
= FLD (in_src2
);
2132 out_dr
= FLD (out_src2
);
2133 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 1, referenced
, in_sr
, in_dr
, out_dr
);
2140 model_m32r_d_st_minus (SIM_CPU
*current_cpu
, void *sem_arg
)
2142 #define FLD(f) abuf->fields.sfmt_st_plus.f
2143 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2144 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2148 int UNUSED insn_referenced
= abuf
->written
;
2151 in_src1
= FLD (in_src1
);
2152 in_src2
= FLD (in_src2
);
2153 referenced
|= 1 << 0;
2154 referenced
|= 1 << 1;
2155 cycles
+= m32rbf_model_m32r_d_u_store (current_cpu
, idesc
, 0, referenced
, in_src1
, in_src2
);
2159 int UNUSED insn_referenced
= abuf
->written
;
2163 in_dr
= FLD (in_src2
);
2164 out_dr
= FLD (out_src2
);
2165 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 1, referenced
, in_sr
, in_dr
, out_dr
);
2172 model_m32r_d_sub (SIM_CPU
*current_cpu
, void *sem_arg
)
2174 #define FLD(f) abuf->fields.sfmt_add.f
2175 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2176 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2180 int UNUSED insn_referenced
= abuf
->written
;
2184 in_sr
= FLD (in_sr
);
2185 in_dr
= FLD (in_dr
);
2186 out_dr
= FLD (out_dr
);
2187 referenced
|= 1 << 0;
2188 referenced
|= 1 << 1;
2189 referenced
|= 1 << 2;
2190 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2197 model_m32r_d_subv (SIM_CPU
*current_cpu
, void *sem_arg
)
2199 #define FLD(f) abuf->fields.sfmt_add.f
2200 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2201 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2205 int UNUSED insn_referenced
= abuf
->written
;
2209 in_sr
= FLD (in_sr
);
2210 in_dr
= FLD (in_dr
);
2211 out_dr
= FLD (out_dr
);
2212 referenced
|= 1 << 0;
2213 referenced
|= 1 << 1;
2214 referenced
|= 1 << 2;
2215 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2222 model_m32r_d_subx (SIM_CPU
*current_cpu
, void *sem_arg
)
2224 #define FLD(f) abuf->fields.sfmt_add.f
2225 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2226 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2230 int UNUSED insn_referenced
= abuf
->written
;
2234 in_sr
= FLD (in_sr
);
2235 in_dr
= FLD (in_dr
);
2236 out_dr
= FLD (out_dr
);
2237 referenced
|= 1 << 0;
2238 referenced
|= 1 << 1;
2239 referenced
|= 1 << 2;
2240 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2247 model_m32r_d_trap (SIM_CPU
*current_cpu
, void *sem_arg
)
2249 #define FLD(f) abuf->fields.sfmt_trap.f
2250 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2251 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2255 int UNUSED insn_referenced
= abuf
->written
;
2259 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2266 model_m32r_d_unlock (SIM_CPU
*current_cpu
, void *sem_arg
)
2268 #define FLD(f) abuf->fields.sfmt_st_plus.f
2269 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2270 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2274 int UNUSED insn_referenced
= abuf
->written
;
2277 cycles
+= m32rbf_model_m32r_d_u_load (current_cpu
, idesc
, 0, referenced
, in_sr
, out_dr
);
2284 model_test_add (SIM_CPU
*current_cpu
, void *sem_arg
)
2286 #define FLD(f) abuf->fields.sfmt_add.f
2287 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2288 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2292 int UNUSED insn_referenced
= abuf
->written
;
2293 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2300 model_test_add3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2302 #define FLD(f) abuf->fields.sfmt_add3.f
2303 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2304 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2308 int UNUSED insn_referenced
= abuf
->written
;
2309 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2316 model_test_and (SIM_CPU
*current_cpu
, void *sem_arg
)
2318 #define FLD(f) abuf->fields.sfmt_add.f
2319 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2320 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2324 int UNUSED insn_referenced
= abuf
->written
;
2325 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2332 model_test_and3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2334 #define FLD(f) abuf->fields.sfmt_and3.f
2335 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2336 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2340 int UNUSED insn_referenced
= abuf
->written
;
2341 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2348 model_test_or (SIM_CPU
*current_cpu
, void *sem_arg
)
2350 #define FLD(f) abuf->fields.sfmt_add.f
2351 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2352 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2356 int UNUSED insn_referenced
= abuf
->written
;
2357 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2364 model_test_or3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2366 #define FLD(f) abuf->fields.sfmt_and3.f
2367 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2368 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2372 int UNUSED insn_referenced
= abuf
->written
;
2373 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2380 model_test_xor (SIM_CPU
*current_cpu
, void *sem_arg
)
2382 #define FLD(f) abuf->fields.sfmt_add.f
2383 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2384 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2388 int UNUSED insn_referenced
= abuf
->written
;
2389 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2396 model_test_xor3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2398 #define FLD(f) abuf->fields.sfmt_and3.f
2399 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2400 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2404 int UNUSED insn_referenced
= abuf
->written
;
2405 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2412 model_test_addi (SIM_CPU
*current_cpu
, void *sem_arg
)
2414 #define FLD(f) abuf->fields.sfmt_addi.f
2415 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2416 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2420 int UNUSED insn_referenced
= abuf
->written
;
2421 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2428 model_test_addv (SIM_CPU
*current_cpu
, void *sem_arg
)
2430 #define FLD(f) abuf->fields.sfmt_add.f
2431 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2432 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2436 int UNUSED insn_referenced
= abuf
->written
;
2437 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2444 model_test_addv3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2446 #define FLD(f) abuf->fields.sfmt_add3.f
2447 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2448 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2452 int UNUSED insn_referenced
= abuf
->written
;
2453 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2460 model_test_addx (SIM_CPU
*current_cpu
, void *sem_arg
)
2462 #define FLD(f) abuf->fields.sfmt_add.f
2463 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2464 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2468 int UNUSED insn_referenced
= abuf
->written
;
2469 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2476 model_test_bc8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2478 #define FLD(f) abuf->fields.sfmt_bl8.f
2479 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2480 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2484 int UNUSED insn_referenced
= abuf
->written
;
2485 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2492 model_test_bc24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2494 #define FLD(f) abuf->fields.sfmt_bl24.f
2495 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2496 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2500 int UNUSED insn_referenced
= abuf
->written
;
2501 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2508 model_test_beq (SIM_CPU
*current_cpu
, void *sem_arg
)
2510 #define FLD(f) abuf->fields.sfmt_beq.f
2511 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2512 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2516 int UNUSED insn_referenced
= abuf
->written
;
2517 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2524 model_test_beqz (SIM_CPU
*current_cpu
, void *sem_arg
)
2526 #define FLD(f) abuf->fields.sfmt_beq.f
2527 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2528 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2532 int UNUSED insn_referenced
= abuf
->written
;
2533 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2540 model_test_bgez (SIM_CPU
*current_cpu
, void *sem_arg
)
2542 #define FLD(f) abuf->fields.sfmt_beq.f
2543 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2544 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2548 int UNUSED insn_referenced
= abuf
->written
;
2549 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2556 model_test_bgtz (SIM_CPU
*current_cpu
, void *sem_arg
)
2558 #define FLD(f) abuf->fields.sfmt_beq.f
2559 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2560 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2564 int UNUSED insn_referenced
= abuf
->written
;
2565 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2572 model_test_blez (SIM_CPU
*current_cpu
, void *sem_arg
)
2574 #define FLD(f) abuf->fields.sfmt_beq.f
2575 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2576 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2580 int UNUSED insn_referenced
= abuf
->written
;
2581 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2588 model_test_bltz (SIM_CPU
*current_cpu
, void *sem_arg
)
2590 #define FLD(f) abuf->fields.sfmt_beq.f
2591 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2592 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2596 int UNUSED insn_referenced
= abuf
->written
;
2597 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2604 model_test_bnez (SIM_CPU
*current_cpu
, void *sem_arg
)
2606 #define FLD(f) abuf->fields.sfmt_beq.f
2607 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2608 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2612 int UNUSED insn_referenced
= abuf
->written
;
2613 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2620 model_test_bl8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2622 #define FLD(f) abuf->fields.sfmt_bl8.f
2623 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2624 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2628 int UNUSED insn_referenced
= abuf
->written
;
2629 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2636 model_test_bl24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2638 #define FLD(f) abuf->fields.sfmt_bl24.f
2639 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2640 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2644 int UNUSED insn_referenced
= abuf
->written
;
2645 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2652 model_test_bnc8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2654 #define FLD(f) abuf->fields.sfmt_bl8.f
2655 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2656 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2660 int UNUSED insn_referenced
= abuf
->written
;
2661 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2668 model_test_bnc24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2670 #define FLD(f) abuf->fields.sfmt_bl24.f
2671 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2672 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2676 int UNUSED insn_referenced
= abuf
->written
;
2677 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2684 model_test_bne (SIM_CPU
*current_cpu
, void *sem_arg
)
2686 #define FLD(f) abuf->fields.sfmt_beq.f
2687 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2688 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2692 int UNUSED insn_referenced
= abuf
->written
;
2693 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2700 model_test_bra8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2702 #define FLD(f) abuf->fields.sfmt_bl8.f
2703 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2704 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2708 int UNUSED insn_referenced
= abuf
->written
;
2709 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2716 model_test_bra24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2718 #define FLD(f) abuf->fields.sfmt_bl24.f
2719 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2720 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2724 int UNUSED insn_referenced
= abuf
->written
;
2725 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2732 model_test_cmp (SIM_CPU
*current_cpu
, void *sem_arg
)
2734 #define FLD(f) abuf->fields.sfmt_st_plus.f
2735 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2736 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2740 int UNUSED insn_referenced
= abuf
->written
;
2741 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2748 model_test_cmpi (SIM_CPU
*current_cpu
, void *sem_arg
)
2750 #define FLD(f) abuf->fields.sfmt_st_d.f
2751 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2752 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2756 int UNUSED insn_referenced
= abuf
->written
;
2757 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2764 model_test_cmpu (SIM_CPU
*current_cpu
, void *sem_arg
)
2766 #define FLD(f) abuf->fields.sfmt_st_plus.f
2767 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2768 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2772 int UNUSED insn_referenced
= abuf
->written
;
2773 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2780 model_test_cmpui (SIM_CPU
*current_cpu
, void *sem_arg
)
2782 #define FLD(f) abuf->fields.sfmt_st_d.f
2783 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2784 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2788 int UNUSED insn_referenced
= abuf
->written
;
2789 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2796 model_test_div (SIM_CPU
*current_cpu
, void *sem_arg
)
2798 #define FLD(f) abuf->fields.sfmt_add.f
2799 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2800 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2804 int UNUSED insn_referenced
= abuf
->written
;
2805 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2812 model_test_divu (SIM_CPU
*current_cpu
, void *sem_arg
)
2814 #define FLD(f) abuf->fields.sfmt_add.f
2815 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2816 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2820 int UNUSED insn_referenced
= abuf
->written
;
2821 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2828 model_test_rem (SIM_CPU
*current_cpu
, void *sem_arg
)
2830 #define FLD(f) abuf->fields.sfmt_add.f
2831 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2832 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2836 int UNUSED insn_referenced
= abuf
->written
;
2837 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2844 model_test_remu (SIM_CPU
*current_cpu
, void *sem_arg
)
2846 #define FLD(f) abuf->fields.sfmt_add.f
2847 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2848 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2852 int UNUSED insn_referenced
= abuf
->written
;
2853 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2860 model_test_jl (SIM_CPU
*current_cpu
, void *sem_arg
)
2862 #define FLD(f) abuf->fields.sfmt_jl.f
2863 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2864 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2868 int UNUSED insn_referenced
= abuf
->written
;
2869 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2876 model_test_jmp (SIM_CPU
*current_cpu
, void *sem_arg
)
2878 #define FLD(f) abuf->fields.sfmt_jl.f
2879 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2880 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2884 int UNUSED insn_referenced
= abuf
->written
;
2885 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2892 model_test_ld (SIM_CPU
*current_cpu
, void *sem_arg
)
2894 #define FLD(f) abuf->fields.sfmt_ld_plus.f
2895 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2896 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2900 int UNUSED insn_referenced
= abuf
->written
;
2901 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2908 model_test_ld_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2910 #define FLD(f) abuf->fields.sfmt_add3.f
2911 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2912 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2916 int UNUSED insn_referenced
= abuf
->written
;
2917 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2924 model_test_ldb (SIM_CPU
*current_cpu
, void *sem_arg
)
2926 #define FLD(f) abuf->fields.sfmt_ld_plus.f
2927 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2928 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2932 int UNUSED insn_referenced
= abuf
->written
;
2933 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2940 model_test_ldb_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2942 #define FLD(f) abuf->fields.sfmt_add3.f
2943 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2944 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2948 int UNUSED insn_referenced
= abuf
->written
;
2949 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2956 model_test_ldh (SIM_CPU
*current_cpu
, void *sem_arg
)
2958 #define FLD(f) abuf->fields.sfmt_ld_plus.f
2959 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2960 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2964 int UNUSED insn_referenced
= abuf
->written
;
2965 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2972 model_test_ldh_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2974 #define FLD(f) abuf->fields.sfmt_add3.f
2975 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2976 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2980 int UNUSED insn_referenced
= abuf
->written
;
2981 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2988 model_test_ldub (SIM_CPU
*current_cpu
, void *sem_arg
)
2990 #define FLD(f) abuf->fields.sfmt_ld_plus.f
2991 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2992 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2996 int UNUSED insn_referenced
= abuf
->written
;
2997 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3004 model_test_ldub_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3006 #define FLD(f) abuf->fields.sfmt_add3.f
3007 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3008 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3012 int UNUSED insn_referenced
= abuf
->written
;
3013 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3020 model_test_lduh (SIM_CPU
*current_cpu
, void *sem_arg
)
3022 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3023 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3024 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3028 int UNUSED insn_referenced
= abuf
->written
;
3029 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3036 model_test_lduh_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3038 #define FLD(f) abuf->fields.sfmt_add3.f
3039 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3040 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3044 int UNUSED insn_referenced
= abuf
->written
;
3045 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3052 model_test_ld_plus (SIM_CPU
*current_cpu
, void *sem_arg
)
3054 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3055 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3056 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3060 int UNUSED insn_referenced
= abuf
->written
;
3061 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3068 model_test_ld24 (SIM_CPU
*current_cpu
, void *sem_arg
)
3070 #define FLD(f) abuf->fields.sfmt_ld24.f
3071 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3072 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3076 int UNUSED insn_referenced
= abuf
->written
;
3077 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3084 model_test_ldi8 (SIM_CPU
*current_cpu
, void *sem_arg
)
3086 #define FLD(f) abuf->fields.sfmt_addi.f
3087 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3088 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3092 int UNUSED insn_referenced
= abuf
->written
;
3093 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3100 model_test_ldi16 (SIM_CPU
*current_cpu
, void *sem_arg
)
3102 #define FLD(f) abuf->fields.sfmt_add3.f
3103 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3104 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3108 int UNUSED insn_referenced
= abuf
->written
;
3109 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3116 model_test_lock (SIM_CPU
*current_cpu
, void *sem_arg
)
3118 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3119 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3120 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3124 int UNUSED insn_referenced
= abuf
->written
;
3125 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3132 model_test_machi (SIM_CPU
*current_cpu
, void *sem_arg
)
3134 #define FLD(f) abuf->fields.sfmt_st_plus.f
3135 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3136 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3140 int UNUSED insn_referenced
= abuf
->written
;
3141 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3148 model_test_maclo (SIM_CPU
*current_cpu
, void *sem_arg
)
3150 #define FLD(f) abuf->fields.sfmt_st_plus.f
3151 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3152 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3156 int UNUSED insn_referenced
= abuf
->written
;
3157 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3164 model_test_macwhi (SIM_CPU
*current_cpu
, void *sem_arg
)
3166 #define FLD(f) abuf->fields.sfmt_st_plus.f
3167 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3168 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3172 int UNUSED insn_referenced
= abuf
->written
;
3173 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3180 model_test_macwlo (SIM_CPU
*current_cpu
, void *sem_arg
)
3182 #define FLD(f) abuf->fields.sfmt_st_plus.f
3183 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3184 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3188 int UNUSED insn_referenced
= abuf
->written
;
3189 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3196 model_test_mul (SIM_CPU
*current_cpu
, void *sem_arg
)
3198 #define FLD(f) abuf->fields.sfmt_add.f
3199 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3200 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3204 int UNUSED insn_referenced
= abuf
->written
;
3205 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3212 model_test_mulhi (SIM_CPU
*current_cpu
, void *sem_arg
)
3214 #define FLD(f) abuf->fields.sfmt_st_plus.f
3215 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3216 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3220 int UNUSED insn_referenced
= abuf
->written
;
3221 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3228 model_test_mullo (SIM_CPU
*current_cpu
, void *sem_arg
)
3230 #define FLD(f) abuf->fields.sfmt_st_plus.f
3231 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3232 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3236 int UNUSED insn_referenced
= abuf
->written
;
3237 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3244 model_test_mulwhi (SIM_CPU
*current_cpu
, void *sem_arg
)
3246 #define FLD(f) abuf->fields.sfmt_st_plus.f
3247 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3248 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3252 int UNUSED insn_referenced
= abuf
->written
;
3253 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3260 model_test_mulwlo (SIM_CPU
*current_cpu
, void *sem_arg
)
3262 #define FLD(f) abuf->fields.sfmt_st_plus.f
3263 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3264 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3268 int UNUSED insn_referenced
= abuf
->written
;
3269 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3276 model_test_mv (SIM_CPU
*current_cpu
, void *sem_arg
)
3278 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3279 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3280 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3284 int UNUSED insn_referenced
= abuf
->written
;
3285 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3292 model_test_mvfachi (SIM_CPU
*current_cpu
, void *sem_arg
)
3294 #define FLD(f) abuf->fields.sfmt_seth.f
3295 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3296 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3300 int UNUSED insn_referenced
= abuf
->written
;
3301 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3308 model_test_mvfaclo (SIM_CPU
*current_cpu
, void *sem_arg
)
3310 #define FLD(f) abuf->fields.sfmt_seth.f
3311 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3312 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3316 int UNUSED insn_referenced
= abuf
->written
;
3317 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3324 model_test_mvfacmi (SIM_CPU
*current_cpu
, void *sem_arg
)
3326 #define FLD(f) abuf->fields.sfmt_seth.f
3327 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3328 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3332 int UNUSED insn_referenced
= abuf
->written
;
3333 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3340 model_test_mvfc (SIM_CPU
*current_cpu
, void *sem_arg
)
3342 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3343 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3344 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3348 int UNUSED insn_referenced
= abuf
->written
;
3349 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3356 model_test_mvtachi (SIM_CPU
*current_cpu
, void *sem_arg
)
3358 #define FLD(f) abuf->fields.sfmt_st_plus.f
3359 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3360 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3364 int UNUSED insn_referenced
= abuf
->written
;
3365 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3372 model_test_mvtaclo (SIM_CPU
*current_cpu
, void *sem_arg
)
3374 #define FLD(f) abuf->fields.sfmt_st_plus.f
3375 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3376 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3380 int UNUSED insn_referenced
= abuf
->written
;
3381 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3388 model_test_mvtc (SIM_CPU
*current_cpu
, void *sem_arg
)
3390 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3391 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3392 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3396 int UNUSED insn_referenced
= abuf
->written
;
3397 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3404 model_test_neg (SIM_CPU
*current_cpu
, void *sem_arg
)
3406 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3407 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3408 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3412 int UNUSED insn_referenced
= abuf
->written
;
3413 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3420 model_test_nop (SIM_CPU
*current_cpu
, void *sem_arg
)
3422 #define FLD(f) abuf->fields.fmt_empty.f
3423 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3424 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3428 int UNUSED insn_referenced
= abuf
->written
;
3429 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3436 model_test_not (SIM_CPU
*current_cpu
, void *sem_arg
)
3438 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3439 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3440 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3444 int UNUSED insn_referenced
= abuf
->written
;
3445 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3452 model_test_rac (SIM_CPU
*current_cpu
, void *sem_arg
)
3454 #define FLD(f) abuf->fields.fmt_empty.f
3455 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3456 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3460 int UNUSED insn_referenced
= abuf
->written
;
3461 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3468 model_test_rach (SIM_CPU
*current_cpu
, void *sem_arg
)
3470 #define FLD(f) abuf->fields.fmt_empty.f
3471 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3472 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3476 int UNUSED insn_referenced
= abuf
->written
;
3477 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3484 model_test_rte (SIM_CPU
*current_cpu
, void *sem_arg
)
3486 #define FLD(f) abuf->fields.fmt_empty.f
3487 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3488 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3492 int UNUSED insn_referenced
= abuf
->written
;
3493 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3500 model_test_seth (SIM_CPU
*current_cpu
, void *sem_arg
)
3502 #define FLD(f) abuf->fields.sfmt_seth.f
3503 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3504 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3508 int UNUSED insn_referenced
= abuf
->written
;
3509 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3516 model_test_sll (SIM_CPU
*current_cpu
, void *sem_arg
)
3518 #define FLD(f) abuf->fields.sfmt_add.f
3519 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3520 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3524 int UNUSED insn_referenced
= abuf
->written
;
3525 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3532 model_test_sll3 (SIM_CPU
*current_cpu
, void *sem_arg
)
3534 #define FLD(f) abuf->fields.sfmt_add3.f
3535 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3536 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3540 int UNUSED insn_referenced
= abuf
->written
;
3541 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3548 model_test_slli (SIM_CPU
*current_cpu
, void *sem_arg
)
3550 #define FLD(f) abuf->fields.sfmt_slli.f
3551 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3552 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3556 int UNUSED insn_referenced
= abuf
->written
;
3557 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3564 model_test_sra (SIM_CPU
*current_cpu
, void *sem_arg
)
3566 #define FLD(f) abuf->fields.sfmt_add.f
3567 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3568 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3572 int UNUSED insn_referenced
= abuf
->written
;
3573 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3580 model_test_sra3 (SIM_CPU
*current_cpu
, void *sem_arg
)
3582 #define FLD(f) abuf->fields.sfmt_add3.f
3583 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3584 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3588 int UNUSED insn_referenced
= abuf
->written
;
3589 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3596 model_test_srai (SIM_CPU
*current_cpu
, void *sem_arg
)
3598 #define FLD(f) abuf->fields.sfmt_slli.f
3599 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3600 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3604 int UNUSED insn_referenced
= abuf
->written
;
3605 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3612 model_test_srl (SIM_CPU
*current_cpu
, void *sem_arg
)
3614 #define FLD(f) abuf->fields.sfmt_add.f
3615 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3616 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3620 int UNUSED insn_referenced
= abuf
->written
;
3621 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3628 model_test_srl3 (SIM_CPU
*current_cpu
, void *sem_arg
)
3630 #define FLD(f) abuf->fields.sfmt_add3.f
3631 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3632 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3636 int UNUSED insn_referenced
= abuf
->written
;
3637 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3644 model_test_srli (SIM_CPU
*current_cpu
, void *sem_arg
)
3646 #define FLD(f) abuf->fields.sfmt_slli.f
3647 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3648 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3652 int UNUSED insn_referenced
= abuf
->written
;
3653 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3660 model_test_st (SIM_CPU
*current_cpu
, void *sem_arg
)
3662 #define FLD(f) abuf->fields.sfmt_st_plus.f
3663 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3664 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3668 int UNUSED insn_referenced
= abuf
->written
;
3669 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3676 model_test_st_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3678 #define FLD(f) abuf->fields.sfmt_st_d.f
3679 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3680 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3684 int UNUSED insn_referenced
= abuf
->written
;
3685 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3692 model_test_stb (SIM_CPU
*current_cpu
, void *sem_arg
)
3694 #define FLD(f) abuf->fields.sfmt_st_plus.f
3695 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3696 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3700 int UNUSED insn_referenced
= abuf
->written
;
3701 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3708 model_test_stb_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3710 #define FLD(f) abuf->fields.sfmt_st_d.f
3711 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3712 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3716 int UNUSED insn_referenced
= abuf
->written
;
3717 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3724 model_test_sth (SIM_CPU
*current_cpu
, void *sem_arg
)
3726 #define FLD(f) abuf->fields.sfmt_st_plus.f
3727 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3728 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3732 int UNUSED insn_referenced
= abuf
->written
;
3733 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3740 model_test_sth_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3742 #define FLD(f) abuf->fields.sfmt_st_d.f
3743 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3744 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3748 int UNUSED insn_referenced
= abuf
->written
;
3749 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3756 model_test_st_plus (SIM_CPU
*current_cpu
, void *sem_arg
)
3758 #define FLD(f) abuf->fields.sfmt_st_plus.f
3759 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3760 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3764 int UNUSED insn_referenced
= abuf
->written
;
3765 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3772 model_test_st_minus (SIM_CPU
*current_cpu
, void *sem_arg
)
3774 #define FLD(f) abuf->fields.sfmt_st_plus.f
3775 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3776 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3780 int UNUSED insn_referenced
= abuf
->written
;
3781 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3788 model_test_sub (SIM_CPU
*current_cpu
, void *sem_arg
)
3790 #define FLD(f) abuf->fields.sfmt_add.f
3791 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3792 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3796 int UNUSED insn_referenced
= abuf
->written
;
3797 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3804 model_test_subv (SIM_CPU
*current_cpu
, void *sem_arg
)
3806 #define FLD(f) abuf->fields.sfmt_add.f
3807 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3808 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3812 int UNUSED insn_referenced
= abuf
->written
;
3813 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3820 model_test_subx (SIM_CPU
*current_cpu
, void *sem_arg
)
3822 #define FLD(f) abuf->fields.sfmt_add.f
3823 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3824 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3828 int UNUSED insn_referenced
= abuf
->written
;
3829 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3836 model_test_trap (SIM_CPU
*current_cpu
, void *sem_arg
)
3838 #define FLD(f) abuf->fields.sfmt_trap.f
3839 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3840 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3844 int UNUSED insn_referenced
= abuf
->written
;
3845 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3852 model_test_unlock (SIM_CPU
*current_cpu
, void *sem_arg
)
3854 #define FLD(f) abuf->fields.sfmt_st_plus.f
3855 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3856 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3860 int UNUSED insn_referenced
= abuf
->written
;
3861 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3867 /* We assume UNIT_NONE == 0 because the tables don't always terminate
3870 /* Model timing data for `m32r/d'. */
3872 static const INSN_TIMING m32r_d_timing
[] = {
3873 { M32RBF_INSN_X_INVALID
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3874 { M32RBF_INSN_X_AFTER
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3875 { M32RBF_INSN_X_BEFORE
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3876 { M32RBF_INSN_X_CTI_CHAIN
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3877 { M32RBF_INSN_X_CHAIN
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3878 { M32RBF_INSN_X_BEGIN
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3879 { M32RBF_INSN_ADD
, model_m32r_d_add
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3880 { M32RBF_INSN_ADD3
, model_m32r_d_add3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3881 { M32RBF_INSN_AND
, model_m32r_d_and
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3882 { M32RBF_INSN_AND3
, model_m32r_d_and3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3883 { M32RBF_INSN_OR
, model_m32r_d_or
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3884 { M32RBF_INSN_OR3
, model_m32r_d_or3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3885 { M32RBF_INSN_XOR
, model_m32r_d_xor
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3886 { M32RBF_INSN_XOR3
, model_m32r_d_xor3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3887 { M32RBF_INSN_ADDI
, model_m32r_d_addi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3888 { M32RBF_INSN_ADDV
, model_m32r_d_addv
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3889 { M32RBF_INSN_ADDV3
, model_m32r_d_addv3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3890 { M32RBF_INSN_ADDX
, model_m32r_d_addx
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3891 { M32RBF_INSN_BC8
, model_m32r_d_bc8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
3892 { M32RBF_INSN_BC24
, model_m32r_d_bc24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
3893 { M32RBF_INSN_BEQ
, model_m32r_d_beq
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
3894 { M32RBF_INSN_BEQZ
, model_m32r_d_beqz
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
3895 { M32RBF_INSN_BGEZ
, model_m32r_d_bgez
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
3896 { M32RBF_INSN_BGTZ
, model_m32r_d_bgtz
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
3897 { M32RBF_INSN_BLEZ
, model_m32r_d_blez
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
3898 { M32RBF_INSN_BLTZ
, model_m32r_d_bltz
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
3899 { M32RBF_INSN_BNEZ
, model_m32r_d_bnez
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
3900 { M32RBF_INSN_BL8
, model_m32r_d_bl8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
3901 { M32RBF_INSN_BL24
, model_m32r_d_bl24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
3902 { M32RBF_INSN_BNC8
, model_m32r_d_bnc8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
3903 { M32RBF_INSN_BNC24
, model_m32r_d_bnc24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
3904 { M32RBF_INSN_BNE
, model_m32r_d_bne
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
3905 { M32RBF_INSN_BRA8
, model_m32r_d_bra8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
3906 { M32RBF_INSN_BRA24
, model_m32r_d_bra24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
3907 { M32RBF_INSN_CMP
, model_m32r_d_cmp
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
3908 { M32RBF_INSN_CMPI
, model_m32r_d_cmpi
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
3909 { M32RBF_INSN_CMPU
, model_m32r_d_cmpu
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
3910 { M32RBF_INSN_CMPUI
, model_m32r_d_cmpui
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
3911 { M32RBF_INSN_DIV
, model_m32r_d_div
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
3912 { M32RBF_INSN_DIVU
, model_m32r_d_divu
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
3913 { M32RBF_INSN_REM
, model_m32r_d_rem
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
3914 { M32RBF_INSN_REMU
, model_m32r_d_remu
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
3915 { M32RBF_INSN_JL
, model_m32r_d_jl
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
3916 { M32RBF_INSN_JMP
, model_m32r_d_jmp
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
3917 { M32RBF_INSN_LD
, model_m32r_d_ld
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
3918 { M32RBF_INSN_LD_D
, model_m32r_d_ld_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
3919 { M32RBF_INSN_LDB
, model_m32r_d_ldb
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
3920 { M32RBF_INSN_LDB_D
, model_m32r_d_ldb_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
3921 { M32RBF_INSN_LDH
, model_m32r_d_ldh
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
3922 { M32RBF_INSN_LDH_D
, model_m32r_d_ldh_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
3923 { M32RBF_INSN_LDUB
, model_m32r_d_ldub
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
3924 { M32RBF_INSN_LDUB_D
, model_m32r_d_ldub_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
3925 { M32RBF_INSN_LDUH
, model_m32r_d_lduh
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
3926 { M32RBF_INSN_LDUH_D
, model_m32r_d_lduh_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
3927 { 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 } } },
3928 { M32RBF_INSN_LD24
, model_m32r_d_ld24
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3929 { M32RBF_INSN_LDI8
, model_m32r_d_ldi8
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3930 { M32RBF_INSN_LDI16
, model_m32r_d_ldi16
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3931 { M32RBF_INSN_LOCK
, model_m32r_d_lock
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
3932 { M32RBF_INSN_MACHI
, model_m32r_d_machi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
3933 { M32RBF_INSN_MACLO
, model_m32r_d_maclo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
3934 { M32RBF_INSN_MACWHI
, model_m32r_d_macwhi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
3935 { M32RBF_INSN_MACWLO
, model_m32r_d_macwlo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
3936 { M32RBF_INSN_MUL
, model_m32r_d_mul
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 4 } } },
3937 { M32RBF_INSN_MULHI
, model_m32r_d_mulhi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
3938 { M32RBF_INSN_MULLO
, model_m32r_d_mullo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
3939 { M32RBF_INSN_MULWHI
, model_m32r_d_mulwhi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
3940 { M32RBF_INSN_MULWLO
, model_m32r_d_mulwlo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
3941 { M32RBF_INSN_MV
, model_m32r_d_mv
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3942 { M32RBF_INSN_MVFACHI
, model_m32r_d_mvfachi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 2 } } },
3943 { M32RBF_INSN_MVFACLO
, model_m32r_d_mvfaclo
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 2 } } },
3944 { M32RBF_INSN_MVFACMI
, model_m32r_d_mvfacmi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 2 } } },
3945 { M32RBF_INSN_MVFC
, model_m32r_d_mvfc
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3946 { M32RBF_INSN_MVTACHI
, model_m32r_d_mvtachi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3947 { M32RBF_INSN_MVTACLO
, model_m32r_d_mvtaclo
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3948 { M32RBF_INSN_MVTC
, model_m32r_d_mvtc
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3949 { M32RBF_INSN_NEG
, model_m32r_d_neg
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3950 { M32RBF_INSN_NOP
, model_m32r_d_nop
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 0 } } },
3951 { M32RBF_INSN_NOT
, model_m32r_d_not
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3952 { M32RBF_INSN_RAC
, model_m32r_d_rac
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
3953 { M32RBF_INSN_RACH
, model_m32r_d_rach
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
3954 { M32RBF_INSN_RTE
, model_m32r_d_rte
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3955 { M32RBF_INSN_SETH
, model_m32r_d_seth
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3956 { M32RBF_INSN_SLL
, model_m32r_d_sll
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3957 { M32RBF_INSN_SLL3
, model_m32r_d_sll3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3958 { M32RBF_INSN_SLLI
, model_m32r_d_slli
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3959 { M32RBF_INSN_SRA
, model_m32r_d_sra
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3960 { M32RBF_INSN_SRA3
, model_m32r_d_sra3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3961 { M32RBF_INSN_SRAI
, model_m32r_d_srai
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3962 { M32RBF_INSN_SRL
, model_m32r_d_srl
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3963 { M32RBF_INSN_SRL3
, model_m32r_d_srl3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3964 { M32RBF_INSN_SRLI
, model_m32r_d_srli
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3965 { M32RBF_INSN_ST
, model_m32r_d_st
, { { (int) UNIT_M32R_D_U_STORE
, 1, 1 } } },
3966 { M32RBF_INSN_ST_D
, model_m32r_d_st_d
, { { (int) UNIT_M32R_D_U_STORE
, 1, 2 } } },
3967 { M32RBF_INSN_STB
, model_m32r_d_stb
, { { (int) UNIT_M32R_D_U_STORE
, 1, 1 } } },
3968 { M32RBF_INSN_STB_D
, model_m32r_d_stb_d
, { { (int) UNIT_M32R_D_U_STORE
, 1, 2 } } },
3969 { M32RBF_INSN_STH
, model_m32r_d_sth
, { { (int) UNIT_M32R_D_U_STORE
, 1, 1 } } },
3970 { M32RBF_INSN_STH_D
, model_m32r_d_sth_d
, { { (int) UNIT_M32R_D_U_STORE
, 1, 2 } } },
3971 { 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 } } },
3972 { 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 } } },
3973 { M32RBF_INSN_SUB
, model_m32r_d_sub
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3974 { M32RBF_INSN_SUBV
, model_m32r_d_subv
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3975 { M32RBF_INSN_SUBX
, model_m32r_d_subx
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3976 { M32RBF_INSN_TRAP
, model_m32r_d_trap
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
3977 { M32RBF_INSN_UNLOCK
, model_m32r_d_unlock
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
3980 /* Model timing data for `test'. */
3982 static const INSN_TIMING test_timing
[] = {
3983 { M32RBF_INSN_X_INVALID
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3984 { M32RBF_INSN_X_AFTER
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3985 { M32RBF_INSN_X_BEFORE
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3986 { M32RBF_INSN_X_CTI_CHAIN
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3987 { M32RBF_INSN_X_CHAIN
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3988 { M32RBF_INSN_X_BEGIN
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3989 { M32RBF_INSN_ADD
, model_test_add
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3990 { M32RBF_INSN_ADD3
, model_test_add3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3991 { M32RBF_INSN_AND
, model_test_and
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3992 { M32RBF_INSN_AND3
, model_test_and3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3993 { M32RBF_INSN_OR
, model_test_or
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3994 { M32RBF_INSN_OR3
, model_test_or3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3995 { M32RBF_INSN_XOR
, model_test_xor
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3996 { M32RBF_INSN_XOR3
, model_test_xor3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3997 { M32RBF_INSN_ADDI
, model_test_addi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3998 { M32RBF_INSN_ADDV
, model_test_addv
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
3999 { M32RBF_INSN_ADDV3
, model_test_addv3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4000 { M32RBF_INSN_ADDX
, model_test_addx
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4001 { M32RBF_INSN_BC8
, model_test_bc8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4002 { M32RBF_INSN_BC24
, model_test_bc24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4003 { M32RBF_INSN_BEQ
, model_test_beq
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4004 { M32RBF_INSN_BEQZ
, model_test_beqz
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4005 { M32RBF_INSN_BGEZ
, model_test_bgez
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4006 { M32RBF_INSN_BGTZ
, model_test_bgtz
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4007 { M32RBF_INSN_BLEZ
, model_test_blez
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4008 { M32RBF_INSN_BLTZ
, model_test_bltz
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4009 { M32RBF_INSN_BNEZ
, model_test_bnez
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4010 { M32RBF_INSN_BL8
, model_test_bl8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4011 { M32RBF_INSN_BL24
, model_test_bl24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4012 { M32RBF_INSN_BNC8
, model_test_bnc8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4013 { M32RBF_INSN_BNC24
, model_test_bnc24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4014 { M32RBF_INSN_BNE
, model_test_bne
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4015 { M32RBF_INSN_BRA8
, model_test_bra8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4016 { M32RBF_INSN_BRA24
, model_test_bra24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4017 { M32RBF_INSN_CMP
, model_test_cmp
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4018 { M32RBF_INSN_CMPI
, model_test_cmpi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4019 { M32RBF_INSN_CMPU
, model_test_cmpu
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4020 { M32RBF_INSN_CMPUI
, model_test_cmpui
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4021 { M32RBF_INSN_DIV
, model_test_div
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4022 { M32RBF_INSN_DIVU
, model_test_divu
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4023 { M32RBF_INSN_REM
, model_test_rem
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4024 { M32RBF_INSN_REMU
, model_test_remu
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4025 { M32RBF_INSN_JL
, model_test_jl
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4026 { M32RBF_INSN_JMP
, model_test_jmp
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4027 { M32RBF_INSN_LD
, model_test_ld
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4028 { M32RBF_INSN_LD_D
, model_test_ld_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4029 { M32RBF_INSN_LDB
, model_test_ldb
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4030 { M32RBF_INSN_LDB_D
, model_test_ldb_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4031 { M32RBF_INSN_LDH
, model_test_ldh
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4032 { M32RBF_INSN_LDH_D
, model_test_ldh_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4033 { M32RBF_INSN_LDUB
, model_test_ldub
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4034 { M32RBF_INSN_LDUB_D
, model_test_ldub_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4035 { M32RBF_INSN_LDUH
, model_test_lduh
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4036 { M32RBF_INSN_LDUH_D
, model_test_lduh_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4037 { M32RBF_INSN_LD_PLUS
, model_test_ld_plus
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4038 { M32RBF_INSN_LD24
, model_test_ld24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4039 { M32RBF_INSN_LDI8
, model_test_ldi8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4040 { M32RBF_INSN_LDI16
, model_test_ldi16
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4041 { M32RBF_INSN_LOCK
, model_test_lock
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4042 { M32RBF_INSN_MACHI
, model_test_machi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4043 { M32RBF_INSN_MACLO
, model_test_maclo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4044 { M32RBF_INSN_MACWHI
, model_test_macwhi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4045 { M32RBF_INSN_MACWLO
, model_test_macwlo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4046 { M32RBF_INSN_MUL
, model_test_mul
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4047 { M32RBF_INSN_MULHI
, model_test_mulhi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4048 { M32RBF_INSN_MULLO
, model_test_mullo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4049 { M32RBF_INSN_MULWHI
, model_test_mulwhi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4050 { M32RBF_INSN_MULWLO
, model_test_mulwlo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4051 { M32RBF_INSN_MV
, model_test_mv
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4052 { M32RBF_INSN_MVFACHI
, model_test_mvfachi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4053 { M32RBF_INSN_MVFACLO
, model_test_mvfaclo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4054 { M32RBF_INSN_MVFACMI
, model_test_mvfacmi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4055 { M32RBF_INSN_MVFC
, model_test_mvfc
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4056 { M32RBF_INSN_MVTACHI
, model_test_mvtachi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4057 { M32RBF_INSN_MVTACLO
, model_test_mvtaclo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4058 { M32RBF_INSN_MVTC
, model_test_mvtc
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4059 { M32RBF_INSN_NEG
, model_test_neg
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4060 { M32RBF_INSN_NOP
, model_test_nop
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4061 { M32RBF_INSN_NOT
, model_test_not
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4062 { M32RBF_INSN_RAC
, model_test_rac
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4063 { M32RBF_INSN_RACH
, model_test_rach
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4064 { M32RBF_INSN_RTE
, model_test_rte
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4065 { M32RBF_INSN_SETH
, model_test_seth
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4066 { M32RBF_INSN_SLL
, model_test_sll
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4067 { M32RBF_INSN_SLL3
, model_test_sll3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4068 { M32RBF_INSN_SLLI
, model_test_slli
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4069 { M32RBF_INSN_SRA
, model_test_sra
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4070 { M32RBF_INSN_SRA3
, model_test_sra3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4071 { M32RBF_INSN_SRAI
, model_test_srai
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4072 { M32RBF_INSN_SRL
, model_test_srl
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4073 { M32RBF_INSN_SRL3
, model_test_srl3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4074 { M32RBF_INSN_SRLI
, model_test_srli
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4075 { M32RBF_INSN_ST
, model_test_st
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4076 { M32RBF_INSN_ST_D
, model_test_st_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4077 { M32RBF_INSN_STB
, model_test_stb
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4078 { M32RBF_INSN_STB_D
, model_test_stb_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4079 { M32RBF_INSN_STH
, model_test_sth
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4080 { M32RBF_INSN_STH_D
, model_test_sth_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4081 { M32RBF_INSN_ST_PLUS
, model_test_st_plus
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4082 { M32RBF_INSN_ST_MINUS
, model_test_st_minus
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4083 { M32RBF_INSN_SUB
, model_test_sub
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4084 { M32RBF_INSN_SUBV
, model_test_subv
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4085 { M32RBF_INSN_SUBX
, model_test_subx
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4086 { M32RBF_INSN_TRAP
, model_test_trap
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4087 { M32RBF_INSN_UNLOCK
, model_test_unlock
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4090 #endif /* WITH_PROFILE_MODEL_P */
4093 m32r_d_model_init (SIM_CPU
*cpu
)
4095 CPU_MODEL_DATA (cpu
) = (void *) zalloc (sizeof (MODEL_M32R_D_DATA
));
4099 test_model_init (SIM_CPU
*cpu
)
4101 CPU_MODEL_DATA (cpu
) = (void *) zalloc (sizeof (MODEL_TEST_DATA
));
4104 #if WITH_PROFILE_MODEL_P
4105 #define TIMING_DATA(td) td
4107 #define TIMING_DATA(td) 0
4110 static const MODEL m32r_models
[] =
4112 { "m32r/d", & m32r_mach
, MODEL_M32R_D
, TIMING_DATA (& m32r_d_timing
[0]), m32r_d_model_init
},
4113 { "test", & m32r_mach
, MODEL_TEST
, TIMING_DATA (& test_timing
[0]), test_model_init
},
4117 /* The properties of this cpu's implementation. */
4119 static const MACH_IMP_PROPERTIES m32rbf_imp_properties
=
4131 m32rbf_prepare_run (SIM_CPU
*cpu
)
4133 if (CPU_IDESC (cpu
) == NULL
)
4134 m32rbf_init_idesc_table (cpu
);
4137 static const CGEN_INSN
*
4138 m32rbf_get_idata (SIM_CPU
*cpu
, int inum
)
4140 return CPU_IDESC (cpu
) [inum
].idata
;
4144 m32r_init_cpu (SIM_CPU
*cpu
)
4146 CPU_REG_FETCH (cpu
) = m32rbf_fetch_register
;
4147 CPU_REG_STORE (cpu
) = m32rbf_store_register
;
4148 CPU_PC_FETCH (cpu
) = m32rbf_h_pc_get
;
4149 CPU_PC_STORE (cpu
) = m32rbf_h_pc_set
;
4150 CPU_GET_IDATA (cpu
) = m32rbf_get_idata
;
4151 CPU_MAX_INSNS (cpu
) = M32RBF_INSN__MAX
;
4152 CPU_INSN_NAME (cpu
) = cgen_insn_name
;
4153 CPU_FULL_ENGINE_FN (cpu
) = m32rbf_engine_run_full
;
4155 CPU_FAST_ENGINE_FN (cpu
) = m32rbf_engine_run_fast
;
4157 CPU_FAST_ENGINE_FN (cpu
) = m32rbf_engine_run_full
;
4161 const MACH m32r_mach
=
4163 "m32r", "m32r", MACH_M32R
,
4164 32, 32, & m32r_models
[0], & m32rbf_imp_properties
,