1 /* Simulator model support for iq2000bf.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996-2018 Free Software Foundation, Inc.
7 This file is part of the GNU simulators.
9 This file is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, see <http://www.gnu.org/licenses/>.
24 #define WANT_CPU iq2000bf
25 #define WANT_CPU_IQ2000BF
29 /* The profiling data is recorded here, but is accessed via the profiling
30 mechanism. After all, this is information for profiling. */
32 #if WITH_PROFILE_MODEL_P
34 /* Model handlers for each insn. */
37 model_iq2000_add (SIM_CPU
*current_cpu
, void *sem_arg
)
39 #define FLD(f) abuf->fields.sfmt_mrgb.f
40 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
41 const IDESC
* UNUSED idesc
= abuf
->idesc
;
45 int UNUSED insn_referenced
= abuf
->written
;
46 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
53 model_iq2000_addi (SIM_CPU
*current_cpu
, void *sem_arg
)
55 #define FLD(f) abuf->fields.sfmt_addi.f
56 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
57 const IDESC
* UNUSED idesc
= abuf
->idesc
;
61 int UNUSED insn_referenced
= abuf
->written
;
62 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
69 model_iq2000_addiu (SIM_CPU
*current_cpu
, void *sem_arg
)
71 #define FLD(f) abuf->fields.sfmt_addi.f
72 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
73 const IDESC
* UNUSED idesc
= abuf
->idesc
;
77 int UNUSED insn_referenced
= abuf
->written
;
78 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
85 model_iq2000_addu (SIM_CPU
*current_cpu
, void *sem_arg
)
87 #define FLD(f) abuf->fields.sfmt_mrgb.f
88 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
89 const IDESC
* UNUSED idesc
= abuf
->idesc
;
93 int UNUSED insn_referenced
= abuf
->written
;
94 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
101 model_iq2000_ado16 (SIM_CPU
*current_cpu
, void *sem_arg
)
103 #define FLD(f) abuf->fields.sfmt_mrgb.f
104 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
105 const IDESC
* UNUSED idesc
= abuf
->idesc
;
109 int UNUSED insn_referenced
= abuf
->written
;
110 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
117 model_iq2000_and (SIM_CPU
*current_cpu
, void *sem_arg
)
119 #define FLD(f) abuf->fields.sfmt_mrgb.f
120 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
121 const IDESC
* UNUSED idesc
= abuf
->idesc
;
125 int UNUSED insn_referenced
= abuf
->written
;
126 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
133 model_iq2000_andi (SIM_CPU
*current_cpu
, void *sem_arg
)
135 #define FLD(f) abuf->fields.sfmt_addi.f
136 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
137 const IDESC
* UNUSED idesc
= abuf
->idesc
;
141 int UNUSED insn_referenced
= abuf
->written
;
142 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
149 model_iq2000_andoi (SIM_CPU
*current_cpu
, void *sem_arg
)
151 #define FLD(f) abuf->fields.sfmt_addi.f
152 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
153 const IDESC
* UNUSED idesc
= abuf
->idesc
;
157 int UNUSED insn_referenced
= abuf
->written
;
158 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
165 model_iq2000_nor (SIM_CPU
*current_cpu
, void *sem_arg
)
167 #define FLD(f) abuf->fields.sfmt_mrgb.f
168 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
169 const IDESC
* UNUSED idesc
= abuf
->idesc
;
173 int UNUSED insn_referenced
= abuf
->written
;
174 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
181 model_iq2000_or (SIM_CPU
*current_cpu
, void *sem_arg
)
183 #define FLD(f) abuf->fields.sfmt_mrgb.f
184 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
185 const IDESC
* UNUSED idesc
= abuf
->idesc
;
189 int UNUSED insn_referenced
= abuf
->written
;
190 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
197 model_iq2000_ori (SIM_CPU
*current_cpu
, void *sem_arg
)
199 #define FLD(f) abuf->fields.sfmt_addi.f
200 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
201 const IDESC
* UNUSED idesc
= abuf
->idesc
;
205 int UNUSED insn_referenced
= abuf
->written
;
206 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
213 model_iq2000_ram (SIM_CPU
*current_cpu
, void *sem_arg
)
215 #define FLD(f) abuf->fields.sfmt_ram.f
216 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
217 const IDESC
* UNUSED idesc
= abuf
->idesc
;
221 int UNUSED insn_referenced
= abuf
->written
;
222 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
229 model_iq2000_sll (SIM_CPU
*current_cpu
, void *sem_arg
)
231 #define FLD(f) abuf->fields.sfmt_ram.f
232 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
233 const IDESC
* UNUSED idesc
= abuf
->idesc
;
237 int UNUSED insn_referenced
= abuf
->written
;
238 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
245 model_iq2000_sllv (SIM_CPU
*current_cpu
, void *sem_arg
)
247 #define FLD(f) abuf->fields.sfmt_mrgb.f
248 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
249 const IDESC
* UNUSED idesc
= abuf
->idesc
;
253 int UNUSED insn_referenced
= abuf
->written
;
254 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
261 model_iq2000_slmv (SIM_CPU
*current_cpu
, void *sem_arg
)
263 #define FLD(f) abuf->fields.sfmt_ram.f
264 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
265 const IDESC
* UNUSED idesc
= abuf
->idesc
;
269 int UNUSED insn_referenced
= abuf
->written
;
270 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
277 model_iq2000_slt (SIM_CPU
*current_cpu
, void *sem_arg
)
279 #define FLD(f) abuf->fields.sfmt_mrgb.f
280 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
281 const IDESC
* UNUSED idesc
= abuf
->idesc
;
285 int UNUSED insn_referenced
= abuf
->written
;
286 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
293 model_iq2000_slti (SIM_CPU
*current_cpu
, void *sem_arg
)
295 #define FLD(f) abuf->fields.sfmt_addi.f
296 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
297 const IDESC
* UNUSED idesc
= abuf
->idesc
;
301 int UNUSED insn_referenced
= abuf
->written
;
302 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
309 model_iq2000_sltiu (SIM_CPU
*current_cpu
, void *sem_arg
)
311 #define FLD(f) abuf->fields.sfmt_addi.f
312 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
313 const IDESC
* UNUSED idesc
= abuf
->idesc
;
317 int UNUSED insn_referenced
= abuf
->written
;
318 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
325 model_iq2000_sltu (SIM_CPU
*current_cpu
, void *sem_arg
)
327 #define FLD(f) abuf->fields.sfmt_mrgb.f
328 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
329 const IDESC
* UNUSED idesc
= abuf
->idesc
;
333 int UNUSED insn_referenced
= abuf
->written
;
334 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
341 model_iq2000_sra (SIM_CPU
*current_cpu
, void *sem_arg
)
343 #define FLD(f) abuf->fields.sfmt_ram.f
344 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
345 const IDESC
* UNUSED idesc
= abuf
->idesc
;
349 int UNUSED insn_referenced
= abuf
->written
;
350 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
357 model_iq2000_srav (SIM_CPU
*current_cpu
, void *sem_arg
)
359 #define FLD(f) abuf->fields.sfmt_mrgb.f
360 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
361 const IDESC
* UNUSED idesc
= abuf
->idesc
;
365 int UNUSED insn_referenced
= abuf
->written
;
366 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
373 model_iq2000_srl (SIM_CPU
*current_cpu
, void *sem_arg
)
375 #define FLD(f) abuf->fields.sfmt_ram.f
376 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
377 const IDESC
* UNUSED idesc
= abuf
->idesc
;
381 int UNUSED insn_referenced
= abuf
->written
;
382 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
389 model_iq2000_srlv (SIM_CPU
*current_cpu
, void *sem_arg
)
391 #define FLD(f) abuf->fields.sfmt_mrgb.f
392 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
393 const IDESC
* UNUSED idesc
= abuf
->idesc
;
397 int UNUSED insn_referenced
= abuf
->written
;
398 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
405 model_iq2000_srmv (SIM_CPU
*current_cpu
, void *sem_arg
)
407 #define FLD(f) abuf->fields.sfmt_ram.f
408 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
409 const IDESC
* UNUSED idesc
= abuf
->idesc
;
413 int UNUSED insn_referenced
= abuf
->written
;
414 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
421 model_iq2000_sub (SIM_CPU
*current_cpu
, void *sem_arg
)
423 #define FLD(f) abuf->fields.sfmt_mrgb.f
424 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
425 const IDESC
* UNUSED idesc
= abuf
->idesc
;
429 int UNUSED insn_referenced
= abuf
->written
;
430 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
437 model_iq2000_subu (SIM_CPU
*current_cpu
, void *sem_arg
)
439 #define FLD(f) abuf->fields.sfmt_mrgb.f
440 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
441 const IDESC
* UNUSED idesc
= abuf
->idesc
;
445 int UNUSED insn_referenced
= abuf
->written
;
446 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
453 model_iq2000_xor (SIM_CPU
*current_cpu
, void *sem_arg
)
455 #define FLD(f) abuf->fields.sfmt_mrgb.f
456 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
457 const IDESC
* UNUSED idesc
= abuf
->idesc
;
461 int UNUSED insn_referenced
= abuf
->written
;
462 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
469 model_iq2000_xori (SIM_CPU
*current_cpu
, void *sem_arg
)
471 #define FLD(f) abuf->fields.sfmt_addi.f
472 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
473 const IDESC
* UNUSED idesc
= abuf
->idesc
;
477 int UNUSED insn_referenced
= abuf
->written
;
478 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
485 model_iq2000_bbi (SIM_CPU
*current_cpu
, void *sem_arg
)
487 #define FLD(f) abuf->fields.sfmt_bbi.f
488 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
489 const IDESC
* UNUSED idesc
= abuf
->idesc
;
493 int UNUSED insn_referenced
= abuf
->written
;
494 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
501 model_iq2000_bbin (SIM_CPU
*current_cpu
, void *sem_arg
)
503 #define FLD(f) abuf->fields.sfmt_bbi.f
504 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
505 const IDESC
* UNUSED idesc
= abuf
->idesc
;
509 int UNUSED insn_referenced
= abuf
->written
;
510 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
517 model_iq2000_bbv (SIM_CPU
*current_cpu
, void *sem_arg
)
519 #define FLD(f) abuf->fields.sfmt_bbi.f
520 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
521 const IDESC
* UNUSED idesc
= abuf
->idesc
;
525 int UNUSED insn_referenced
= abuf
->written
;
526 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
533 model_iq2000_bbvn (SIM_CPU
*current_cpu
, void *sem_arg
)
535 #define FLD(f) abuf->fields.sfmt_bbi.f
536 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
537 const IDESC
* UNUSED idesc
= abuf
->idesc
;
541 int UNUSED insn_referenced
= abuf
->written
;
542 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
549 model_iq2000_beq (SIM_CPU
*current_cpu
, void *sem_arg
)
551 #define FLD(f) abuf->fields.sfmt_bbi.f
552 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
553 const IDESC
* UNUSED idesc
= abuf
->idesc
;
557 int UNUSED insn_referenced
= abuf
->written
;
558 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
565 model_iq2000_beql (SIM_CPU
*current_cpu
, void *sem_arg
)
567 #define FLD(f) abuf->fields.sfmt_bbi.f
568 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
569 const IDESC
* UNUSED idesc
= abuf
->idesc
;
573 int UNUSED insn_referenced
= abuf
->written
;
574 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
581 model_iq2000_bgez (SIM_CPU
*current_cpu
, void *sem_arg
)
583 #define FLD(f) abuf->fields.sfmt_bbi.f
584 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
585 const IDESC
* UNUSED idesc
= abuf
->idesc
;
589 int UNUSED insn_referenced
= abuf
->written
;
590 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
597 model_iq2000_bgezal (SIM_CPU
*current_cpu
, void *sem_arg
)
599 #define FLD(f) abuf->fields.sfmt_bbi.f
600 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
601 const IDESC
* UNUSED idesc
= abuf
->idesc
;
605 int UNUSED insn_referenced
= abuf
->written
;
606 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
613 model_iq2000_bgezall (SIM_CPU
*current_cpu
, void *sem_arg
)
615 #define FLD(f) abuf->fields.sfmt_bbi.f
616 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
617 const IDESC
* UNUSED idesc
= abuf
->idesc
;
621 int UNUSED insn_referenced
= abuf
->written
;
622 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
629 model_iq2000_bgezl (SIM_CPU
*current_cpu
, void *sem_arg
)
631 #define FLD(f) abuf->fields.sfmt_bbi.f
632 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
633 const IDESC
* UNUSED idesc
= abuf
->idesc
;
637 int UNUSED insn_referenced
= abuf
->written
;
638 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
645 model_iq2000_bltz (SIM_CPU
*current_cpu
, void *sem_arg
)
647 #define FLD(f) abuf->fields.sfmt_bbi.f
648 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
649 const IDESC
* UNUSED idesc
= abuf
->idesc
;
653 int UNUSED insn_referenced
= abuf
->written
;
654 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
661 model_iq2000_bltzl (SIM_CPU
*current_cpu
, void *sem_arg
)
663 #define FLD(f) abuf->fields.sfmt_bbi.f
664 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
665 const IDESC
* UNUSED idesc
= abuf
->idesc
;
669 int UNUSED insn_referenced
= abuf
->written
;
670 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
677 model_iq2000_bltzal (SIM_CPU
*current_cpu
, void *sem_arg
)
679 #define FLD(f) abuf->fields.sfmt_bbi.f
680 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
681 const IDESC
* UNUSED idesc
= abuf
->idesc
;
685 int UNUSED insn_referenced
= abuf
->written
;
686 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
693 model_iq2000_bltzall (SIM_CPU
*current_cpu
, void *sem_arg
)
695 #define FLD(f) abuf->fields.sfmt_bbi.f
696 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
697 const IDESC
* UNUSED idesc
= abuf
->idesc
;
701 int UNUSED insn_referenced
= abuf
->written
;
702 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
709 model_iq2000_bmb0 (SIM_CPU
*current_cpu
, void *sem_arg
)
711 #define FLD(f) abuf->fields.sfmt_bbi.f
712 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
713 const IDESC
* UNUSED idesc
= abuf
->idesc
;
717 int UNUSED insn_referenced
= abuf
->written
;
718 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
725 model_iq2000_bmb1 (SIM_CPU
*current_cpu
, void *sem_arg
)
727 #define FLD(f) abuf->fields.sfmt_bbi.f
728 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
729 const IDESC
* UNUSED idesc
= abuf
->idesc
;
733 int UNUSED insn_referenced
= abuf
->written
;
734 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
741 model_iq2000_bmb2 (SIM_CPU
*current_cpu
, void *sem_arg
)
743 #define FLD(f) abuf->fields.sfmt_bbi.f
744 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
745 const IDESC
* UNUSED idesc
= abuf
->idesc
;
749 int UNUSED insn_referenced
= abuf
->written
;
750 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
757 model_iq2000_bmb3 (SIM_CPU
*current_cpu
, void *sem_arg
)
759 #define FLD(f) abuf->fields.sfmt_bbi.f
760 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
761 const IDESC
* UNUSED idesc
= abuf
->idesc
;
765 int UNUSED insn_referenced
= abuf
->written
;
766 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
773 model_iq2000_bne (SIM_CPU
*current_cpu
, void *sem_arg
)
775 #define FLD(f) abuf->fields.sfmt_bbi.f
776 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
777 const IDESC
* UNUSED idesc
= abuf
->idesc
;
781 int UNUSED insn_referenced
= abuf
->written
;
782 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
789 model_iq2000_bnel (SIM_CPU
*current_cpu
, void *sem_arg
)
791 #define FLD(f) abuf->fields.sfmt_bbi.f
792 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
793 const IDESC
* UNUSED idesc
= abuf
->idesc
;
797 int UNUSED insn_referenced
= abuf
->written
;
798 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
805 model_iq2000_jalr (SIM_CPU
*current_cpu
, void *sem_arg
)
807 #define FLD(f) abuf->fields.sfmt_mrgb.f
808 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
809 const IDESC
* UNUSED idesc
= abuf
->idesc
;
813 int UNUSED insn_referenced
= abuf
->written
;
814 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
821 model_iq2000_jr (SIM_CPU
*current_cpu
, void *sem_arg
)
823 #define FLD(f) abuf->fields.sfmt_bbi.f
824 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
825 const IDESC
* UNUSED idesc
= abuf
->idesc
;
829 int UNUSED insn_referenced
= abuf
->written
;
830 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
837 model_iq2000_lb (SIM_CPU
*current_cpu
, void *sem_arg
)
839 #define FLD(f) abuf->fields.sfmt_addi.f
840 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
841 const IDESC
* UNUSED idesc
= abuf
->idesc
;
845 int UNUSED insn_referenced
= abuf
->written
;
846 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
853 model_iq2000_lbu (SIM_CPU
*current_cpu
, void *sem_arg
)
855 #define FLD(f) abuf->fields.sfmt_addi.f
856 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
857 const IDESC
* UNUSED idesc
= abuf
->idesc
;
861 int UNUSED insn_referenced
= abuf
->written
;
862 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
869 model_iq2000_lh (SIM_CPU
*current_cpu
, void *sem_arg
)
871 #define FLD(f) abuf->fields.sfmt_addi.f
872 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
873 const IDESC
* UNUSED idesc
= abuf
->idesc
;
877 int UNUSED insn_referenced
= abuf
->written
;
878 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
885 model_iq2000_lhu (SIM_CPU
*current_cpu
, void *sem_arg
)
887 #define FLD(f) abuf->fields.sfmt_addi.f
888 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
889 const IDESC
* UNUSED idesc
= abuf
->idesc
;
893 int UNUSED insn_referenced
= abuf
->written
;
894 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
901 model_iq2000_lui (SIM_CPU
*current_cpu
, void *sem_arg
)
903 #define FLD(f) abuf->fields.sfmt_addi.f
904 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
905 const IDESC
* UNUSED idesc
= abuf
->idesc
;
909 int UNUSED insn_referenced
= abuf
->written
;
910 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
917 model_iq2000_lw (SIM_CPU
*current_cpu
, void *sem_arg
)
919 #define FLD(f) abuf->fields.sfmt_addi.f
920 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
921 const IDESC
* UNUSED idesc
= abuf
->idesc
;
925 int UNUSED insn_referenced
= abuf
->written
;
926 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
933 model_iq2000_sb (SIM_CPU
*current_cpu
, void *sem_arg
)
935 #define FLD(f) abuf->fields.sfmt_addi.f
936 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
937 const IDESC
* UNUSED idesc
= abuf
->idesc
;
941 int UNUSED insn_referenced
= abuf
->written
;
942 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
949 model_iq2000_sh (SIM_CPU
*current_cpu
, void *sem_arg
)
951 #define FLD(f) abuf->fields.sfmt_addi.f
952 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
953 const IDESC
* UNUSED idesc
= abuf
->idesc
;
957 int UNUSED insn_referenced
= abuf
->written
;
958 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
965 model_iq2000_sw (SIM_CPU
*current_cpu
, void *sem_arg
)
967 #define FLD(f) abuf->fields.sfmt_addi.f
968 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
969 const IDESC
* UNUSED idesc
= abuf
->idesc
;
973 int UNUSED insn_referenced
= abuf
->written
;
974 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
981 model_iq2000_break (SIM_CPU
*current_cpu
, void *sem_arg
)
983 #define FLD(f) abuf->fields.sfmt_empty.f
984 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
985 const IDESC
* UNUSED idesc
= abuf
->idesc
;
989 int UNUSED insn_referenced
= abuf
->written
;
990 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
997 model_iq2000_syscall (SIM_CPU
*current_cpu
, void *sem_arg
)
999 #define FLD(f) abuf->fields.sfmt_empty.f
1000 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1001 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1005 int UNUSED insn_referenced
= abuf
->written
;
1006 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1013 model_iq2000_andoui (SIM_CPU
*current_cpu
, void *sem_arg
)
1015 #define FLD(f) abuf->fields.sfmt_addi.f
1016 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1017 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1021 int UNUSED insn_referenced
= abuf
->written
;
1022 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1029 model_iq2000_orui (SIM_CPU
*current_cpu
, void *sem_arg
)
1031 #define FLD(f) abuf->fields.sfmt_addi.f
1032 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1033 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1037 int UNUSED insn_referenced
= abuf
->written
;
1038 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1045 model_iq2000_bgtz (SIM_CPU
*current_cpu
, void *sem_arg
)
1047 #define FLD(f) abuf->fields.sfmt_bbi.f
1048 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1049 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1053 int UNUSED insn_referenced
= abuf
->written
;
1054 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1061 model_iq2000_bgtzl (SIM_CPU
*current_cpu
, void *sem_arg
)
1063 #define FLD(f) abuf->fields.sfmt_bbi.f
1064 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1065 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1069 int UNUSED insn_referenced
= abuf
->written
;
1070 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1077 model_iq2000_blez (SIM_CPU
*current_cpu
, void *sem_arg
)
1079 #define FLD(f) abuf->fields.sfmt_bbi.f
1080 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1081 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1085 int UNUSED insn_referenced
= abuf
->written
;
1086 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1093 model_iq2000_blezl (SIM_CPU
*current_cpu
, void *sem_arg
)
1095 #define FLD(f) abuf->fields.sfmt_bbi.f
1096 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1097 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1101 int UNUSED insn_referenced
= abuf
->written
;
1102 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1109 model_iq2000_mrgb (SIM_CPU
*current_cpu
, void *sem_arg
)
1111 #define FLD(f) abuf->fields.sfmt_mrgb.f
1112 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1113 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1117 int UNUSED insn_referenced
= abuf
->written
;
1118 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1125 model_iq2000_bctxt (SIM_CPU
*current_cpu
, void *sem_arg
)
1127 #define FLD(f) abuf->fields.sfmt_empty.f
1128 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1129 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1133 int UNUSED insn_referenced
= abuf
->written
;
1134 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1141 model_iq2000_bc0f (SIM_CPU
*current_cpu
, void *sem_arg
)
1143 #define FLD(f) abuf->fields.sfmt_empty.f
1144 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1145 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1149 int UNUSED insn_referenced
= abuf
->written
;
1150 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1157 model_iq2000_bc0fl (SIM_CPU
*current_cpu
, void *sem_arg
)
1159 #define FLD(f) abuf->fields.sfmt_empty.f
1160 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1161 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1165 int UNUSED insn_referenced
= abuf
->written
;
1166 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1173 model_iq2000_bc3f (SIM_CPU
*current_cpu
, void *sem_arg
)
1175 #define FLD(f) abuf->fields.sfmt_empty.f
1176 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1177 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1181 int UNUSED insn_referenced
= abuf
->written
;
1182 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1189 model_iq2000_bc3fl (SIM_CPU
*current_cpu
, void *sem_arg
)
1191 #define FLD(f) abuf->fields.sfmt_empty.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
;
1198 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1205 model_iq2000_bc0t (SIM_CPU
*current_cpu
, void *sem_arg
)
1207 #define FLD(f) abuf->fields.sfmt_empty.f
1208 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1209 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1213 int UNUSED insn_referenced
= abuf
->written
;
1214 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1221 model_iq2000_bc0tl (SIM_CPU
*current_cpu
, void *sem_arg
)
1223 #define FLD(f) abuf->fields.sfmt_empty.f
1224 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1225 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1229 int UNUSED insn_referenced
= abuf
->written
;
1230 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1237 model_iq2000_bc3t (SIM_CPU
*current_cpu
, void *sem_arg
)
1239 #define FLD(f) abuf->fields.sfmt_empty.f
1240 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1241 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1245 int UNUSED insn_referenced
= abuf
->written
;
1246 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1253 model_iq2000_bc3tl (SIM_CPU
*current_cpu
, void *sem_arg
)
1255 #define FLD(f) abuf->fields.sfmt_empty.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
;
1262 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1269 model_iq2000_cfc0 (SIM_CPU
*current_cpu
, void *sem_arg
)
1271 #define FLD(f) abuf->fields.sfmt_empty.f
1272 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1273 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1277 int UNUSED insn_referenced
= abuf
->written
;
1278 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1285 model_iq2000_cfc1 (SIM_CPU
*current_cpu
, void *sem_arg
)
1287 #define FLD(f) abuf->fields.sfmt_empty.f
1288 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1289 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1293 int UNUSED insn_referenced
= abuf
->written
;
1294 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1301 model_iq2000_cfc2 (SIM_CPU
*current_cpu
, void *sem_arg
)
1303 #define FLD(f) abuf->fields.sfmt_empty.f
1304 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1305 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1309 int UNUSED insn_referenced
= abuf
->written
;
1310 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1317 model_iq2000_cfc3 (SIM_CPU
*current_cpu
, void *sem_arg
)
1319 #define FLD(f) abuf->fields.sfmt_empty.f
1320 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1321 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1325 int UNUSED insn_referenced
= abuf
->written
;
1326 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1333 model_iq2000_chkhdr (SIM_CPU
*current_cpu
, void *sem_arg
)
1335 #define FLD(f) abuf->fields.sfmt_empty.f
1336 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1337 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1341 int UNUSED insn_referenced
= abuf
->written
;
1342 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1349 model_iq2000_ctc0 (SIM_CPU
*current_cpu
, void *sem_arg
)
1351 #define FLD(f) abuf->fields.sfmt_empty.f
1352 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1353 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1357 int UNUSED insn_referenced
= abuf
->written
;
1358 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1365 model_iq2000_ctc1 (SIM_CPU
*current_cpu
, void *sem_arg
)
1367 #define FLD(f) abuf->fields.sfmt_empty.f
1368 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1369 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1373 int UNUSED insn_referenced
= abuf
->written
;
1374 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1381 model_iq2000_ctc2 (SIM_CPU
*current_cpu
, void *sem_arg
)
1383 #define FLD(f) abuf->fields.sfmt_empty.f
1384 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1385 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1389 int UNUSED insn_referenced
= abuf
->written
;
1390 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1397 model_iq2000_ctc3 (SIM_CPU
*current_cpu
, void *sem_arg
)
1399 #define FLD(f) abuf->fields.sfmt_empty.f
1400 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1401 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1405 int UNUSED insn_referenced
= abuf
->written
;
1406 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1413 model_iq2000_jcr (SIM_CPU
*current_cpu
, void *sem_arg
)
1415 #define FLD(f) abuf->fields.sfmt_empty.f
1416 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1417 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1421 int UNUSED insn_referenced
= abuf
->written
;
1422 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1429 model_iq2000_luc32 (SIM_CPU
*current_cpu
, void *sem_arg
)
1431 #define FLD(f) abuf->fields.sfmt_empty.f
1432 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1433 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1437 int UNUSED insn_referenced
= abuf
->written
;
1438 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1445 model_iq2000_luc32l (SIM_CPU
*current_cpu
, void *sem_arg
)
1447 #define FLD(f) abuf->fields.sfmt_empty.f
1448 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1449 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1453 int UNUSED insn_referenced
= abuf
->written
;
1454 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1461 model_iq2000_luc64 (SIM_CPU
*current_cpu
, void *sem_arg
)
1463 #define FLD(f) abuf->fields.sfmt_empty.f
1464 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1465 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1469 int UNUSED insn_referenced
= abuf
->written
;
1470 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1477 model_iq2000_luc64l (SIM_CPU
*current_cpu
, void *sem_arg
)
1479 #define FLD(f) abuf->fields.sfmt_empty.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
;
1486 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1493 model_iq2000_luk (SIM_CPU
*current_cpu
, void *sem_arg
)
1495 #define FLD(f) abuf->fields.sfmt_empty.f
1496 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1497 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1501 int UNUSED insn_referenced
= abuf
->written
;
1502 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1509 model_iq2000_lulck (SIM_CPU
*current_cpu
, void *sem_arg
)
1511 #define FLD(f) abuf->fields.sfmt_empty.f
1512 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1513 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1517 int UNUSED insn_referenced
= abuf
->written
;
1518 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1525 model_iq2000_lum32 (SIM_CPU
*current_cpu
, void *sem_arg
)
1527 #define FLD(f) abuf->fields.sfmt_empty.f
1528 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1529 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1533 int UNUSED insn_referenced
= abuf
->written
;
1534 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1541 model_iq2000_lum32l (SIM_CPU
*current_cpu
, void *sem_arg
)
1543 #define FLD(f) abuf->fields.sfmt_empty.f
1544 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1545 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1549 int UNUSED insn_referenced
= abuf
->written
;
1550 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1557 model_iq2000_lum64 (SIM_CPU
*current_cpu
, void *sem_arg
)
1559 #define FLD(f) abuf->fields.sfmt_empty.f
1560 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1561 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1565 int UNUSED insn_referenced
= abuf
->written
;
1566 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1573 model_iq2000_lum64l (SIM_CPU
*current_cpu
, void *sem_arg
)
1575 #define FLD(f) abuf->fields.sfmt_empty.f
1576 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1577 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1581 int UNUSED insn_referenced
= abuf
->written
;
1582 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1589 model_iq2000_lur (SIM_CPU
*current_cpu
, void *sem_arg
)
1591 #define FLD(f) abuf->fields.sfmt_empty.f
1592 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1593 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1597 int UNUSED insn_referenced
= abuf
->written
;
1598 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1605 model_iq2000_lurl (SIM_CPU
*current_cpu
, void *sem_arg
)
1607 #define FLD(f) abuf->fields.sfmt_empty.f
1608 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1609 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1613 int UNUSED insn_referenced
= abuf
->written
;
1614 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1621 model_iq2000_luulck (SIM_CPU
*current_cpu
, void *sem_arg
)
1623 #define FLD(f) abuf->fields.sfmt_empty.f
1624 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1625 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1629 int UNUSED insn_referenced
= abuf
->written
;
1630 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1637 model_iq2000_mfc0 (SIM_CPU
*current_cpu
, void *sem_arg
)
1639 #define FLD(f) abuf->fields.sfmt_empty.f
1640 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1641 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1645 int UNUSED insn_referenced
= abuf
->written
;
1646 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1653 model_iq2000_mfc1 (SIM_CPU
*current_cpu
, void *sem_arg
)
1655 #define FLD(f) abuf->fields.sfmt_empty.f
1656 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1657 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1661 int UNUSED insn_referenced
= abuf
->written
;
1662 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1669 model_iq2000_mfc2 (SIM_CPU
*current_cpu
, void *sem_arg
)
1671 #define FLD(f) abuf->fields.sfmt_empty.f
1672 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1673 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1677 int UNUSED insn_referenced
= abuf
->written
;
1678 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1685 model_iq2000_mfc3 (SIM_CPU
*current_cpu
, void *sem_arg
)
1687 #define FLD(f) abuf->fields.sfmt_empty.f
1688 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1689 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1693 int UNUSED insn_referenced
= abuf
->written
;
1694 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1701 model_iq2000_mtc0 (SIM_CPU
*current_cpu
, void *sem_arg
)
1703 #define FLD(f) abuf->fields.sfmt_empty.f
1704 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1705 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1709 int UNUSED insn_referenced
= abuf
->written
;
1710 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1717 model_iq2000_mtc1 (SIM_CPU
*current_cpu
, void *sem_arg
)
1719 #define FLD(f) abuf->fields.sfmt_empty.f
1720 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1721 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1725 int UNUSED insn_referenced
= abuf
->written
;
1726 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1733 model_iq2000_mtc2 (SIM_CPU
*current_cpu
, void *sem_arg
)
1735 #define FLD(f) abuf->fields.sfmt_empty.f
1736 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1737 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1741 int UNUSED insn_referenced
= abuf
->written
;
1742 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1749 model_iq2000_mtc3 (SIM_CPU
*current_cpu
, void *sem_arg
)
1751 #define FLD(f) abuf->fields.sfmt_empty.f
1752 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1753 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1757 int UNUSED insn_referenced
= abuf
->written
;
1758 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1765 model_iq2000_pkrl (SIM_CPU
*current_cpu
, void *sem_arg
)
1767 #define FLD(f) abuf->fields.sfmt_empty.f
1768 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1769 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1773 int UNUSED insn_referenced
= abuf
->written
;
1774 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1781 model_iq2000_pkrlr1 (SIM_CPU
*current_cpu
, void *sem_arg
)
1783 #define FLD(f) abuf->fields.sfmt_empty.f
1784 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1785 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1789 int UNUSED insn_referenced
= abuf
->written
;
1790 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1797 model_iq2000_pkrlr30 (SIM_CPU
*current_cpu
, void *sem_arg
)
1799 #define FLD(f) abuf->fields.sfmt_empty.f
1800 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1801 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1805 int UNUSED insn_referenced
= abuf
->written
;
1806 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1813 model_iq2000_rb (SIM_CPU
*current_cpu
, void *sem_arg
)
1815 #define FLD(f) abuf->fields.sfmt_empty.f
1816 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1817 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1821 int UNUSED insn_referenced
= abuf
->written
;
1822 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1829 model_iq2000_rbr1 (SIM_CPU
*current_cpu
, void *sem_arg
)
1831 #define FLD(f) abuf->fields.sfmt_empty.f
1832 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1833 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1837 int UNUSED insn_referenced
= abuf
->written
;
1838 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1845 model_iq2000_rbr30 (SIM_CPU
*current_cpu
, void *sem_arg
)
1847 #define FLD(f) abuf->fields.sfmt_empty.f
1848 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1849 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1853 int UNUSED insn_referenced
= abuf
->written
;
1854 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1861 model_iq2000_rfe (SIM_CPU
*current_cpu
, void *sem_arg
)
1863 #define FLD(f) abuf->fields.sfmt_empty.f
1864 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1865 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1869 int UNUSED insn_referenced
= abuf
->written
;
1870 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1877 model_iq2000_rx (SIM_CPU
*current_cpu
, void *sem_arg
)
1879 #define FLD(f) abuf->fields.sfmt_empty.f
1880 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1881 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1885 int UNUSED insn_referenced
= abuf
->written
;
1886 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1893 model_iq2000_rxr1 (SIM_CPU
*current_cpu
, void *sem_arg
)
1895 #define FLD(f) abuf->fields.sfmt_empty.f
1896 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1897 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1901 int UNUSED insn_referenced
= abuf
->written
;
1902 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1909 model_iq2000_rxr30 (SIM_CPU
*current_cpu
, void *sem_arg
)
1911 #define FLD(f) abuf->fields.sfmt_empty.f
1912 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1913 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1917 int UNUSED insn_referenced
= abuf
->written
;
1918 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1925 model_iq2000_sleep (SIM_CPU
*current_cpu
, void *sem_arg
)
1927 #define FLD(f) abuf->fields.sfmt_empty.f
1928 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1929 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1933 int UNUSED insn_referenced
= abuf
->written
;
1934 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1941 model_iq2000_srrd (SIM_CPU
*current_cpu
, void *sem_arg
)
1943 #define FLD(f) abuf->fields.sfmt_empty.f
1944 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1945 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1949 int UNUSED insn_referenced
= abuf
->written
;
1950 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1957 model_iq2000_srrdl (SIM_CPU
*current_cpu
, void *sem_arg
)
1959 #define FLD(f) abuf->fields.sfmt_empty.f
1960 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1961 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1965 int UNUSED insn_referenced
= abuf
->written
;
1966 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1973 model_iq2000_srulck (SIM_CPU
*current_cpu
, void *sem_arg
)
1975 #define FLD(f) abuf->fields.sfmt_empty.f
1976 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1977 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1981 int UNUSED insn_referenced
= abuf
->written
;
1982 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
1989 model_iq2000_srwr (SIM_CPU
*current_cpu
, void *sem_arg
)
1991 #define FLD(f) abuf->fields.sfmt_empty.f
1992 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1993 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1997 int UNUSED insn_referenced
= abuf
->written
;
1998 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2005 model_iq2000_srwru (SIM_CPU
*current_cpu
, void *sem_arg
)
2007 #define FLD(f) abuf->fields.sfmt_empty.f
2008 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2009 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2013 int UNUSED insn_referenced
= abuf
->written
;
2014 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2021 model_iq2000_trapqfl (SIM_CPU
*current_cpu
, void *sem_arg
)
2023 #define FLD(f) abuf->fields.sfmt_empty.f
2024 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2025 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2029 int UNUSED insn_referenced
= abuf
->written
;
2030 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2037 model_iq2000_trapqne (SIM_CPU
*current_cpu
, void *sem_arg
)
2039 #define FLD(f) abuf->fields.sfmt_empty.f
2040 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2041 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2045 int UNUSED insn_referenced
= abuf
->written
;
2046 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2053 model_iq2000_traprel (SIM_CPU
*current_cpu
, void *sem_arg
)
2055 #define FLD(f) abuf->fields.sfmt_empty.f
2056 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2057 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2061 int UNUSED insn_referenced
= abuf
->written
;
2062 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2069 model_iq2000_wb (SIM_CPU
*current_cpu
, void *sem_arg
)
2071 #define FLD(f) abuf->fields.sfmt_empty.f
2072 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2073 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2077 int UNUSED insn_referenced
= abuf
->written
;
2078 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2085 model_iq2000_wbu (SIM_CPU
*current_cpu
, void *sem_arg
)
2087 #define FLD(f) abuf->fields.sfmt_empty.f
2088 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2089 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2093 int UNUSED insn_referenced
= abuf
->written
;
2094 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2101 model_iq2000_wbr1 (SIM_CPU
*current_cpu
, void *sem_arg
)
2103 #define FLD(f) abuf->fields.sfmt_empty.f
2104 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2105 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2109 int UNUSED insn_referenced
= abuf
->written
;
2110 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2117 model_iq2000_wbr1u (SIM_CPU
*current_cpu
, void *sem_arg
)
2119 #define FLD(f) abuf->fields.sfmt_empty.f
2120 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2121 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2125 int UNUSED insn_referenced
= abuf
->written
;
2126 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2133 model_iq2000_wbr30 (SIM_CPU
*current_cpu
, void *sem_arg
)
2135 #define FLD(f) abuf->fields.sfmt_empty.f
2136 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2137 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2141 int UNUSED insn_referenced
= abuf
->written
;
2142 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2149 model_iq2000_wbr30u (SIM_CPU
*current_cpu
, void *sem_arg
)
2151 #define FLD(f) abuf->fields.sfmt_empty.f
2152 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2153 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2157 int UNUSED insn_referenced
= abuf
->written
;
2158 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2165 model_iq2000_wx (SIM_CPU
*current_cpu
, void *sem_arg
)
2167 #define FLD(f) abuf->fields.sfmt_empty.f
2168 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2169 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2173 int UNUSED insn_referenced
= abuf
->written
;
2174 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2181 model_iq2000_wxu (SIM_CPU
*current_cpu
, void *sem_arg
)
2183 #define FLD(f) abuf->fields.sfmt_empty.f
2184 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2185 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2189 int UNUSED insn_referenced
= abuf
->written
;
2190 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2197 model_iq2000_wxr1 (SIM_CPU
*current_cpu
, void *sem_arg
)
2199 #define FLD(f) abuf->fields.sfmt_empty.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
;
2206 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2213 model_iq2000_wxr1u (SIM_CPU
*current_cpu
, void *sem_arg
)
2215 #define FLD(f) abuf->fields.sfmt_empty.f
2216 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2217 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2221 int UNUSED insn_referenced
= abuf
->written
;
2222 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2229 model_iq2000_wxr30 (SIM_CPU
*current_cpu
, void *sem_arg
)
2231 #define FLD(f) abuf->fields.sfmt_empty.f
2232 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2233 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2237 int UNUSED insn_referenced
= abuf
->written
;
2238 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2245 model_iq2000_wxr30u (SIM_CPU
*current_cpu
, void *sem_arg
)
2247 #define FLD(f) abuf->fields.sfmt_empty.f
2248 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2249 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2253 int UNUSED insn_referenced
= abuf
->written
;
2254 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2261 model_iq2000_ldw (SIM_CPU
*current_cpu
, void *sem_arg
)
2263 #define FLD(f) abuf->fields.sfmt_addi.f
2264 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2265 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2269 int UNUSED insn_referenced
= abuf
->written
;
2270 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2277 model_iq2000_sdw (SIM_CPU
*current_cpu
, void *sem_arg
)
2279 #define FLD(f) abuf->fields.sfmt_addi.f
2280 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2281 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2285 int UNUSED insn_referenced
= abuf
->written
;
2286 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2293 model_iq2000_j (SIM_CPU
*current_cpu
, void *sem_arg
)
2295 #define FLD(f) abuf->fields.sfmt_j.f
2296 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2297 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2301 int UNUSED insn_referenced
= abuf
->written
;
2302 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2309 model_iq2000_jal (SIM_CPU
*current_cpu
, void *sem_arg
)
2311 #define FLD(f) abuf->fields.sfmt_j.f
2312 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2313 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2317 int UNUSED insn_referenced
= abuf
->written
;
2318 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2325 model_iq2000_bmb (SIM_CPU
*current_cpu
, void *sem_arg
)
2327 #define FLD(f) abuf->fields.sfmt_bbi.f
2328 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2329 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2333 int UNUSED insn_referenced
= abuf
->written
;
2334 cycles
+= iq2000bf_model_iq2000_u_exec (current_cpu
, idesc
, 0, referenced
);
2340 /* We assume UNIT_NONE == 0 because the tables don't always terminate
2343 /* Model timing data for `iq2000'. */
2345 static const INSN_TIMING iq2000_timing
[] = {
2346 { IQ2000BF_INSN_X_INVALID
, 0, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2347 { IQ2000BF_INSN_X_AFTER
, 0, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2348 { IQ2000BF_INSN_X_BEFORE
, 0, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2349 { IQ2000BF_INSN_X_CTI_CHAIN
, 0, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2350 { IQ2000BF_INSN_X_CHAIN
, 0, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2351 { IQ2000BF_INSN_X_BEGIN
, 0, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2352 { IQ2000BF_INSN_ADD
, model_iq2000_add
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2353 { IQ2000BF_INSN_ADDI
, model_iq2000_addi
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2354 { IQ2000BF_INSN_ADDIU
, model_iq2000_addiu
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2355 { IQ2000BF_INSN_ADDU
, model_iq2000_addu
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2356 { IQ2000BF_INSN_ADO16
, model_iq2000_ado16
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2357 { IQ2000BF_INSN_AND
, model_iq2000_and
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2358 { IQ2000BF_INSN_ANDI
, model_iq2000_andi
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2359 { IQ2000BF_INSN_ANDOI
, model_iq2000_andoi
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2360 { IQ2000BF_INSN_NOR
, model_iq2000_nor
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2361 { IQ2000BF_INSN_OR
, model_iq2000_or
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2362 { IQ2000BF_INSN_ORI
, model_iq2000_ori
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2363 { IQ2000BF_INSN_RAM
, model_iq2000_ram
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2364 { IQ2000BF_INSN_SLL
, model_iq2000_sll
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2365 { IQ2000BF_INSN_SLLV
, model_iq2000_sllv
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2366 { IQ2000BF_INSN_SLMV
, model_iq2000_slmv
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2367 { IQ2000BF_INSN_SLT
, model_iq2000_slt
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2368 { IQ2000BF_INSN_SLTI
, model_iq2000_slti
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2369 { IQ2000BF_INSN_SLTIU
, model_iq2000_sltiu
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2370 { IQ2000BF_INSN_SLTU
, model_iq2000_sltu
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2371 { IQ2000BF_INSN_SRA
, model_iq2000_sra
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2372 { IQ2000BF_INSN_SRAV
, model_iq2000_srav
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2373 { IQ2000BF_INSN_SRL
, model_iq2000_srl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2374 { IQ2000BF_INSN_SRLV
, model_iq2000_srlv
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2375 { IQ2000BF_INSN_SRMV
, model_iq2000_srmv
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2376 { IQ2000BF_INSN_SUB
, model_iq2000_sub
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2377 { IQ2000BF_INSN_SUBU
, model_iq2000_subu
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2378 { IQ2000BF_INSN_XOR
, model_iq2000_xor
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2379 { IQ2000BF_INSN_XORI
, model_iq2000_xori
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2380 { IQ2000BF_INSN_BBI
, model_iq2000_bbi
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2381 { IQ2000BF_INSN_BBIN
, model_iq2000_bbin
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2382 { IQ2000BF_INSN_BBV
, model_iq2000_bbv
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2383 { IQ2000BF_INSN_BBVN
, model_iq2000_bbvn
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2384 { IQ2000BF_INSN_BEQ
, model_iq2000_beq
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2385 { IQ2000BF_INSN_BEQL
, model_iq2000_beql
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2386 { IQ2000BF_INSN_BGEZ
, model_iq2000_bgez
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2387 { IQ2000BF_INSN_BGEZAL
, model_iq2000_bgezal
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2388 { IQ2000BF_INSN_BGEZALL
, model_iq2000_bgezall
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2389 { IQ2000BF_INSN_BGEZL
, model_iq2000_bgezl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2390 { IQ2000BF_INSN_BLTZ
, model_iq2000_bltz
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2391 { IQ2000BF_INSN_BLTZL
, model_iq2000_bltzl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2392 { IQ2000BF_INSN_BLTZAL
, model_iq2000_bltzal
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2393 { IQ2000BF_INSN_BLTZALL
, model_iq2000_bltzall
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2394 { IQ2000BF_INSN_BMB0
, model_iq2000_bmb0
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2395 { IQ2000BF_INSN_BMB1
, model_iq2000_bmb1
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2396 { IQ2000BF_INSN_BMB2
, model_iq2000_bmb2
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2397 { IQ2000BF_INSN_BMB3
, model_iq2000_bmb3
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2398 { IQ2000BF_INSN_BNE
, model_iq2000_bne
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2399 { IQ2000BF_INSN_BNEL
, model_iq2000_bnel
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2400 { IQ2000BF_INSN_JALR
, model_iq2000_jalr
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2401 { IQ2000BF_INSN_JR
, model_iq2000_jr
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2402 { IQ2000BF_INSN_LB
, model_iq2000_lb
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2403 { IQ2000BF_INSN_LBU
, model_iq2000_lbu
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2404 { IQ2000BF_INSN_LH
, model_iq2000_lh
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2405 { IQ2000BF_INSN_LHU
, model_iq2000_lhu
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2406 { IQ2000BF_INSN_LUI
, model_iq2000_lui
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2407 { IQ2000BF_INSN_LW
, model_iq2000_lw
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2408 { IQ2000BF_INSN_SB
, model_iq2000_sb
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2409 { IQ2000BF_INSN_SH
, model_iq2000_sh
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2410 { IQ2000BF_INSN_SW
, model_iq2000_sw
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2411 { IQ2000BF_INSN_BREAK
, model_iq2000_break
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2412 { IQ2000BF_INSN_SYSCALL
, model_iq2000_syscall
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2413 { IQ2000BF_INSN_ANDOUI
, model_iq2000_andoui
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2414 { IQ2000BF_INSN_ORUI
, model_iq2000_orui
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2415 { IQ2000BF_INSN_BGTZ
, model_iq2000_bgtz
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2416 { IQ2000BF_INSN_BGTZL
, model_iq2000_bgtzl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2417 { IQ2000BF_INSN_BLEZ
, model_iq2000_blez
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2418 { IQ2000BF_INSN_BLEZL
, model_iq2000_blezl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2419 { IQ2000BF_INSN_MRGB
, model_iq2000_mrgb
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2420 { IQ2000BF_INSN_BCTXT
, model_iq2000_bctxt
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2421 { IQ2000BF_INSN_BC0F
, model_iq2000_bc0f
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2422 { IQ2000BF_INSN_BC0FL
, model_iq2000_bc0fl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2423 { IQ2000BF_INSN_BC3F
, model_iq2000_bc3f
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2424 { IQ2000BF_INSN_BC3FL
, model_iq2000_bc3fl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2425 { IQ2000BF_INSN_BC0T
, model_iq2000_bc0t
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2426 { IQ2000BF_INSN_BC0TL
, model_iq2000_bc0tl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2427 { IQ2000BF_INSN_BC3T
, model_iq2000_bc3t
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2428 { IQ2000BF_INSN_BC3TL
, model_iq2000_bc3tl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2429 { IQ2000BF_INSN_CFC0
, model_iq2000_cfc0
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2430 { IQ2000BF_INSN_CFC1
, model_iq2000_cfc1
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2431 { IQ2000BF_INSN_CFC2
, model_iq2000_cfc2
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2432 { IQ2000BF_INSN_CFC3
, model_iq2000_cfc3
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2433 { IQ2000BF_INSN_CHKHDR
, model_iq2000_chkhdr
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2434 { IQ2000BF_INSN_CTC0
, model_iq2000_ctc0
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2435 { IQ2000BF_INSN_CTC1
, model_iq2000_ctc1
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2436 { IQ2000BF_INSN_CTC2
, model_iq2000_ctc2
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2437 { IQ2000BF_INSN_CTC3
, model_iq2000_ctc3
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2438 { IQ2000BF_INSN_JCR
, model_iq2000_jcr
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2439 { IQ2000BF_INSN_LUC32
, model_iq2000_luc32
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2440 { IQ2000BF_INSN_LUC32L
, model_iq2000_luc32l
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2441 { IQ2000BF_INSN_LUC64
, model_iq2000_luc64
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2442 { IQ2000BF_INSN_LUC64L
, model_iq2000_luc64l
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2443 { IQ2000BF_INSN_LUK
, model_iq2000_luk
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2444 { IQ2000BF_INSN_LULCK
, model_iq2000_lulck
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2445 { IQ2000BF_INSN_LUM32
, model_iq2000_lum32
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2446 { IQ2000BF_INSN_LUM32L
, model_iq2000_lum32l
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2447 { IQ2000BF_INSN_LUM64
, model_iq2000_lum64
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2448 { IQ2000BF_INSN_LUM64L
, model_iq2000_lum64l
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2449 { IQ2000BF_INSN_LUR
, model_iq2000_lur
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2450 { IQ2000BF_INSN_LURL
, model_iq2000_lurl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2451 { IQ2000BF_INSN_LUULCK
, model_iq2000_luulck
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2452 { IQ2000BF_INSN_MFC0
, model_iq2000_mfc0
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2453 { IQ2000BF_INSN_MFC1
, model_iq2000_mfc1
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2454 { IQ2000BF_INSN_MFC2
, model_iq2000_mfc2
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2455 { IQ2000BF_INSN_MFC3
, model_iq2000_mfc3
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2456 { IQ2000BF_INSN_MTC0
, model_iq2000_mtc0
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2457 { IQ2000BF_INSN_MTC1
, model_iq2000_mtc1
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2458 { IQ2000BF_INSN_MTC2
, model_iq2000_mtc2
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2459 { IQ2000BF_INSN_MTC3
, model_iq2000_mtc3
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2460 { IQ2000BF_INSN_PKRL
, model_iq2000_pkrl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2461 { IQ2000BF_INSN_PKRLR1
, model_iq2000_pkrlr1
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2462 { IQ2000BF_INSN_PKRLR30
, model_iq2000_pkrlr30
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2463 { IQ2000BF_INSN_RB
, model_iq2000_rb
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2464 { IQ2000BF_INSN_RBR1
, model_iq2000_rbr1
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2465 { IQ2000BF_INSN_RBR30
, model_iq2000_rbr30
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2466 { IQ2000BF_INSN_RFE
, model_iq2000_rfe
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2467 { IQ2000BF_INSN_RX
, model_iq2000_rx
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2468 { IQ2000BF_INSN_RXR1
, model_iq2000_rxr1
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2469 { IQ2000BF_INSN_RXR30
, model_iq2000_rxr30
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2470 { IQ2000BF_INSN_SLEEP
, model_iq2000_sleep
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2471 { IQ2000BF_INSN_SRRD
, model_iq2000_srrd
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2472 { IQ2000BF_INSN_SRRDL
, model_iq2000_srrdl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2473 { IQ2000BF_INSN_SRULCK
, model_iq2000_srulck
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2474 { IQ2000BF_INSN_SRWR
, model_iq2000_srwr
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2475 { IQ2000BF_INSN_SRWRU
, model_iq2000_srwru
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2476 { IQ2000BF_INSN_TRAPQFL
, model_iq2000_trapqfl
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2477 { IQ2000BF_INSN_TRAPQNE
, model_iq2000_trapqne
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2478 { IQ2000BF_INSN_TRAPREL
, model_iq2000_traprel
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2479 { IQ2000BF_INSN_WB
, model_iq2000_wb
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2480 { IQ2000BF_INSN_WBU
, model_iq2000_wbu
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2481 { IQ2000BF_INSN_WBR1
, model_iq2000_wbr1
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2482 { IQ2000BF_INSN_WBR1U
, model_iq2000_wbr1u
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2483 { IQ2000BF_INSN_WBR30
, model_iq2000_wbr30
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2484 { IQ2000BF_INSN_WBR30U
, model_iq2000_wbr30u
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2485 { IQ2000BF_INSN_WX
, model_iq2000_wx
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2486 { IQ2000BF_INSN_WXU
, model_iq2000_wxu
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2487 { IQ2000BF_INSN_WXR1
, model_iq2000_wxr1
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2488 { IQ2000BF_INSN_WXR1U
, model_iq2000_wxr1u
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2489 { IQ2000BF_INSN_WXR30
, model_iq2000_wxr30
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2490 { IQ2000BF_INSN_WXR30U
, model_iq2000_wxr30u
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2491 { IQ2000BF_INSN_LDW
, model_iq2000_ldw
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2492 { IQ2000BF_INSN_SDW
, model_iq2000_sdw
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2493 { IQ2000BF_INSN_J
, model_iq2000_j
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2494 { IQ2000BF_INSN_JAL
, model_iq2000_jal
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2495 { IQ2000BF_INSN_BMB
, model_iq2000_bmb
, { { (int) UNIT_IQ2000_U_EXEC
, 1, 1 } } },
2498 #endif /* WITH_PROFILE_MODEL_P */
2501 iq2000_model_init (SIM_CPU
*cpu
)
2503 CPU_MODEL_DATA (cpu
) = (void *) zalloc (sizeof (MODEL_IQ2000_DATA
));
2506 #if WITH_PROFILE_MODEL_P
2507 #define TIMING_DATA(td) td
2509 #define TIMING_DATA(td) 0
2512 static const SIM_MODEL iq2000_models
[] =
2514 { "iq2000", & iq2000_mach
, MODEL_IQ2000
, TIMING_DATA (& iq2000_timing
[0]), iq2000_model_init
},
2518 /* The properties of this cpu's implementation. */
2520 static const SIM_MACH_IMP_PROPERTIES iq2000bf_imp_properties
=
2532 iq2000bf_prepare_run (SIM_CPU
*cpu
)
2534 if (CPU_IDESC (cpu
) == NULL
)
2535 iq2000bf_init_idesc_table (cpu
);
2538 static const CGEN_INSN
*
2539 iq2000bf_get_idata (SIM_CPU
*cpu
, int inum
)
2541 return CPU_IDESC (cpu
) [inum
].idata
;
2545 iq2000_init_cpu (SIM_CPU
*cpu
)
2547 CPU_REG_FETCH (cpu
) = iq2000bf_fetch_register
;
2548 CPU_REG_STORE (cpu
) = iq2000bf_store_register
;
2549 CPU_PC_FETCH (cpu
) = iq2000bf_h_pc_get
;
2550 CPU_PC_STORE (cpu
) = iq2000bf_h_pc_set
;
2551 CPU_GET_IDATA (cpu
) = iq2000bf_get_idata
;
2552 CPU_MAX_INSNS (cpu
) = IQ2000BF_INSN__MAX
;
2553 CPU_INSN_NAME (cpu
) = cgen_insn_name
;
2554 CPU_FULL_ENGINE_FN (cpu
) = iq2000bf_engine_run_full
;
2556 CPU_FAST_ENGINE_FN (cpu
) = iq2000bf_engine_run_fast
;
2558 CPU_FAST_ENGINE_FN (cpu
) = iq2000bf_engine_run_full
;
2562 const SIM_MACH iq2000_mach
=
2564 "iq2000", "iq2000", MACH_IQ2000
,
2565 32, 32, & iq2000_models
[0], & iq2000bf_imp_properties
,
2567 iq2000bf_prepare_run