1 /* Simulator model support for m32rbf.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 1996-2024 Free Software Foundation, Inc.
7 This file is part of the GNU simulators.
9 This file is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, write to the Free Software Foundation, Inc.,
21 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, 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.sfmt_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.sfmt_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.sfmt_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.sfmt_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_m32r_d_clrpsw (SIM_CPU
*current_cpu
, void *sem_arg
)
2286 #define FLD(f) abuf->fields.sfmt_clrpsw.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
;
2296 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2303 model_m32r_d_setpsw (SIM_CPU
*current_cpu
, void *sem_arg
)
2305 #define FLD(f) abuf->fields.sfmt_clrpsw.f
2306 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2307 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2311 int UNUSED insn_referenced
= abuf
->written
;
2315 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2322 model_m32r_d_bset (SIM_CPU
*current_cpu
, void *sem_arg
)
2324 #define FLD(f) abuf->fields.sfmt_bset.f
2325 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2326 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2330 int UNUSED insn_referenced
= abuf
->written
;
2334 in_sr
= FLD (in_sr
);
2335 referenced
|= 1 << 0;
2336 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2343 model_m32r_d_bclr (SIM_CPU
*current_cpu
, void *sem_arg
)
2345 #define FLD(f) abuf->fields.sfmt_bset.f
2346 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2347 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2351 int UNUSED insn_referenced
= abuf
->written
;
2355 in_sr
= FLD (in_sr
);
2356 referenced
|= 1 << 0;
2357 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2364 model_m32r_d_btst (SIM_CPU
*current_cpu
, void *sem_arg
)
2366 #define FLD(f) abuf->fields.sfmt_bset.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
;
2376 in_sr
= FLD (in_sr
);
2377 referenced
|= 1 << 0;
2378 cycles
+= m32rbf_model_m32r_d_u_exec (current_cpu
, idesc
, 0, referenced
, in_sr
, in_dr
, out_dr
);
2385 model_test_add (SIM_CPU
*current_cpu
, void *sem_arg
)
2387 #define FLD(f) abuf->fields.sfmt_add.f
2388 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2389 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2393 int UNUSED insn_referenced
= abuf
->written
;
2394 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2401 model_test_add3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2403 #define FLD(f) abuf->fields.sfmt_add3.f
2404 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2405 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2409 int UNUSED insn_referenced
= abuf
->written
;
2410 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2417 model_test_and (SIM_CPU
*current_cpu
, void *sem_arg
)
2419 #define FLD(f) abuf->fields.sfmt_add.f
2420 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2421 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2425 int UNUSED insn_referenced
= abuf
->written
;
2426 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2433 model_test_and3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2435 #define FLD(f) abuf->fields.sfmt_and3.f
2436 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2437 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2441 int UNUSED insn_referenced
= abuf
->written
;
2442 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2449 model_test_or (SIM_CPU
*current_cpu
, void *sem_arg
)
2451 #define FLD(f) abuf->fields.sfmt_add.f
2452 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2453 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2457 int UNUSED insn_referenced
= abuf
->written
;
2458 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2465 model_test_or3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2467 #define FLD(f) abuf->fields.sfmt_and3.f
2468 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2469 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2473 int UNUSED insn_referenced
= abuf
->written
;
2474 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2481 model_test_xor (SIM_CPU
*current_cpu
, void *sem_arg
)
2483 #define FLD(f) abuf->fields.sfmt_add.f
2484 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2485 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2489 int UNUSED insn_referenced
= abuf
->written
;
2490 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2497 model_test_xor3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2499 #define FLD(f) abuf->fields.sfmt_and3.f
2500 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2501 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2505 int UNUSED insn_referenced
= abuf
->written
;
2506 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2513 model_test_addi (SIM_CPU
*current_cpu
, void *sem_arg
)
2515 #define FLD(f) abuf->fields.sfmt_addi.f
2516 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2517 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2521 int UNUSED insn_referenced
= abuf
->written
;
2522 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2529 model_test_addv (SIM_CPU
*current_cpu
, void *sem_arg
)
2531 #define FLD(f) abuf->fields.sfmt_add.f
2532 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2533 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2537 int UNUSED insn_referenced
= abuf
->written
;
2538 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2545 model_test_addv3 (SIM_CPU
*current_cpu
, void *sem_arg
)
2547 #define FLD(f) abuf->fields.sfmt_add3.f
2548 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2549 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2553 int UNUSED insn_referenced
= abuf
->written
;
2554 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2561 model_test_addx (SIM_CPU
*current_cpu
, void *sem_arg
)
2563 #define FLD(f) abuf->fields.sfmt_add.f
2564 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2565 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2569 int UNUSED insn_referenced
= abuf
->written
;
2570 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2577 model_test_bc8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2579 #define FLD(f) abuf->fields.sfmt_bl8.f
2580 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2581 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2585 int UNUSED insn_referenced
= abuf
->written
;
2586 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2593 model_test_bc24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2595 #define FLD(f) abuf->fields.sfmt_bl24.f
2596 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2597 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2601 int UNUSED insn_referenced
= abuf
->written
;
2602 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2609 model_test_beq (SIM_CPU
*current_cpu
, void *sem_arg
)
2611 #define FLD(f) abuf->fields.sfmt_beq.f
2612 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2613 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2617 int UNUSED insn_referenced
= abuf
->written
;
2618 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2625 model_test_beqz (SIM_CPU
*current_cpu
, void *sem_arg
)
2627 #define FLD(f) abuf->fields.sfmt_beq.f
2628 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2629 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2633 int UNUSED insn_referenced
= abuf
->written
;
2634 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2641 model_test_bgez (SIM_CPU
*current_cpu
, void *sem_arg
)
2643 #define FLD(f) abuf->fields.sfmt_beq.f
2644 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2645 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2649 int UNUSED insn_referenced
= abuf
->written
;
2650 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2657 model_test_bgtz (SIM_CPU
*current_cpu
, void *sem_arg
)
2659 #define FLD(f) abuf->fields.sfmt_beq.f
2660 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2661 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2665 int UNUSED insn_referenced
= abuf
->written
;
2666 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2673 model_test_blez (SIM_CPU
*current_cpu
, void *sem_arg
)
2675 #define FLD(f) abuf->fields.sfmt_beq.f
2676 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2677 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2681 int UNUSED insn_referenced
= abuf
->written
;
2682 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2689 model_test_bltz (SIM_CPU
*current_cpu
, void *sem_arg
)
2691 #define FLD(f) abuf->fields.sfmt_beq.f
2692 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2693 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2697 int UNUSED insn_referenced
= abuf
->written
;
2698 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2705 model_test_bnez (SIM_CPU
*current_cpu
, void *sem_arg
)
2707 #define FLD(f) abuf->fields.sfmt_beq.f
2708 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2709 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2713 int UNUSED insn_referenced
= abuf
->written
;
2714 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2721 model_test_bl8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2723 #define FLD(f) abuf->fields.sfmt_bl8.f
2724 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2725 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2729 int UNUSED insn_referenced
= abuf
->written
;
2730 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2737 model_test_bl24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2739 #define FLD(f) abuf->fields.sfmt_bl24.f
2740 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2741 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2745 int UNUSED insn_referenced
= abuf
->written
;
2746 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2753 model_test_bnc8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2755 #define FLD(f) abuf->fields.sfmt_bl8.f
2756 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2757 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2761 int UNUSED insn_referenced
= abuf
->written
;
2762 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2769 model_test_bnc24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2771 #define FLD(f) abuf->fields.sfmt_bl24.f
2772 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2773 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2777 int UNUSED insn_referenced
= abuf
->written
;
2778 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2785 model_test_bne (SIM_CPU
*current_cpu
, void *sem_arg
)
2787 #define FLD(f) abuf->fields.sfmt_beq.f
2788 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2789 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2793 int UNUSED insn_referenced
= abuf
->written
;
2794 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2801 model_test_bra8 (SIM_CPU
*current_cpu
, void *sem_arg
)
2803 #define FLD(f) abuf->fields.sfmt_bl8.f
2804 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2805 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2809 int UNUSED insn_referenced
= abuf
->written
;
2810 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2817 model_test_bra24 (SIM_CPU
*current_cpu
, void *sem_arg
)
2819 #define FLD(f) abuf->fields.sfmt_bl24.f
2820 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2821 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2825 int UNUSED insn_referenced
= abuf
->written
;
2826 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2833 model_test_cmp (SIM_CPU
*current_cpu
, void *sem_arg
)
2835 #define FLD(f) abuf->fields.sfmt_st_plus.f
2836 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2837 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2841 int UNUSED insn_referenced
= abuf
->written
;
2842 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2849 model_test_cmpi (SIM_CPU
*current_cpu
, void *sem_arg
)
2851 #define FLD(f) abuf->fields.sfmt_st_d.f
2852 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2853 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2857 int UNUSED insn_referenced
= abuf
->written
;
2858 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2865 model_test_cmpu (SIM_CPU
*current_cpu
, void *sem_arg
)
2867 #define FLD(f) abuf->fields.sfmt_st_plus.f
2868 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2869 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2873 int UNUSED insn_referenced
= abuf
->written
;
2874 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2881 model_test_cmpui (SIM_CPU
*current_cpu
, void *sem_arg
)
2883 #define FLD(f) abuf->fields.sfmt_st_d.f
2884 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2885 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2889 int UNUSED insn_referenced
= abuf
->written
;
2890 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2897 model_test_div (SIM_CPU
*current_cpu
, void *sem_arg
)
2899 #define FLD(f) abuf->fields.sfmt_add.f
2900 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2901 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2905 int UNUSED insn_referenced
= abuf
->written
;
2906 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2913 model_test_divu (SIM_CPU
*current_cpu
, void *sem_arg
)
2915 #define FLD(f) abuf->fields.sfmt_add.f
2916 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2917 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2921 int UNUSED insn_referenced
= abuf
->written
;
2922 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2929 model_test_rem (SIM_CPU
*current_cpu
, void *sem_arg
)
2931 #define FLD(f) abuf->fields.sfmt_add.f
2932 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2933 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2937 int UNUSED insn_referenced
= abuf
->written
;
2938 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2945 model_test_remu (SIM_CPU
*current_cpu
, void *sem_arg
)
2947 #define FLD(f) abuf->fields.sfmt_add.f
2948 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2949 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2953 int UNUSED insn_referenced
= abuf
->written
;
2954 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2961 model_test_jl (SIM_CPU
*current_cpu
, void *sem_arg
)
2963 #define FLD(f) abuf->fields.sfmt_jl.f
2964 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2965 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2969 int UNUSED insn_referenced
= abuf
->written
;
2970 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2977 model_test_jmp (SIM_CPU
*current_cpu
, void *sem_arg
)
2979 #define FLD(f) abuf->fields.sfmt_jl.f
2980 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2981 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2985 int UNUSED insn_referenced
= abuf
->written
;
2986 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
2993 model_test_ld (SIM_CPU
*current_cpu
, void *sem_arg
)
2995 #define FLD(f) abuf->fields.sfmt_ld_plus.f
2996 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2997 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3001 int UNUSED insn_referenced
= abuf
->written
;
3002 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3009 model_test_ld_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3011 #define FLD(f) abuf->fields.sfmt_add3.f
3012 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3013 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3017 int UNUSED insn_referenced
= abuf
->written
;
3018 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3025 model_test_ldb (SIM_CPU
*current_cpu
, void *sem_arg
)
3027 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3028 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3029 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3033 int UNUSED insn_referenced
= abuf
->written
;
3034 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3041 model_test_ldb_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3043 #define FLD(f) abuf->fields.sfmt_add3.f
3044 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3045 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3049 int UNUSED insn_referenced
= abuf
->written
;
3050 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3057 model_test_ldh (SIM_CPU
*current_cpu
, void *sem_arg
)
3059 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3060 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3061 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3065 int UNUSED insn_referenced
= abuf
->written
;
3066 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3073 model_test_ldh_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3075 #define FLD(f) abuf->fields.sfmt_add3.f
3076 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3077 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3081 int UNUSED insn_referenced
= abuf
->written
;
3082 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3089 model_test_ldub (SIM_CPU
*current_cpu
, void *sem_arg
)
3091 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3092 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3093 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3097 int UNUSED insn_referenced
= abuf
->written
;
3098 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3105 model_test_ldub_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3107 #define FLD(f) abuf->fields.sfmt_add3.f
3108 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3109 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3113 int UNUSED insn_referenced
= abuf
->written
;
3114 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3121 model_test_lduh (SIM_CPU
*current_cpu
, void *sem_arg
)
3123 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3124 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3125 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3129 int UNUSED insn_referenced
= abuf
->written
;
3130 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3137 model_test_lduh_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3139 #define FLD(f) abuf->fields.sfmt_add3.f
3140 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3141 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3145 int UNUSED insn_referenced
= abuf
->written
;
3146 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3153 model_test_ld_plus (SIM_CPU
*current_cpu
, void *sem_arg
)
3155 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3156 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3157 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3161 int UNUSED insn_referenced
= abuf
->written
;
3162 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3169 model_test_ld24 (SIM_CPU
*current_cpu
, void *sem_arg
)
3171 #define FLD(f) abuf->fields.sfmt_ld24.f
3172 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3173 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3177 int UNUSED insn_referenced
= abuf
->written
;
3178 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3185 model_test_ldi8 (SIM_CPU
*current_cpu
, void *sem_arg
)
3187 #define FLD(f) abuf->fields.sfmt_addi.f
3188 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3189 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3193 int UNUSED insn_referenced
= abuf
->written
;
3194 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3201 model_test_ldi16 (SIM_CPU
*current_cpu
, void *sem_arg
)
3203 #define FLD(f) abuf->fields.sfmt_add3.f
3204 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3205 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3209 int UNUSED insn_referenced
= abuf
->written
;
3210 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3217 model_test_lock (SIM_CPU
*current_cpu
, void *sem_arg
)
3219 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3220 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3221 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3225 int UNUSED insn_referenced
= abuf
->written
;
3226 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3233 model_test_machi (SIM_CPU
*current_cpu
, void *sem_arg
)
3235 #define FLD(f) abuf->fields.sfmt_st_plus.f
3236 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3237 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3241 int UNUSED insn_referenced
= abuf
->written
;
3242 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3249 model_test_maclo (SIM_CPU
*current_cpu
, void *sem_arg
)
3251 #define FLD(f) abuf->fields.sfmt_st_plus.f
3252 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3253 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3257 int UNUSED insn_referenced
= abuf
->written
;
3258 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3265 model_test_macwhi (SIM_CPU
*current_cpu
, void *sem_arg
)
3267 #define FLD(f) abuf->fields.sfmt_st_plus.f
3268 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3269 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3273 int UNUSED insn_referenced
= abuf
->written
;
3274 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3281 model_test_macwlo (SIM_CPU
*current_cpu
, void *sem_arg
)
3283 #define FLD(f) abuf->fields.sfmt_st_plus.f
3284 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3285 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3289 int UNUSED insn_referenced
= abuf
->written
;
3290 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3297 model_test_mul (SIM_CPU
*current_cpu
, void *sem_arg
)
3299 #define FLD(f) abuf->fields.sfmt_add.f
3300 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3301 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3305 int UNUSED insn_referenced
= abuf
->written
;
3306 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3313 model_test_mulhi (SIM_CPU
*current_cpu
, void *sem_arg
)
3315 #define FLD(f) abuf->fields.sfmt_st_plus.f
3316 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3317 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3321 int UNUSED insn_referenced
= abuf
->written
;
3322 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3329 model_test_mullo (SIM_CPU
*current_cpu
, void *sem_arg
)
3331 #define FLD(f) abuf->fields.sfmt_st_plus.f
3332 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3333 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3337 int UNUSED insn_referenced
= abuf
->written
;
3338 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3345 model_test_mulwhi (SIM_CPU
*current_cpu
, void *sem_arg
)
3347 #define FLD(f) abuf->fields.sfmt_st_plus.f
3348 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3349 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3353 int UNUSED insn_referenced
= abuf
->written
;
3354 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3361 model_test_mulwlo (SIM_CPU
*current_cpu
, void *sem_arg
)
3363 #define FLD(f) abuf->fields.sfmt_st_plus.f
3364 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3365 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3369 int UNUSED insn_referenced
= abuf
->written
;
3370 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3377 model_test_mv (SIM_CPU
*current_cpu
, void *sem_arg
)
3379 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3380 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3381 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3385 int UNUSED insn_referenced
= abuf
->written
;
3386 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3393 model_test_mvfachi (SIM_CPU
*current_cpu
, void *sem_arg
)
3395 #define FLD(f) abuf->fields.sfmt_seth.f
3396 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3397 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3401 int UNUSED insn_referenced
= abuf
->written
;
3402 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3409 model_test_mvfaclo (SIM_CPU
*current_cpu
, void *sem_arg
)
3411 #define FLD(f) abuf->fields.sfmt_seth.f
3412 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3413 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3417 int UNUSED insn_referenced
= abuf
->written
;
3418 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3425 model_test_mvfacmi (SIM_CPU
*current_cpu
, void *sem_arg
)
3427 #define FLD(f) abuf->fields.sfmt_seth.f
3428 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3429 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3433 int UNUSED insn_referenced
= abuf
->written
;
3434 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3441 model_test_mvfc (SIM_CPU
*current_cpu
, void *sem_arg
)
3443 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3444 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3445 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3449 int UNUSED insn_referenced
= abuf
->written
;
3450 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3457 model_test_mvtachi (SIM_CPU
*current_cpu
, void *sem_arg
)
3459 #define FLD(f) abuf->fields.sfmt_st_plus.f
3460 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3461 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3465 int UNUSED insn_referenced
= abuf
->written
;
3466 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3473 model_test_mvtaclo (SIM_CPU
*current_cpu
, void *sem_arg
)
3475 #define FLD(f) abuf->fields.sfmt_st_plus.f
3476 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3477 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3481 int UNUSED insn_referenced
= abuf
->written
;
3482 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3489 model_test_mvtc (SIM_CPU
*current_cpu
, void *sem_arg
)
3491 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3492 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3493 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3497 int UNUSED insn_referenced
= abuf
->written
;
3498 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3505 model_test_neg (SIM_CPU
*current_cpu
, void *sem_arg
)
3507 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3508 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3509 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3513 int UNUSED insn_referenced
= abuf
->written
;
3514 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3521 model_test_nop (SIM_CPU
*current_cpu
, void *sem_arg
)
3523 #define FLD(f) abuf->fields.sfmt_empty.f
3524 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3525 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3529 int UNUSED insn_referenced
= abuf
->written
;
3530 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3537 model_test_not (SIM_CPU
*current_cpu
, void *sem_arg
)
3539 #define FLD(f) abuf->fields.sfmt_ld_plus.f
3540 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3541 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3545 int UNUSED insn_referenced
= abuf
->written
;
3546 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3553 model_test_rac (SIM_CPU
*current_cpu
, void *sem_arg
)
3555 #define FLD(f) abuf->fields.sfmt_empty.f
3556 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3557 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3561 int UNUSED insn_referenced
= abuf
->written
;
3562 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3569 model_test_rach (SIM_CPU
*current_cpu
, void *sem_arg
)
3571 #define FLD(f) abuf->fields.sfmt_empty.f
3572 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3573 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3577 int UNUSED insn_referenced
= abuf
->written
;
3578 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3585 model_test_rte (SIM_CPU
*current_cpu
, void *sem_arg
)
3587 #define FLD(f) abuf->fields.sfmt_empty.f
3588 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3589 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3593 int UNUSED insn_referenced
= abuf
->written
;
3594 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3601 model_test_seth (SIM_CPU
*current_cpu
, void *sem_arg
)
3603 #define FLD(f) abuf->fields.sfmt_seth.f
3604 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3605 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3609 int UNUSED insn_referenced
= abuf
->written
;
3610 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3617 model_test_sll (SIM_CPU
*current_cpu
, void *sem_arg
)
3619 #define FLD(f) abuf->fields.sfmt_add.f
3620 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3621 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3625 int UNUSED insn_referenced
= abuf
->written
;
3626 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3633 model_test_sll3 (SIM_CPU
*current_cpu
, void *sem_arg
)
3635 #define FLD(f) abuf->fields.sfmt_add3.f
3636 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3637 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3641 int UNUSED insn_referenced
= abuf
->written
;
3642 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3649 model_test_slli (SIM_CPU
*current_cpu
, void *sem_arg
)
3651 #define FLD(f) abuf->fields.sfmt_slli.f
3652 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3653 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3657 int UNUSED insn_referenced
= abuf
->written
;
3658 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3665 model_test_sra (SIM_CPU
*current_cpu
, void *sem_arg
)
3667 #define FLD(f) abuf->fields.sfmt_add.f
3668 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3669 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3673 int UNUSED insn_referenced
= abuf
->written
;
3674 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3681 model_test_sra3 (SIM_CPU
*current_cpu
, void *sem_arg
)
3683 #define FLD(f) abuf->fields.sfmt_add3.f
3684 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3685 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3689 int UNUSED insn_referenced
= abuf
->written
;
3690 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3697 model_test_srai (SIM_CPU
*current_cpu
, void *sem_arg
)
3699 #define FLD(f) abuf->fields.sfmt_slli.f
3700 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3701 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3705 int UNUSED insn_referenced
= abuf
->written
;
3706 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3713 model_test_srl (SIM_CPU
*current_cpu
, void *sem_arg
)
3715 #define FLD(f) abuf->fields.sfmt_add.f
3716 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3717 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3721 int UNUSED insn_referenced
= abuf
->written
;
3722 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3729 model_test_srl3 (SIM_CPU
*current_cpu
, void *sem_arg
)
3731 #define FLD(f) abuf->fields.sfmt_add3.f
3732 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3733 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3737 int UNUSED insn_referenced
= abuf
->written
;
3738 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3745 model_test_srli (SIM_CPU
*current_cpu
, void *sem_arg
)
3747 #define FLD(f) abuf->fields.sfmt_slli.f
3748 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3749 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3753 int UNUSED insn_referenced
= abuf
->written
;
3754 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3761 model_test_st (SIM_CPU
*current_cpu
, void *sem_arg
)
3763 #define FLD(f) abuf->fields.sfmt_st_plus.f
3764 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3765 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3769 int UNUSED insn_referenced
= abuf
->written
;
3770 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3777 model_test_st_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3779 #define FLD(f) abuf->fields.sfmt_st_d.f
3780 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3781 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3785 int UNUSED insn_referenced
= abuf
->written
;
3786 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3793 model_test_stb (SIM_CPU
*current_cpu
, void *sem_arg
)
3795 #define FLD(f) abuf->fields.sfmt_st_plus.f
3796 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3797 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3801 int UNUSED insn_referenced
= abuf
->written
;
3802 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3809 model_test_stb_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3811 #define FLD(f) abuf->fields.sfmt_st_d.f
3812 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3813 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3817 int UNUSED insn_referenced
= abuf
->written
;
3818 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3825 model_test_sth (SIM_CPU
*current_cpu
, void *sem_arg
)
3827 #define FLD(f) abuf->fields.sfmt_st_plus.f
3828 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3829 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3833 int UNUSED insn_referenced
= abuf
->written
;
3834 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3841 model_test_sth_d (SIM_CPU
*current_cpu
, void *sem_arg
)
3843 #define FLD(f) abuf->fields.sfmt_st_d.f
3844 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3845 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3849 int UNUSED insn_referenced
= abuf
->written
;
3850 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3857 model_test_st_plus (SIM_CPU
*current_cpu
, void *sem_arg
)
3859 #define FLD(f) abuf->fields.sfmt_st_plus.f
3860 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3861 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3865 int UNUSED insn_referenced
= abuf
->written
;
3866 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3873 model_test_st_minus (SIM_CPU
*current_cpu
, void *sem_arg
)
3875 #define FLD(f) abuf->fields.sfmt_st_plus.f
3876 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3877 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3881 int UNUSED insn_referenced
= abuf
->written
;
3882 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3889 model_test_sub (SIM_CPU
*current_cpu
, void *sem_arg
)
3891 #define FLD(f) abuf->fields.sfmt_add.f
3892 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3893 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3897 int UNUSED insn_referenced
= abuf
->written
;
3898 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3905 model_test_subv (SIM_CPU
*current_cpu
, void *sem_arg
)
3907 #define FLD(f) abuf->fields.sfmt_add.f
3908 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3909 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3913 int UNUSED insn_referenced
= abuf
->written
;
3914 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3921 model_test_subx (SIM_CPU
*current_cpu
, void *sem_arg
)
3923 #define FLD(f) abuf->fields.sfmt_add.f
3924 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3925 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3929 int UNUSED insn_referenced
= abuf
->written
;
3930 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3937 model_test_trap (SIM_CPU
*current_cpu
, void *sem_arg
)
3939 #define FLD(f) abuf->fields.sfmt_trap.f
3940 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3941 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3945 int UNUSED insn_referenced
= abuf
->written
;
3946 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3953 model_test_unlock (SIM_CPU
*current_cpu
, void *sem_arg
)
3955 #define FLD(f) abuf->fields.sfmt_st_plus.f
3956 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3957 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3961 int UNUSED insn_referenced
= abuf
->written
;
3962 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3969 model_test_clrpsw (SIM_CPU
*current_cpu
, void *sem_arg
)
3971 #define FLD(f) abuf->fields.sfmt_clrpsw.f
3972 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3973 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3977 int UNUSED insn_referenced
= abuf
->written
;
3978 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
3985 model_test_setpsw (SIM_CPU
*current_cpu
, void *sem_arg
)
3987 #define FLD(f) abuf->fields.sfmt_clrpsw.f
3988 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3989 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3993 int UNUSED insn_referenced
= abuf
->written
;
3994 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
4001 model_test_bset (SIM_CPU
*current_cpu
, void *sem_arg
)
4003 #define FLD(f) abuf->fields.sfmt_bset.f
4004 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
4005 const IDESC
* UNUSED idesc
= abuf
->idesc
;
4009 int UNUSED insn_referenced
= abuf
->written
;
4010 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
4017 model_test_bclr (SIM_CPU
*current_cpu
, void *sem_arg
)
4019 #define FLD(f) abuf->fields.sfmt_bset.f
4020 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
4021 const IDESC
* UNUSED idesc
= abuf
->idesc
;
4025 int UNUSED insn_referenced
= abuf
->written
;
4026 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
4033 model_test_btst (SIM_CPU
*current_cpu
, void *sem_arg
)
4035 #define FLD(f) abuf->fields.sfmt_bset.f
4036 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
4037 const IDESC
* UNUSED idesc
= abuf
->idesc
;
4041 int UNUSED insn_referenced
= abuf
->written
;
4042 cycles
+= m32rbf_model_test_u_exec (current_cpu
, idesc
, 0, referenced
);
4048 /* We assume UNIT_NONE == 0 because the tables don't always terminate
4051 /* Model timing data for `m32r/d'. */
4053 static const INSN_TIMING m32r_d_timing
[] = {
4054 { M32RBF_INSN_X_INVALID
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4055 { M32RBF_INSN_X_AFTER
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4056 { M32RBF_INSN_X_BEFORE
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4057 { M32RBF_INSN_X_CTI_CHAIN
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4058 { M32RBF_INSN_X_CHAIN
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4059 { M32RBF_INSN_X_BEGIN
, 0, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4060 { M32RBF_INSN_ADD
, model_m32r_d_add
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4061 { M32RBF_INSN_ADD3
, model_m32r_d_add3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4062 { M32RBF_INSN_AND
, model_m32r_d_and
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4063 { M32RBF_INSN_AND3
, model_m32r_d_and3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4064 { M32RBF_INSN_OR
, model_m32r_d_or
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4065 { M32RBF_INSN_OR3
, model_m32r_d_or3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4066 { M32RBF_INSN_XOR
, model_m32r_d_xor
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4067 { M32RBF_INSN_XOR3
, model_m32r_d_xor3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4068 { M32RBF_INSN_ADDI
, model_m32r_d_addi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4069 { M32RBF_INSN_ADDV
, model_m32r_d_addv
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4070 { M32RBF_INSN_ADDV3
, model_m32r_d_addv3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4071 { M32RBF_INSN_ADDX
, model_m32r_d_addx
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4072 { M32RBF_INSN_BC8
, model_m32r_d_bc8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4073 { M32RBF_INSN_BC24
, model_m32r_d_bc24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4074 { M32RBF_INSN_BEQ
, model_m32r_d_beq
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4075 { M32RBF_INSN_BEQZ
, model_m32r_d_beqz
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4076 { M32RBF_INSN_BGEZ
, model_m32r_d_bgez
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4077 { M32RBF_INSN_BGTZ
, model_m32r_d_bgtz
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4078 { M32RBF_INSN_BLEZ
, model_m32r_d_blez
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4079 { M32RBF_INSN_BLTZ
, model_m32r_d_bltz
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4080 { M32RBF_INSN_BNEZ
, model_m32r_d_bnez
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4081 { M32RBF_INSN_BL8
, model_m32r_d_bl8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4082 { M32RBF_INSN_BL24
, model_m32r_d_bl24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4083 { M32RBF_INSN_BNC8
, model_m32r_d_bnc8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4084 { M32RBF_INSN_BNC24
, model_m32r_d_bnc24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4085 { M32RBF_INSN_BNE
, model_m32r_d_bne
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 }, { (int) UNIT_M32R_D_U_CMP
, 1, 0 } } },
4086 { M32RBF_INSN_BRA8
, model_m32r_d_bra8
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4087 { M32RBF_INSN_BRA24
, model_m32r_d_bra24
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4088 { M32RBF_INSN_CMP
, model_m32r_d_cmp
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
4089 { M32RBF_INSN_CMPI
, model_m32r_d_cmpi
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
4090 { M32RBF_INSN_CMPU
, model_m32r_d_cmpu
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
4091 { M32RBF_INSN_CMPUI
, model_m32r_d_cmpui
, { { (int) UNIT_M32R_D_U_CMP
, 1, 1 } } },
4092 { M32RBF_INSN_DIV
, model_m32r_d_div
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
4093 { M32RBF_INSN_DIVU
, model_m32r_d_divu
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
4094 { M32RBF_INSN_REM
, model_m32r_d_rem
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
4095 { M32RBF_INSN_REMU
, model_m32r_d_remu
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 37 } } },
4096 { M32RBF_INSN_JL
, model_m32r_d_jl
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4097 { M32RBF_INSN_JMP
, model_m32r_d_jmp
, { { (int) UNIT_M32R_D_U_CTI
, 1, 1 } } },
4098 { M32RBF_INSN_LD
, model_m32r_d_ld
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4099 { M32RBF_INSN_LD_D
, model_m32r_d_ld_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
4100 { M32RBF_INSN_LDB
, model_m32r_d_ldb
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4101 { M32RBF_INSN_LDB_D
, model_m32r_d_ldb_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
4102 { M32RBF_INSN_LDH
, model_m32r_d_ldh
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4103 { M32RBF_INSN_LDH_D
, model_m32r_d_ldh_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
4104 { M32RBF_INSN_LDUB
, model_m32r_d_ldub
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4105 { M32RBF_INSN_LDUB_D
, model_m32r_d_ldub_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
4106 { M32RBF_INSN_LDUH
, model_m32r_d_lduh
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4107 { M32RBF_INSN_LDUH_D
, model_m32r_d_lduh_d
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 2 } } },
4108 { 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 } } },
4109 { M32RBF_INSN_LD24
, model_m32r_d_ld24
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4110 { M32RBF_INSN_LDI8
, model_m32r_d_ldi8
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4111 { M32RBF_INSN_LDI16
, model_m32r_d_ldi16
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4112 { M32RBF_INSN_LOCK
, model_m32r_d_lock
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4113 { M32RBF_INSN_MACHI
, model_m32r_d_machi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4114 { M32RBF_INSN_MACLO
, model_m32r_d_maclo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4115 { M32RBF_INSN_MACWHI
, model_m32r_d_macwhi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4116 { M32RBF_INSN_MACWLO
, model_m32r_d_macwlo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4117 { M32RBF_INSN_MUL
, model_m32r_d_mul
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 4 } } },
4118 { M32RBF_INSN_MULHI
, model_m32r_d_mulhi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4119 { M32RBF_INSN_MULLO
, model_m32r_d_mullo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4120 { M32RBF_INSN_MULWHI
, model_m32r_d_mulwhi
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4121 { M32RBF_INSN_MULWLO
, model_m32r_d_mulwlo
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4122 { M32RBF_INSN_MV
, model_m32r_d_mv
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4123 { M32RBF_INSN_MVFACHI
, model_m32r_d_mvfachi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 2 } } },
4124 { M32RBF_INSN_MVFACLO
, model_m32r_d_mvfaclo
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 2 } } },
4125 { M32RBF_INSN_MVFACMI
, model_m32r_d_mvfacmi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 2 } } },
4126 { M32RBF_INSN_MVFC
, model_m32r_d_mvfc
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4127 { M32RBF_INSN_MVTACHI
, model_m32r_d_mvtachi
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4128 { M32RBF_INSN_MVTACLO
, model_m32r_d_mvtaclo
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4129 { M32RBF_INSN_MVTC
, model_m32r_d_mvtc
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4130 { M32RBF_INSN_NEG
, model_m32r_d_neg
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4131 { M32RBF_INSN_NOP
, model_m32r_d_nop
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 0 } } },
4132 { M32RBF_INSN_NOT
, model_m32r_d_not
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4133 { M32RBF_INSN_RAC
, model_m32r_d_rac
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4134 { M32RBF_INSN_RACH
, model_m32r_d_rach
, { { (int) UNIT_M32R_D_U_MAC
, 1, 1 } } },
4135 { M32RBF_INSN_RTE
, model_m32r_d_rte
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4136 { M32RBF_INSN_SETH
, model_m32r_d_seth
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4137 { M32RBF_INSN_SLL
, model_m32r_d_sll
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4138 { M32RBF_INSN_SLL3
, model_m32r_d_sll3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4139 { M32RBF_INSN_SLLI
, model_m32r_d_slli
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4140 { M32RBF_INSN_SRA
, model_m32r_d_sra
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4141 { M32RBF_INSN_SRA3
, model_m32r_d_sra3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4142 { M32RBF_INSN_SRAI
, model_m32r_d_srai
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4143 { M32RBF_INSN_SRL
, model_m32r_d_srl
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4144 { M32RBF_INSN_SRL3
, model_m32r_d_srl3
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4145 { M32RBF_INSN_SRLI
, model_m32r_d_srli
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4146 { M32RBF_INSN_ST
, model_m32r_d_st
, { { (int) UNIT_M32R_D_U_STORE
, 1, 1 } } },
4147 { M32RBF_INSN_ST_D
, model_m32r_d_st_d
, { { (int) UNIT_M32R_D_U_STORE
, 1, 2 } } },
4148 { M32RBF_INSN_STB
, model_m32r_d_stb
, { { (int) UNIT_M32R_D_U_STORE
, 1, 1 } } },
4149 { M32RBF_INSN_STB_D
, model_m32r_d_stb_d
, { { (int) UNIT_M32R_D_U_STORE
, 1, 2 } } },
4150 { M32RBF_INSN_STH
, model_m32r_d_sth
, { { (int) UNIT_M32R_D_U_STORE
, 1, 1 } } },
4151 { M32RBF_INSN_STH_D
, model_m32r_d_sth_d
, { { (int) UNIT_M32R_D_U_STORE
, 1, 2 } } },
4152 { 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 } } },
4153 { 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 } } },
4154 { M32RBF_INSN_SUB
, model_m32r_d_sub
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4155 { M32RBF_INSN_SUBV
, model_m32r_d_subv
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4156 { M32RBF_INSN_SUBX
, model_m32r_d_subx
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4157 { M32RBF_INSN_TRAP
, model_m32r_d_trap
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4158 { M32RBF_INSN_UNLOCK
, model_m32r_d_unlock
, { { (int) UNIT_M32R_D_U_LOAD
, 1, 1 } } },
4159 { M32RBF_INSN_CLRPSW
, model_m32r_d_clrpsw
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4160 { M32RBF_INSN_SETPSW
, model_m32r_d_setpsw
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4161 { M32RBF_INSN_BSET
, model_m32r_d_bset
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4162 { M32RBF_INSN_BCLR
, model_m32r_d_bclr
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4163 { M32RBF_INSN_BTST
, model_m32r_d_btst
, { { (int) UNIT_M32R_D_U_EXEC
, 1, 1 } } },
4166 /* Model timing data for `test'. */
4168 static const INSN_TIMING test_timing
[] = {
4169 { M32RBF_INSN_X_INVALID
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4170 { M32RBF_INSN_X_AFTER
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4171 { M32RBF_INSN_X_BEFORE
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4172 { M32RBF_INSN_X_CTI_CHAIN
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4173 { M32RBF_INSN_X_CHAIN
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4174 { M32RBF_INSN_X_BEGIN
, 0, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4175 { M32RBF_INSN_ADD
, model_test_add
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4176 { M32RBF_INSN_ADD3
, model_test_add3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4177 { M32RBF_INSN_AND
, model_test_and
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4178 { M32RBF_INSN_AND3
, model_test_and3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4179 { M32RBF_INSN_OR
, model_test_or
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4180 { M32RBF_INSN_OR3
, model_test_or3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4181 { M32RBF_INSN_XOR
, model_test_xor
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4182 { M32RBF_INSN_XOR3
, model_test_xor3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4183 { M32RBF_INSN_ADDI
, model_test_addi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4184 { M32RBF_INSN_ADDV
, model_test_addv
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4185 { M32RBF_INSN_ADDV3
, model_test_addv3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4186 { M32RBF_INSN_ADDX
, model_test_addx
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4187 { M32RBF_INSN_BC8
, model_test_bc8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4188 { M32RBF_INSN_BC24
, model_test_bc24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4189 { M32RBF_INSN_BEQ
, model_test_beq
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4190 { M32RBF_INSN_BEQZ
, model_test_beqz
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4191 { M32RBF_INSN_BGEZ
, model_test_bgez
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4192 { M32RBF_INSN_BGTZ
, model_test_bgtz
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4193 { M32RBF_INSN_BLEZ
, model_test_blez
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4194 { M32RBF_INSN_BLTZ
, model_test_bltz
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4195 { M32RBF_INSN_BNEZ
, model_test_bnez
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4196 { M32RBF_INSN_BL8
, model_test_bl8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4197 { M32RBF_INSN_BL24
, model_test_bl24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4198 { M32RBF_INSN_BNC8
, model_test_bnc8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4199 { M32RBF_INSN_BNC24
, model_test_bnc24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4200 { M32RBF_INSN_BNE
, model_test_bne
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4201 { M32RBF_INSN_BRA8
, model_test_bra8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4202 { M32RBF_INSN_BRA24
, model_test_bra24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4203 { M32RBF_INSN_CMP
, model_test_cmp
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4204 { M32RBF_INSN_CMPI
, model_test_cmpi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4205 { M32RBF_INSN_CMPU
, model_test_cmpu
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4206 { M32RBF_INSN_CMPUI
, model_test_cmpui
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4207 { M32RBF_INSN_DIV
, model_test_div
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4208 { M32RBF_INSN_DIVU
, model_test_divu
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4209 { M32RBF_INSN_REM
, model_test_rem
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4210 { M32RBF_INSN_REMU
, model_test_remu
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4211 { M32RBF_INSN_JL
, model_test_jl
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4212 { M32RBF_INSN_JMP
, model_test_jmp
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4213 { M32RBF_INSN_LD
, model_test_ld
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4214 { M32RBF_INSN_LD_D
, model_test_ld_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4215 { M32RBF_INSN_LDB
, model_test_ldb
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4216 { M32RBF_INSN_LDB_D
, model_test_ldb_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4217 { M32RBF_INSN_LDH
, model_test_ldh
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4218 { M32RBF_INSN_LDH_D
, model_test_ldh_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4219 { M32RBF_INSN_LDUB
, model_test_ldub
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4220 { M32RBF_INSN_LDUB_D
, model_test_ldub_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4221 { M32RBF_INSN_LDUH
, model_test_lduh
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4222 { M32RBF_INSN_LDUH_D
, model_test_lduh_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4223 { M32RBF_INSN_LD_PLUS
, model_test_ld_plus
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4224 { M32RBF_INSN_LD24
, model_test_ld24
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4225 { M32RBF_INSN_LDI8
, model_test_ldi8
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4226 { M32RBF_INSN_LDI16
, model_test_ldi16
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4227 { M32RBF_INSN_LOCK
, model_test_lock
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4228 { M32RBF_INSN_MACHI
, model_test_machi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4229 { M32RBF_INSN_MACLO
, model_test_maclo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4230 { M32RBF_INSN_MACWHI
, model_test_macwhi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4231 { M32RBF_INSN_MACWLO
, model_test_macwlo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4232 { M32RBF_INSN_MUL
, model_test_mul
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4233 { M32RBF_INSN_MULHI
, model_test_mulhi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4234 { M32RBF_INSN_MULLO
, model_test_mullo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4235 { M32RBF_INSN_MULWHI
, model_test_mulwhi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4236 { M32RBF_INSN_MULWLO
, model_test_mulwlo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4237 { M32RBF_INSN_MV
, model_test_mv
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4238 { M32RBF_INSN_MVFACHI
, model_test_mvfachi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4239 { M32RBF_INSN_MVFACLO
, model_test_mvfaclo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4240 { M32RBF_INSN_MVFACMI
, model_test_mvfacmi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4241 { M32RBF_INSN_MVFC
, model_test_mvfc
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4242 { M32RBF_INSN_MVTACHI
, model_test_mvtachi
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4243 { M32RBF_INSN_MVTACLO
, model_test_mvtaclo
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4244 { M32RBF_INSN_MVTC
, model_test_mvtc
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4245 { M32RBF_INSN_NEG
, model_test_neg
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4246 { M32RBF_INSN_NOP
, model_test_nop
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4247 { M32RBF_INSN_NOT
, model_test_not
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4248 { M32RBF_INSN_RAC
, model_test_rac
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4249 { M32RBF_INSN_RACH
, model_test_rach
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4250 { M32RBF_INSN_RTE
, model_test_rte
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4251 { M32RBF_INSN_SETH
, model_test_seth
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4252 { M32RBF_INSN_SLL
, model_test_sll
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4253 { M32RBF_INSN_SLL3
, model_test_sll3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4254 { M32RBF_INSN_SLLI
, model_test_slli
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4255 { M32RBF_INSN_SRA
, model_test_sra
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4256 { M32RBF_INSN_SRA3
, model_test_sra3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4257 { M32RBF_INSN_SRAI
, model_test_srai
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4258 { M32RBF_INSN_SRL
, model_test_srl
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4259 { M32RBF_INSN_SRL3
, model_test_srl3
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4260 { M32RBF_INSN_SRLI
, model_test_srli
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4261 { M32RBF_INSN_ST
, model_test_st
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4262 { M32RBF_INSN_ST_D
, model_test_st_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4263 { M32RBF_INSN_STB
, model_test_stb
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4264 { M32RBF_INSN_STB_D
, model_test_stb_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4265 { M32RBF_INSN_STH
, model_test_sth
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4266 { M32RBF_INSN_STH_D
, model_test_sth_d
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4267 { M32RBF_INSN_ST_PLUS
, model_test_st_plus
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4268 { M32RBF_INSN_ST_MINUS
, model_test_st_minus
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4269 { M32RBF_INSN_SUB
, model_test_sub
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4270 { M32RBF_INSN_SUBV
, model_test_subv
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4271 { M32RBF_INSN_SUBX
, model_test_subx
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4272 { M32RBF_INSN_TRAP
, model_test_trap
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4273 { M32RBF_INSN_UNLOCK
, model_test_unlock
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4274 { M32RBF_INSN_CLRPSW
, model_test_clrpsw
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4275 { M32RBF_INSN_SETPSW
, model_test_setpsw
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4276 { M32RBF_INSN_BSET
, model_test_bset
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4277 { M32RBF_INSN_BCLR
, model_test_bclr
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4278 { M32RBF_INSN_BTST
, model_test_btst
, { { (int) UNIT_TEST_U_EXEC
, 1, 1 } } },
4281 #endif /* WITH_PROFILE_MODEL_P */
4284 m32r_d_model_init (SIM_CPU
*cpu
)
4286 CPU_MODEL_DATA (cpu
) = (void *) zalloc (sizeof (MODEL_M32R_D_DATA
));
4290 test_model_init (SIM_CPU
*cpu
)
4292 CPU_MODEL_DATA (cpu
) = (void *) zalloc (sizeof (MODEL_TEST_DATA
));
4295 #if WITH_PROFILE_MODEL_P
4296 #define TIMING_DATA(td) td
4298 #define TIMING_DATA(td) 0
4301 static const SIM_MODEL m32r_models
[] =
4303 { "m32r/d", & m32r_mach
, MODEL_M32R_D
, TIMING_DATA (& m32r_d_timing
[0]), m32r_d_model_init
},
4304 { "test", & m32r_mach
, MODEL_TEST
, TIMING_DATA (& test_timing
[0]), test_model_init
},
4308 /* The properties of this cpu's implementation. */
4310 static const SIM_MACH_IMP_PROPERTIES m32rbf_imp_properties
=
4322 m32rbf_prepare_run (SIM_CPU
*cpu
)
4324 if (CPU_IDESC (cpu
) == NULL
)
4325 m32rbf_init_idesc_table (cpu
);
4328 static const CGEN_INSN
*
4329 m32rbf_get_idata (SIM_CPU
*cpu
, int inum
)
4331 return CPU_IDESC (cpu
) [inum
].idata
;
4335 m32r_init_cpu (SIM_CPU
*cpu
)
4337 CPU_REG_FETCH (cpu
) = m32rbf_fetch_register
;
4338 CPU_REG_STORE (cpu
) = m32rbf_store_register
;
4339 CPU_PC_FETCH (cpu
) = m32rbf_h_pc_get
;
4340 CPU_PC_STORE (cpu
) = m32rbf_h_pc_set
;
4341 CPU_GET_IDATA (cpu
) = m32rbf_get_idata
;
4342 CPU_MAX_INSNS (cpu
) = M32RBF_INSN__MAX
;
4343 CPU_INSN_NAME (cpu
) = cgen_insn_name
;
4344 CPU_FULL_ENGINE_FN (cpu
) = m32rbf_engine_run_full
;
4346 CPU_FAST_ENGINE_FN (cpu
) = m32rbf_engine_run_fast
;
4348 CPU_FAST_ENGINE_FN (cpu
) = m32rbf_engine_run_full
;
4352 const SIM_MACH m32r_mach
=
4354 "m32r", "m32r", MACH_M32R
,
4355 32, 32, & m32r_models
[0], & m32rbf_imp_properties
,