]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/iq2000/model.c
Automatic date update in version.in
[thirdparty/binutils-gdb.git] / sim / iq2000 / model.c
CommitLineData
edece237
CV
1/* Simulator model support for iq2000bf.
2
3THIS FILE IS MACHINE GENERATED WITH CGEN.
4
1d506c26 5Copyright (C) 1996-2024 Free Software Foundation, Inc.
edece237
CV
6
7This file is part of the GNU simulators.
8
1a5691a5
DE
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)
12 any later version.
edece237 13
1a5691a5
DE
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.
edece237 18
1a5691a5 19 You should have received a copy of the GNU General Public License along
9d4f3616
AM
20 with this program; if not, write to the Free Software Foundation, Inc.,
21 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
edece237
CV
22
23*/
24
25#define WANT_CPU iq2000bf
26#define WANT_CPU_IQ2000BF
27
28#include "sim-main.h"
29
30/* The profiling data is recorded here, but is accessed via the profiling
31 mechanism. After all, this is information for profiling. */
32
33#if WITH_PROFILE_MODEL_P
34
35/* Model handlers for each insn. */
36
37static int
38model_iq2000_add (SIM_CPU *current_cpu, void *sem_arg)
39{
40#define FLD(f) abuf->fields.sfmt_mrgb.f
41 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
42 const IDESC * UNUSED idesc = abuf->idesc;
43 int cycles = 0;
44 {
45 int referenced = 0;
46 int UNUSED insn_referenced = abuf->written;
47 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
48 }
49 return cycles;
50#undef FLD
51}
52
53static int
54model_iq2000_addi (SIM_CPU *current_cpu, void *sem_arg)
55{
56#define FLD(f) abuf->fields.sfmt_addi.f
57 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
58 const IDESC * UNUSED idesc = abuf->idesc;
59 int cycles = 0;
60 {
61 int referenced = 0;
62 int UNUSED insn_referenced = abuf->written;
63 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
64 }
65 return cycles;
66#undef FLD
67}
68
69static int
70model_iq2000_addiu (SIM_CPU *current_cpu, void *sem_arg)
71{
72#define FLD(f) abuf->fields.sfmt_addi.f
73 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
74 const IDESC * UNUSED idesc = abuf->idesc;
75 int cycles = 0;
76 {
77 int referenced = 0;
78 int UNUSED insn_referenced = abuf->written;
79 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
80 }
81 return cycles;
82#undef FLD
83}
84
85static int
86model_iq2000_addu (SIM_CPU *current_cpu, void *sem_arg)
87{
88#define FLD(f) abuf->fields.sfmt_mrgb.f
89 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
90 const IDESC * UNUSED idesc = abuf->idesc;
91 int cycles = 0;
92 {
93 int referenced = 0;
94 int UNUSED insn_referenced = abuf->written;
95 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
96 }
97 return cycles;
98#undef FLD
99}
100
101static int
102model_iq2000_ado16 (SIM_CPU *current_cpu, void *sem_arg)
103{
104#define FLD(f) abuf->fields.sfmt_mrgb.f
105 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
106 const IDESC * UNUSED idesc = abuf->idesc;
107 int cycles = 0;
108 {
109 int referenced = 0;
110 int UNUSED insn_referenced = abuf->written;
111 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
112 }
113 return cycles;
114#undef FLD
115}
116
117static int
118model_iq2000_and (SIM_CPU *current_cpu, void *sem_arg)
119{
120#define FLD(f) abuf->fields.sfmt_mrgb.f
121 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
122 const IDESC * UNUSED idesc = abuf->idesc;
123 int cycles = 0;
124 {
125 int referenced = 0;
126 int UNUSED insn_referenced = abuf->written;
127 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
128 }
129 return cycles;
130#undef FLD
131}
132
133static int
134model_iq2000_andi (SIM_CPU *current_cpu, void *sem_arg)
135{
136#define FLD(f) abuf->fields.sfmt_addi.f
137 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
138 const IDESC * UNUSED idesc = abuf->idesc;
139 int cycles = 0;
140 {
141 int referenced = 0;
142 int UNUSED insn_referenced = abuf->written;
143 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
144 }
145 return cycles;
146#undef FLD
147}
148
149static int
150model_iq2000_andoi (SIM_CPU *current_cpu, void *sem_arg)
151{
152#define FLD(f) abuf->fields.sfmt_addi.f
153 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
154 const IDESC * UNUSED idesc = abuf->idesc;
155 int cycles = 0;
156 {
157 int referenced = 0;
158 int UNUSED insn_referenced = abuf->written;
159 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
160 }
161 return cycles;
162#undef FLD
163}
164
165static int
166model_iq2000_nor (SIM_CPU *current_cpu, void *sem_arg)
167{
168#define FLD(f) abuf->fields.sfmt_mrgb.f
169 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
170 const IDESC * UNUSED idesc = abuf->idesc;
171 int cycles = 0;
172 {
173 int referenced = 0;
174 int UNUSED insn_referenced = abuf->written;
175 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
176 }
177 return cycles;
178#undef FLD
179}
180
181static int
182model_iq2000_or (SIM_CPU *current_cpu, void *sem_arg)
183{
184#define FLD(f) abuf->fields.sfmt_mrgb.f
185 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
186 const IDESC * UNUSED idesc = abuf->idesc;
187 int cycles = 0;
188 {
189 int referenced = 0;
190 int UNUSED insn_referenced = abuf->written;
191 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
192 }
193 return cycles;
194#undef FLD
195}
196
197static int
198model_iq2000_ori (SIM_CPU *current_cpu, void *sem_arg)
199{
200#define FLD(f) abuf->fields.sfmt_addi.f
201 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
202 const IDESC * UNUSED idesc = abuf->idesc;
203 int cycles = 0;
204 {
205 int referenced = 0;
206 int UNUSED insn_referenced = abuf->written;
207 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
208 }
209 return cycles;
210#undef FLD
211}
212
213static int
214model_iq2000_ram (SIM_CPU *current_cpu, void *sem_arg)
215{
216#define FLD(f) abuf->fields.sfmt_ram.f
217 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
218 const IDESC * UNUSED idesc = abuf->idesc;
219 int cycles = 0;
220 {
221 int referenced = 0;
222 int UNUSED insn_referenced = abuf->written;
223 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
224 }
225 return cycles;
226#undef FLD
227}
228
229static int
230model_iq2000_sll (SIM_CPU *current_cpu, void *sem_arg)
231{
232#define FLD(f) abuf->fields.sfmt_ram.f
233 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
234 const IDESC * UNUSED idesc = abuf->idesc;
235 int cycles = 0;
236 {
237 int referenced = 0;
238 int UNUSED insn_referenced = abuf->written;
239 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
240 }
241 return cycles;
242#undef FLD
243}
244
245static int
246model_iq2000_sllv (SIM_CPU *current_cpu, void *sem_arg)
247{
248#define FLD(f) abuf->fields.sfmt_mrgb.f
249 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
250 const IDESC * UNUSED idesc = abuf->idesc;
251 int cycles = 0;
252 {
253 int referenced = 0;
254 int UNUSED insn_referenced = abuf->written;
255 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
256 }
257 return cycles;
258#undef FLD
259}
260
261static int
262model_iq2000_slmv (SIM_CPU *current_cpu, void *sem_arg)
263{
264#define FLD(f) abuf->fields.sfmt_ram.f
265 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
266 const IDESC * UNUSED idesc = abuf->idesc;
267 int cycles = 0;
268 {
269 int referenced = 0;
270 int UNUSED insn_referenced = abuf->written;
271 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
272 }
273 return cycles;
274#undef FLD
275}
276
277static int
278model_iq2000_slt (SIM_CPU *current_cpu, void *sem_arg)
279{
280#define FLD(f) abuf->fields.sfmt_mrgb.f
281 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
282 const IDESC * UNUSED idesc = abuf->idesc;
283 int cycles = 0;
284 {
285 int referenced = 0;
286 int UNUSED insn_referenced = abuf->written;
287 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
288 }
289 return cycles;
290#undef FLD
291}
292
293static int
294model_iq2000_slti (SIM_CPU *current_cpu, void *sem_arg)
295{
296#define FLD(f) abuf->fields.sfmt_addi.f
297 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
298 const IDESC * UNUSED idesc = abuf->idesc;
299 int cycles = 0;
300 {
301 int referenced = 0;
302 int UNUSED insn_referenced = abuf->written;
303 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
304 }
305 return cycles;
306#undef FLD
307}
308
309static int
310model_iq2000_sltiu (SIM_CPU *current_cpu, void *sem_arg)
311{
312#define FLD(f) abuf->fields.sfmt_addi.f
313 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
314 const IDESC * UNUSED idesc = abuf->idesc;
315 int cycles = 0;
316 {
317 int referenced = 0;
318 int UNUSED insn_referenced = abuf->written;
319 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
320 }
321 return cycles;
322#undef FLD
323}
324
325static int
326model_iq2000_sltu (SIM_CPU *current_cpu, void *sem_arg)
327{
328#define FLD(f) abuf->fields.sfmt_mrgb.f
329 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
330 const IDESC * UNUSED idesc = abuf->idesc;
331 int cycles = 0;
332 {
333 int referenced = 0;
334 int UNUSED insn_referenced = abuf->written;
335 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
336 }
337 return cycles;
338#undef FLD
339}
340
341static int
342model_iq2000_sra (SIM_CPU *current_cpu, void *sem_arg)
343{
344#define FLD(f) abuf->fields.sfmt_ram.f
345 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
346 const IDESC * UNUSED idesc = abuf->idesc;
347 int cycles = 0;
348 {
349 int referenced = 0;
350 int UNUSED insn_referenced = abuf->written;
351 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
352 }
353 return cycles;
354#undef FLD
355}
356
357static int
358model_iq2000_srav (SIM_CPU *current_cpu, void *sem_arg)
359{
360#define FLD(f) abuf->fields.sfmt_mrgb.f
361 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
362 const IDESC * UNUSED idesc = abuf->idesc;
363 int cycles = 0;
364 {
365 int referenced = 0;
366 int UNUSED insn_referenced = abuf->written;
367 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
368 }
369 return cycles;
370#undef FLD
371}
372
373static int
374model_iq2000_srl (SIM_CPU *current_cpu, void *sem_arg)
375{
376#define FLD(f) abuf->fields.sfmt_ram.f
377 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
378 const IDESC * UNUSED idesc = abuf->idesc;
379 int cycles = 0;
380 {
381 int referenced = 0;
382 int UNUSED insn_referenced = abuf->written;
383 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
384 }
385 return cycles;
386#undef FLD
387}
388
389static int
390model_iq2000_srlv (SIM_CPU *current_cpu, void *sem_arg)
391{
392#define FLD(f) abuf->fields.sfmt_mrgb.f
393 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
394 const IDESC * UNUSED idesc = abuf->idesc;
395 int cycles = 0;
396 {
397 int referenced = 0;
398 int UNUSED insn_referenced = abuf->written;
399 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
400 }
401 return cycles;
402#undef FLD
403}
404
405static int
406model_iq2000_srmv (SIM_CPU *current_cpu, void *sem_arg)
407{
408#define FLD(f) abuf->fields.sfmt_ram.f
409 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
410 const IDESC * UNUSED idesc = abuf->idesc;
411 int cycles = 0;
412 {
413 int referenced = 0;
414 int UNUSED insn_referenced = abuf->written;
415 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
416 }
417 return cycles;
418#undef FLD
419}
420
421static int
422model_iq2000_sub (SIM_CPU *current_cpu, void *sem_arg)
423{
424#define FLD(f) abuf->fields.sfmt_mrgb.f
425 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
426 const IDESC * UNUSED idesc = abuf->idesc;
427 int cycles = 0;
428 {
429 int referenced = 0;
430 int UNUSED insn_referenced = abuf->written;
431 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
432 }
433 return cycles;
434#undef FLD
435}
436
437static int
438model_iq2000_subu (SIM_CPU *current_cpu, void *sem_arg)
439{
440#define FLD(f) abuf->fields.sfmt_mrgb.f
441 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
442 const IDESC * UNUSED idesc = abuf->idesc;
443 int cycles = 0;
444 {
445 int referenced = 0;
446 int UNUSED insn_referenced = abuf->written;
447 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
448 }
449 return cycles;
450#undef FLD
451}
452
453static int
454model_iq2000_xor (SIM_CPU *current_cpu, void *sem_arg)
455{
456#define FLD(f) abuf->fields.sfmt_mrgb.f
457 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
458 const IDESC * UNUSED idesc = abuf->idesc;
459 int cycles = 0;
460 {
461 int referenced = 0;
462 int UNUSED insn_referenced = abuf->written;
463 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
464 }
465 return cycles;
466#undef FLD
467}
468
469static int
470model_iq2000_xori (SIM_CPU *current_cpu, void *sem_arg)
471{
472#define FLD(f) abuf->fields.sfmt_addi.f
473 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
474 const IDESC * UNUSED idesc = abuf->idesc;
475 int cycles = 0;
476 {
477 int referenced = 0;
478 int UNUSED insn_referenced = abuf->written;
479 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
480 }
481 return cycles;
482#undef FLD
483}
484
485static int
486model_iq2000_bbi (SIM_CPU *current_cpu, void *sem_arg)
487{
488#define FLD(f) abuf->fields.sfmt_bbi.f
489 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
490 const IDESC * UNUSED idesc = abuf->idesc;
491 int cycles = 0;
492 {
493 int referenced = 0;
494 int UNUSED insn_referenced = abuf->written;
495 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
496 }
497 return cycles;
498#undef FLD
499}
500
501static int
502model_iq2000_bbin (SIM_CPU *current_cpu, void *sem_arg)
503{
504#define FLD(f) abuf->fields.sfmt_bbi.f
505 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
506 const IDESC * UNUSED idesc = abuf->idesc;
507 int cycles = 0;
508 {
509 int referenced = 0;
510 int UNUSED insn_referenced = abuf->written;
511 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
512 }
513 return cycles;
514#undef FLD
515}
516
517static int
518model_iq2000_bbv (SIM_CPU *current_cpu, void *sem_arg)
519{
520#define FLD(f) abuf->fields.sfmt_bbi.f
521 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
522 const IDESC * UNUSED idesc = abuf->idesc;
523 int cycles = 0;
524 {
525 int referenced = 0;
526 int UNUSED insn_referenced = abuf->written;
527 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
528 }
529 return cycles;
530#undef FLD
531}
532
533static int
534model_iq2000_bbvn (SIM_CPU *current_cpu, void *sem_arg)
535{
536#define FLD(f) abuf->fields.sfmt_bbi.f
537 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
538 const IDESC * UNUSED idesc = abuf->idesc;
539 int cycles = 0;
540 {
541 int referenced = 0;
542 int UNUSED insn_referenced = abuf->written;
543 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
544 }
545 return cycles;
546#undef FLD
547}
548
549static int
550model_iq2000_beq (SIM_CPU *current_cpu, void *sem_arg)
551{
552#define FLD(f) abuf->fields.sfmt_bbi.f
553 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
554 const IDESC * UNUSED idesc = abuf->idesc;
555 int cycles = 0;
556 {
557 int referenced = 0;
558 int UNUSED insn_referenced = abuf->written;
559 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
560 }
561 return cycles;
562#undef FLD
563}
564
565static int
566model_iq2000_beql (SIM_CPU *current_cpu, void *sem_arg)
567{
568#define FLD(f) abuf->fields.sfmt_bbi.f
569 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
570 const IDESC * UNUSED idesc = abuf->idesc;
571 int cycles = 0;
572 {
573 int referenced = 0;
574 int UNUSED insn_referenced = abuf->written;
575 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
576 }
577 return cycles;
578#undef FLD
579}
580
581static int
582model_iq2000_bgez (SIM_CPU *current_cpu, void *sem_arg)
583{
584#define FLD(f) abuf->fields.sfmt_bbi.f
585 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
586 const IDESC * UNUSED idesc = abuf->idesc;
587 int cycles = 0;
588 {
589 int referenced = 0;
590 int UNUSED insn_referenced = abuf->written;
591 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
592 }
593 return cycles;
594#undef FLD
595}
596
597static int
598model_iq2000_bgezal (SIM_CPU *current_cpu, void *sem_arg)
599{
600#define FLD(f) abuf->fields.sfmt_bbi.f
601 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
602 const IDESC * UNUSED idesc = abuf->idesc;
603 int cycles = 0;
604 {
605 int referenced = 0;
606 int UNUSED insn_referenced = abuf->written;
607 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
608 }
609 return cycles;
610#undef FLD
611}
612
613static int
614model_iq2000_bgezall (SIM_CPU *current_cpu, void *sem_arg)
615{
616#define FLD(f) abuf->fields.sfmt_bbi.f
617 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
618 const IDESC * UNUSED idesc = abuf->idesc;
619 int cycles = 0;
620 {
621 int referenced = 0;
622 int UNUSED insn_referenced = abuf->written;
623 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
624 }
625 return cycles;
626#undef FLD
627}
628
629static int
630model_iq2000_bgezl (SIM_CPU *current_cpu, void *sem_arg)
631{
632#define FLD(f) abuf->fields.sfmt_bbi.f
633 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
634 const IDESC * UNUSED idesc = abuf->idesc;
635 int cycles = 0;
636 {
637 int referenced = 0;
638 int UNUSED insn_referenced = abuf->written;
639 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
640 }
641 return cycles;
642#undef FLD
643}
644
645static int
646model_iq2000_bltz (SIM_CPU *current_cpu, void *sem_arg)
647{
648#define FLD(f) abuf->fields.sfmt_bbi.f
649 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
650 const IDESC * UNUSED idesc = abuf->idesc;
651 int cycles = 0;
652 {
653 int referenced = 0;
654 int UNUSED insn_referenced = abuf->written;
655 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
656 }
657 return cycles;
658#undef FLD
659}
660
661static int
662model_iq2000_bltzl (SIM_CPU *current_cpu, void *sem_arg)
663{
664#define FLD(f) abuf->fields.sfmt_bbi.f
665 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
666 const IDESC * UNUSED idesc = abuf->idesc;
667 int cycles = 0;
668 {
669 int referenced = 0;
670 int UNUSED insn_referenced = abuf->written;
671 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
672 }
673 return cycles;
674#undef FLD
675}
676
677static int
678model_iq2000_bltzal (SIM_CPU *current_cpu, void *sem_arg)
679{
680#define FLD(f) abuf->fields.sfmt_bbi.f
681 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
682 const IDESC * UNUSED idesc = abuf->idesc;
683 int cycles = 0;
684 {
685 int referenced = 0;
686 int UNUSED insn_referenced = abuf->written;
687 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
688 }
689 return cycles;
690#undef FLD
691}
692
693static int
694model_iq2000_bltzall (SIM_CPU *current_cpu, void *sem_arg)
695{
696#define FLD(f) abuf->fields.sfmt_bbi.f
697 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
698 const IDESC * UNUSED idesc = abuf->idesc;
699 int cycles = 0;
700 {
701 int referenced = 0;
702 int UNUSED insn_referenced = abuf->written;
703 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
704 }
705 return cycles;
706#undef FLD
707}
708
709static int
710model_iq2000_bmb0 (SIM_CPU *current_cpu, void *sem_arg)
711{
712#define FLD(f) abuf->fields.sfmt_bbi.f
713 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
714 const IDESC * UNUSED idesc = abuf->idesc;
715 int cycles = 0;
716 {
717 int referenced = 0;
718 int UNUSED insn_referenced = abuf->written;
719 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
720 }
721 return cycles;
722#undef FLD
723}
724
725static int
726model_iq2000_bmb1 (SIM_CPU *current_cpu, void *sem_arg)
727{
728#define FLD(f) abuf->fields.sfmt_bbi.f
729 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
730 const IDESC * UNUSED idesc = abuf->idesc;
731 int cycles = 0;
732 {
733 int referenced = 0;
734 int UNUSED insn_referenced = abuf->written;
735 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
736 }
737 return cycles;
738#undef FLD
739}
740
741static int
742model_iq2000_bmb2 (SIM_CPU *current_cpu, void *sem_arg)
743{
744#define FLD(f) abuf->fields.sfmt_bbi.f
745 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
746 const IDESC * UNUSED idesc = abuf->idesc;
747 int cycles = 0;
748 {
749 int referenced = 0;
750 int UNUSED insn_referenced = abuf->written;
751 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
752 }
753 return cycles;
754#undef FLD
755}
756
757static int
758model_iq2000_bmb3 (SIM_CPU *current_cpu, void *sem_arg)
759{
760#define FLD(f) abuf->fields.sfmt_bbi.f
761 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
762 const IDESC * UNUSED idesc = abuf->idesc;
763 int cycles = 0;
764 {
765 int referenced = 0;
766 int UNUSED insn_referenced = abuf->written;
767 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
768 }
769 return cycles;
770#undef FLD
771}
772
773static int
774model_iq2000_bne (SIM_CPU *current_cpu, void *sem_arg)
775{
776#define FLD(f) abuf->fields.sfmt_bbi.f
777 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
778 const IDESC * UNUSED idesc = abuf->idesc;
779 int cycles = 0;
780 {
781 int referenced = 0;
782 int UNUSED insn_referenced = abuf->written;
783 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
784 }
785 return cycles;
786#undef FLD
787}
788
789static int
790model_iq2000_bnel (SIM_CPU *current_cpu, void *sem_arg)
791{
792#define FLD(f) abuf->fields.sfmt_bbi.f
793 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
794 const IDESC * UNUSED idesc = abuf->idesc;
795 int cycles = 0;
796 {
797 int referenced = 0;
798 int UNUSED insn_referenced = abuf->written;
799 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
800 }
801 return cycles;
802#undef FLD
803}
804
805static int
806model_iq2000_jalr (SIM_CPU *current_cpu, void *sem_arg)
807{
808#define FLD(f) abuf->fields.sfmt_mrgb.f
809 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
810 const IDESC * UNUSED idesc = abuf->idesc;
811 int cycles = 0;
812 {
813 int referenced = 0;
814 int UNUSED insn_referenced = abuf->written;
815 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
816 }
817 return cycles;
818#undef FLD
819}
820
821static int
822model_iq2000_jr (SIM_CPU *current_cpu, void *sem_arg)
823{
824#define FLD(f) abuf->fields.sfmt_bbi.f
825 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
826 const IDESC * UNUSED idesc = abuf->idesc;
827 int cycles = 0;
828 {
829 int referenced = 0;
830 int UNUSED insn_referenced = abuf->written;
831 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
832 }
833 return cycles;
834#undef FLD
835}
836
837static int
838model_iq2000_lb (SIM_CPU *current_cpu, void *sem_arg)
839{
840#define FLD(f) abuf->fields.sfmt_addi.f
841 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
842 const IDESC * UNUSED idesc = abuf->idesc;
843 int cycles = 0;
844 {
845 int referenced = 0;
846 int UNUSED insn_referenced = abuf->written;
847 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
848 }
849 return cycles;
850#undef FLD
851}
852
853static int
854model_iq2000_lbu (SIM_CPU *current_cpu, void *sem_arg)
855{
856#define FLD(f) abuf->fields.sfmt_addi.f
857 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
858 const IDESC * UNUSED idesc = abuf->idesc;
859 int cycles = 0;
860 {
861 int referenced = 0;
862 int UNUSED insn_referenced = abuf->written;
863 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
864 }
865 return cycles;
866#undef FLD
867}
868
869static int
870model_iq2000_lh (SIM_CPU *current_cpu, void *sem_arg)
871{
872#define FLD(f) abuf->fields.sfmt_addi.f
873 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
874 const IDESC * UNUSED idesc = abuf->idesc;
875 int cycles = 0;
876 {
877 int referenced = 0;
878 int UNUSED insn_referenced = abuf->written;
879 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
880 }
881 return cycles;
882#undef FLD
883}
884
885static int
886model_iq2000_lhu (SIM_CPU *current_cpu, void *sem_arg)
887{
888#define FLD(f) abuf->fields.sfmt_addi.f
889 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
890 const IDESC * UNUSED idesc = abuf->idesc;
891 int cycles = 0;
892 {
893 int referenced = 0;
894 int UNUSED insn_referenced = abuf->written;
895 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
896 }
897 return cycles;
898#undef FLD
899}
900
901static int
902model_iq2000_lui (SIM_CPU *current_cpu, void *sem_arg)
903{
904#define FLD(f) abuf->fields.sfmt_addi.f
905 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
906 const IDESC * UNUSED idesc = abuf->idesc;
907 int cycles = 0;
908 {
909 int referenced = 0;
910 int UNUSED insn_referenced = abuf->written;
911 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
912 }
913 return cycles;
914#undef FLD
915}
916
917static int
918model_iq2000_lw (SIM_CPU *current_cpu, void *sem_arg)
919{
920#define FLD(f) abuf->fields.sfmt_addi.f
921 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
922 const IDESC * UNUSED idesc = abuf->idesc;
923 int cycles = 0;
924 {
925 int referenced = 0;
926 int UNUSED insn_referenced = abuf->written;
927 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
928 }
929 return cycles;
930#undef FLD
931}
932
933static int
934model_iq2000_sb (SIM_CPU *current_cpu, void *sem_arg)
935{
936#define FLD(f) abuf->fields.sfmt_addi.f
937 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
938 const IDESC * UNUSED idesc = abuf->idesc;
939 int cycles = 0;
940 {
941 int referenced = 0;
942 int UNUSED insn_referenced = abuf->written;
943 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
944 }
945 return cycles;
946#undef FLD
947}
948
949static int
950model_iq2000_sh (SIM_CPU *current_cpu, void *sem_arg)
951{
952#define FLD(f) abuf->fields.sfmt_addi.f
953 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
954 const IDESC * UNUSED idesc = abuf->idesc;
955 int cycles = 0;
956 {
957 int referenced = 0;
958 int UNUSED insn_referenced = abuf->written;
959 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
960 }
961 return cycles;
962#undef FLD
963}
964
965static int
966model_iq2000_sw (SIM_CPU *current_cpu, void *sem_arg)
967{
968#define FLD(f) abuf->fields.sfmt_addi.f
969 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
970 const IDESC * UNUSED idesc = abuf->idesc;
971 int cycles = 0;
972 {
973 int referenced = 0;
974 int UNUSED insn_referenced = abuf->written;
975 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
976 }
977 return cycles;
978#undef FLD
979}
980
981static int
982model_iq2000_break (SIM_CPU *current_cpu, void *sem_arg)
983{
2310652a 984#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
985 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
986 const IDESC * UNUSED idesc = abuf->idesc;
987 int cycles = 0;
988 {
989 int referenced = 0;
990 int UNUSED insn_referenced = abuf->written;
991 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
992 }
993 return cycles;
994#undef FLD
995}
996
997static int
998model_iq2000_syscall (SIM_CPU *current_cpu, void *sem_arg)
999{
2310652a 1000#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1001 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1002 const IDESC * UNUSED idesc = abuf->idesc;
1003 int cycles = 0;
1004 {
1005 int referenced = 0;
1006 int UNUSED insn_referenced = abuf->written;
1007 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1008 }
1009 return cycles;
1010#undef FLD
1011}
1012
1013static int
1014model_iq2000_andoui (SIM_CPU *current_cpu, void *sem_arg)
1015{
1016#define FLD(f) abuf->fields.sfmt_addi.f
1017 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1018 const IDESC * UNUSED idesc = abuf->idesc;
1019 int cycles = 0;
1020 {
1021 int referenced = 0;
1022 int UNUSED insn_referenced = abuf->written;
1023 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1024 }
1025 return cycles;
1026#undef FLD
1027}
1028
1029static int
1030model_iq2000_orui (SIM_CPU *current_cpu, void *sem_arg)
1031{
1032#define FLD(f) abuf->fields.sfmt_addi.f
1033 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1034 const IDESC * UNUSED idesc = abuf->idesc;
1035 int cycles = 0;
1036 {
1037 int referenced = 0;
1038 int UNUSED insn_referenced = abuf->written;
1039 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1040 }
1041 return cycles;
1042#undef FLD
1043}
1044
1045static int
1046model_iq2000_bgtz (SIM_CPU *current_cpu, void *sem_arg)
1047{
1048#define FLD(f) abuf->fields.sfmt_bbi.f
1049 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1050 const IDESC * UNUSED idesc = abuf->idesc;
1051 int cycles = 0;
1052 {
1053 int referenced = 0;
1054 int UNUSED insn_referenced = abuf->written;
1055 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1056 }
1057 return cycles;
1058#undef FLD
1059}
1060
1061static int
1062model_iq2000_bgtzl (SIM_CPU *current_cpu, void *sem_arg)
1063{
1064#define FLD(f) abuf->fields.sfmt_bbi.f
1065 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1066 const IDESC * UNUSED idesc = abuf->idesc;
1067 int cycles = 0;
1068 {
1069 int referenced = 0;
1070 int UNUSED insn_referenced = abuf->written;
1071 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1072 }
1073 return cycles;
1074#undef FLD
1075}
1076
1077static int
1078model_iq2000_blez (SIM_CPU *current_cpu, void *sem_arg)
1079{
1080#define FLD(f) abuf->fields.sfmt_bbi.f
1081 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1082 const IDESC * UNUSED idesc = abuf->idesc;
1083 int cycles = 0;
1084 {
1085 int referenced = 0;
1086 int UNUSED insn_referenced = abuf->written;
1087 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1088 }
1089 return cycles;
1090#undef FLD
1091}
1092
1093static int
1094model_iq2000_blezl (SIM_CPU *current_cpu, void *sem_arg)
1095{
1096#define FLD(f) abuf->fields.sfmt_bbi.f
1097 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1098 const IDESC * UNUSED idesc = abuf->idesc;
1099 int cycles = 0;
1100 {
1101 int referenced = 0;
1102 int UNUSED insn_referenced = abuf->written;
1103 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1104 }
1105 return cycles;
1106#undef FLD
1107}
1108
1109static int
1110model_iq2000_mrgb (SIM_CPU *current_cpu, void *sem_arg)
1111{
1112#define FLD(f) abuf->fields.sfmt_mrgb.f
1113 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1114 const IDESC * UNUSED idesc = abuf->idesc;
1115 int cycles = 0;
1116 {
1117 int referenced = 0;
1118 int UNUSED insn_referenced = abuf->written;
1119 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1120 }
1121 return cycles;
1122#undef FLD
1123}
1124
1125static int
1126model_iq2000_bctxt (SIM_CPU *current_cpu, void *sem_arg)
1127{
2310652a 1128#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1129 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1130 const IDESC * UNUSED idesc = abuf->idesc;
1131 int cycles = 0;
1132 {
1133 int referenced = 0;
1134 int UNUSED insn_referenced = abuf->written;
1135 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1136 }
1137 return cycles;
1138#undef FLD
1139}
1140
1141static int
1142model_iq2000_bc0f (SIM_CPU *current_cpu, void *sem_arg)
1143{
2310652a 1144#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1145 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1146 const IDESC * UNUSED idesc = abuf->idesc;
1147 int cycles = 0;
1148 {
1149 int referenced = 0;
1150 int UNUSED insn_referenced = abuf->written;
1151 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1152 }
1153 return cycles;
1154#undef FLD
1155}
1156
1157static int
1158model_iq2000_bc0fl (SIM_CPU *current_cpu, void *sem_arg)
1159{
2310652a 1160#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1161 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1162 const IDESC * UNUSED idesc = abuf->idesc;
1163 int cycles = 0;
1164 {
1165 int referenced = 0;
1166 int UNUSED insn_referenced = abuf->written;
1167 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1168 }
1169 return cycles;
1170#undef FLD
1171}
1172
1173static int
1174model_iq2000_bc3f (SIM_CPU *current_cpu, void *sem_arg)
1175{
2310652a 1176#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1177 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1178 const IDESC * UNUSED idesc = abuf->idesc;
1179 int cycles = 0;
1180 {
1181 int referenced = 0;
1182 int UNUSED insn_referenced = abuf->written;
1183 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1184 }
1185 return cycles;
1186#undef FLD
1187}
1188
1189static int
1190model_iq2000_bc3fl (SIM_CPU *current_cpu, void *sem_arg)
1191{
2310652a 1192#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1193 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1194 const IDESC * UNUSED idesc = abuf->idesc;
1195 int cycles = 0;
1196 {
1197 int referenced = 0;
1198 int UNUSED insn_referenced = abuf->written;
1199 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1200 }
1201 return cycles;
1202#undef FLD
1203}
1204
1205static int
1206model_iq2000_bc0t (SIM_CPU *current_cpu, void *sem_arg)
1207{
2310652a 1208#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1209 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1210 const IDESC * UNUSED idesc = abuf->idesc;
1211 int cycles = 0;
1212 {
1213 int referenced = 0;
1214 int UNUSED insn_referenced = abuf->written;
1215 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1216 }
1217 return cycles;
1218#undef FLD
1219}
1220
1221static int
1222model_iq2000_bc0tl (SIM_CPU *current_cpu, void *sem_arg)
1223{
2310652a 1224#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1225 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1226 const IDESC * UNUSED idesc = abuf->idesc;
1227 int cycles = 0;
1228 {
1229 int referenced = 0;
1230 int UNUSED insn_referenced = abuf->written;
1231 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1232 }
1233 return cycles;
1234#undef FLD
1235}
1236
1237static int
1238model_iq2000_bc3t (SIM_CPU *current_cpu, void *sem_arg)
1239{
2310652a 1240#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1241 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1242 const IDESC * UNUSED idesc = abuf->idesc;
1243 int cycles = 0;
1244 {
1245 int referenced = 0;
1246 int UNUSED insn_referenced = abuf->written;
1247 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1248 }
1249 return cycles;
1250#undef FLD
1251}
1252
1253static int
1254model_iq2000_bc3tl (SIM_CPU *current_cpu, void *sem_arg)
1255{
2310652a 1256#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1257 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1258 const IDESC * UNUSED idesc = abuf->idesc;
1259 int cycles = 0;
1260 {
1261 int referenced = 0;
1262 int UNUSED insn_referenced = abuf->written;
1263 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1264 }
1265 return cycles;
1266#undef FLD
1267}
1268
1269static int
1270model_iq2000_cfc0 (SIM_CPU *current_cpu, void *sem_arg)
1271{
2310652a 1272#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1273 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1274 const IDESC * UNUSED idesc = abuf->idesc;
1275 int cycles = 0;
1276 {
1277 int referenced = 0;
1278 int UNUSED insn_referenced = abuf->written;
1279 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1280 }
1281 return cycles;
1282#undef FLD
1283}
1284
1285static int
1286model_iq2000_cfc1 (SIM_CPU *current_cpu, void *sem_arg)
1287{
2310652a 1288#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1289 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1290 const IDESC * UNUSED idesc = abuf->idesc;
1291 int cycles = 0;
1292 {
1293 int referenced = 0;
1294 int UNUSED insn_referenced = abuf->written;
1295 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1296 }
1297 return cycles;
1298#undef FLD
1299}
1300
1301static int
1302model_iq2000_cfc2 (SIM_CPU *current_cpu, void *sem_arg)
1303{
2310652a 1304#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1305 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1306 const IDESC * UNUSED idesc = abuf->idesc;
1307 int cycles = 0;
1308 {
1309 int referenced = 0;
1310 int UNUSED insn_referenced = abuf->written;
1311 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1312 }
1313 return cycles;
1314#undef FLD
1315}
1316
1317static int
1318model_iq2000_cfc3 (SIM_CPU *current_cpu, void *sem_arg)
1319{
2310652a 1320#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1321 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1322 const IDESC * UNUSED idesc = abuf->idesc;
1323 int cycles = 0;
1324 {
1325 int referenced = 0;
1326 int UNUSED insn_referenced = abuf->written;
1327 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1328 }
1329 return cycles;
1330#undef FLD
1331}
1332
1333static int
1334model_iq2000_chkhdr (SIM_CPU *current_cpu, void *sem_arg)
1335{
2310652a 1336#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1337 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1338 const IDESC * UNUSED idesc = abuf->idesc;
1339 int cycles = 0;
1340 {
1341 int referenced = 0;
1342 int UNUSED insn_referenced = abuf->written;
1343 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1344 }
1345 return cycles;
1346#undef FLD
1347}
1348
1349static int
1350model_iq2000_ctc0 (SIM_CPU *current_cpu, void *sem_arg)
1351{
2310652a 1352#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1353 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1354 const IDESC * UNUSED idesc = abuf->idesc;
1355 int cycles = 0;
1356 {
1357 int referenced = 0;
1358 int UNUSED insn_referenced = abuf->written;
1359 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1360 }
1361 return cycles;
1362#undef FLD
1363}
1364
1365static int
1366model_iq2000_ctc1 (SIM_CPU *current_cpu, void *sem_arg)
1367{
2310652a 1368#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1369 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1370 const IDESC * UNUSED idesc = abuf->idesc;
1371 int cycles = 0;
1372 {
1373 int referenced = 0;
1374 int UNUSED insn_referenced = abuf->written;
1375 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1376 }
1377 return cycles;
1378#undef FLD
1379}
1380
1381static int
1382model_iq2000_ctc2 (SIM_CPU *current_cpu, void *sem_arg)
1383{
2310652a 1384#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1385 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1386 const IDESC * UNUSED idesc = abuf->idesc;
1387 int cycles = 0;
1388 {
1389 int referenced = 0;
1390 int UNUSED insn_referenced = abuf->written;
1391 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1392 }
1393 return cycles;
1394#undef FLD
1395}
1396
1397static int
1398model_iq2000_ctc3 (SIM_CPU *current_cpu, void *sem_arg)
1399{
2310652a 1400#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1401 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1402 const IDESC * UNUSED idesc = abuf->idesc;
1403 int cycles = 0;
1404 {
1405 int referenced = 0;
1406 int UNUSED insn_referenced = abuf->written;
1407 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1408 }
1409 return cycles;
1410#undef FLD
1411}
1412
1413static int
1414model_iq2000_jcr (SIM_CPU *current_cpu, void *sem_arg)
1415{
2310652a 1416#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1417 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1418 const IDESC * UNUSED idesc = abuf->idesc;
1419 int cycles = 0;
1420 {
1421 int referenced = 0;
1422 int UNUSED insn_referenced = abuf->written;
1423 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1424 }
1425 return cycles;
1426#undef FLD
1427}
1428
1429static int
1430model_iq2000_luc32 (SIM_CPU *current_cpu, void *sem_arg)
1431{
2310652a 1432#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1433 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1434 const IDESC * UNUSED idesc = abuf->idesc;
1435 int cycles = 0;
1436 {
1437 int referenced = 0;
1438 int UNUSED insn_referenced = abuf->written;
1439 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1440 }
1441 return cycles;
1442#undef FLD
1443}
1444
1445static int
1446model_iq2000_luc32l (SIM_CPU *current_cpu, void *sem_arg)
1447{
2310652a 1448#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1449 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1450 const IDESC * UNUSED idesc = abuf->idesc;
1451 int cycles = 0;
1452 {
1453 int referenced = 0;
1454 int UNUSED insn_referenced = abuf->written;
1455 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1456 }
1457 return cycles;
1458#undef FLD
1459}
1460
1461static int
1462model_iq2000_luc64 (SIM_CPU *current_cpu, void *sem_arg)
1463{
2310652a 1464#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1465 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1466 const IDESC * UNUSED idesc = abuf->idesc;
1467 int cycles = 0;
1468 {
1469 int referenced = 0;
1470 int UNUSED insn_referenced = abuf->written;
1471 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1472 }
1473 return cycles;
1474#undef FLD
1475}
1476
1477static int
1478model_iq2000_luc64l (SIM_CPU *current_cpu, void *sem_arg)
1479{
2310652a 1480#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1481 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1482 const IDESC * UNUSED idesc = abuf->idesc;
1483 int cycles = 0;
1484 {
1485 int referenced = 0;
1486 int UNUSED insn_referenced = abuf->written;
1487 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1488 }
1489 return cycles;
1490#undef FLD
1491}
1492
1493static int
1494model_iq2000_luk (SIM_CPU *current_cpu, void *sem_arg)
1495{
2310652a 1496#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1497 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1498 const IDESC * UNUSED idesc = abuf->idesc;
1499 int cycles = 0;
1500 {
1501 int referenced = 0;
1502 int UNUSED insn_referenced = abuf->written;
1503 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1504 }
1505 return cycles;
1506#undef FLD
1507}
1508
1509static int
1510model_iq2000_lulck (SIM_CPU *current_cpu, void *sem_arg)
1511{
2310652a 1512#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1513 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1514 const IDESC * UNUSED idesc = abuf->idesc;
1515 int cycles = 0;
1516 {
1517 int referenced = 0;
1518 int UNUSED insn_referenced = abuf->written;
1519 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1520 }
1521 return cycles;
1522#undef FLD
1523}
1524
1525static int
1526model_iq2000_lum32 (SIM_CPU *current_cpu, void *sem_arg)
1527{
2310652a 1528#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1529 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1530 const IDESC * UNUSED idesc = abuf->idesc;
1531 int cycles = 0;
1532 {
1533 int referenced = 0;
1534 int UNUSED insn_referenced = abuf->written;
1535 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1536 }
1537 return cycles;
1538#undef FLD
1539}
1540
1541static int
1542model_iq2000_lum32l (SIM_CPU *current_cpu, void *sem_arg)
1543{
2310652a 1544#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1545 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1546 const IDESC * UNUSED idesc = abuf->idesc;
1547 int cycles = 0;
1548 {
1549 int referenced = 0;
1550 int UNUSED insn_referenced = abuf->written;
1551 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1552 }
1553 return cycles;
1554#undef FLD
1555}
1556
1557static int
1558model_iq2000_lum64 (SIM_CPU *current_cpu, void *sem_arg)
1559{
2310652a 1560#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1561 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1562 const IDESC * UNUSED idesc = abuf->idesc;
1563 int cycles = 0;
1564 {
1565 int referenced = 0;
1566 int UNUSED insn_referenced = abuf->written;
1567 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1568 }
1569 return cycles;
1570#undef FLD
1571}
1572
1573static int
1574model_iq2000_lum64l (SIM_CPU *current_cpu, void *sem_arg)
1575{
2310652a 1576#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1577 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1578 const IDESC * UNUSED idesc = abuf->idesc;
1579 int cycles = 0;
1580 {
1581 int referenced = 0;
1582 int UNUSED insn_referenced = abuf->written;
1583 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1584 }
1585 return cycles;
1586#undef FLD
1587}
1588
1589static int
1590model_iq2000_lur (SIM_CPU *current_cpu, void *sem_arg)
1591{
2310652a 1592#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1593 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1594 const IDESC * UNUSED idesc = abuf->idesc;
1595 int cycles = 0;
1596 {
1597 int referenced = 0;
1598 int UNUSED insn_referenced = abuf->written;
1599 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1600 }
1601 return cycles;
1602#undef FLD
1603}
1604
1605static int
1606model_iq2000_lurl (SIM_CPU *current_cpu, void *sem_arg)
1607{
2310652a 1608#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1609 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1610 const IDESC * UNUSED idesc = abuf->idesc;
1611 int cycles = 0;
1612 {
1613 int referenced = 0;
1614 int UNUSED insn_referenced = abuf->written;
1615 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1616 }
1617 return cycles;
1618#undef FLD
1619}
1620
1621static int
1622model_iq2000_luulck (SIM_CPU *current_cpu, void *sem_arg)
1623{
2310652a 1624#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1625 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1626 const IDESC * UNUSED idesc = abuf->idesc;
1627 int cycles = 0;
1628 {
1629 int referenced = 0;
1630 int UNUSED insn_referenced = abuf->written;
1631 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1632 }
1633 return cycles;
1634#undef FLD
1635}
1636
1637static int
1638model_iq2000_mfc0 (SIM_CPU *current_cpu, void *sem_arg)
1639{
2310652a 1640#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1641 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1642 const IDESC * UNUSED idesc = abuf->idesc;
1643 int cycles = 0;
1644 {
1645 int referenced = 0;
1646 int UNUSED insn_referenced = abuf->written;
1647 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1648 }
1649 return cycles;
1650#undef FLD
1651}
1652
1653static int
1654model_iq2000_mfc1 (SIM_CPU *current_cpu, void *sem_arg)
1655{
2310652a 1656#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1657 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1658 const IDESC * UNUSED idesc = abuf->idesc;
1659 int cycles = 0;
1660 {
1661 int referenced = 0;
1662 int UNUSED insn_referenced = abuf->written;
1663 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1664 }
1665 return cycles;
1666#undef FLD
1667}
1668
1669static int
1670model_iq2000_mfc2 (SIM_CPU *current_cpu, void *sem_arg)
1671{
2310652a 1672#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1673 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1674 const IDESC * UNUSED idesc = abuf->idesc;
1675 int cycles = 0;
1676 {
1677 int referenced = 0;
1678 int UNUSED insn_referenced = abuf->written;
1679 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1680 }
1681 return cycles;
1682#undef FLD
1683}
1684
1685static int
1686model_iq2000_mfc3 (SIM_CPU *current_cpu, void *sem_arg)
1687{
2310652a 1688#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1689 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1690 const IDESC * UNUSED idesc = abuf->idesc;
1691 int cycles = 0;
1692 {
1693 int referenced = 0;
1694 int UNUSED insn_referenced = abuf->written;
1695 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1696 }
1697 return cycles;
1698#undef FLD
1699}
1700
1701static int
1702model_iq2000_mtc0 (SIM_CPU *current_cpu, void *sem_arg)
1703{
2310652a 1704#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1705 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1706 const IDESC * UNUSED idesc = abuf->idesc;
1707 int cycles = 0;
1708 {
1709 int referenced = 0;
1710 int UNUSED insn_referenced = abuf->written;
1711 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1712 }
1713 return cycles;
1714#undef FLD
1715}
1716
1717static int
1718model_iq2000_mtc1 (SIM_CPU *current_cpu, void *sem_arg)
1719{
2310652a 1720#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1721 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1722 const IDESC * UNUSED idesc = abuf->idesc;
1723 int cycles = 0;
1724 {
1725 int referenced = 0;
1726 int UNUSED insn_referenced = abuf->written;
1727 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1728 }
1729 return cycles;
1730#undef FLD
1731}
1732
1733static int
1734model_iq2000_mtc2 (SIM_CPU *current_cpu, void *sem_arg)
1735{
2310652a 1736#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1737 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1738 const IDESC * UNUSED idesc = abuf->idesc;
1739 int cycles = 0;
1740 {
1741 int referenced = 0;
1742 int UNUSED insn_referenced = abuf->written;
1743 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1744 }
1745 return cycles;
1746#undef FLD
1747}
1748
1749static int
1750model_iq2000_mtc3 (SIM_CPU *current_cpu, void *sem_arg)
1751{
2310652a 1752#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1753 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1754 const IDESC * UNUSED idesc = abuf->idesc;
1755 int cycles = 0;
1756 {
1757 int referenced = 0;
1758 int UNUSED insn_referenced = abuf->written;
1759 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1760 }
1761 return cycles;
1762#undef FLD
1763}
1764
1765static int
1766model_iq2000_pkrl (SIM_CPU *current_cpu, void *sem_arg)
1767{
2310652a 1768#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1769 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1770 const IDESC * UNUSED idesc = abuf->idesc;
1771 int cycles = 0;
1772 {
1773 int referenced = 0;
1774 int UNUSED insn_referenced = abuf->written;
1775 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1776 }
1777 return cycles;
1778#undef FLD
1779}
1780
1781static int
1782model_iq2000_pkrlr1 (SIM_CPU *current_cpu, void *sem_arg)
1783{
2310652a 1784#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1785 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1786 const IDESC * UNUSED idesc = abuf->idesc;
1787 int cycles = 0;
1788 {
1789 int referenced = 0;
1790 int UNUSED insn_referenced = abuf->written;
1791 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1792 }
1793 return cycles;
1794#undef FLD
1795}
1796
1797static int
1798model_iq2000_pkrlr30 (SIM_CPU *current_cpu, void *sem_arg)
1799{
2310652a 1800#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1801 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1802 const IDESC * UNUSED idesc = abuf->idesc;
1803 int cycles = 0;
1804 {
1805 int referenced = 0;
1806 int UNUSED insn_referenced = abuf->written;
1807 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1808 }
1809 return cycles;
1810#undef FLD
1811}
1812
1813static int
1814model_iq2000_rb (SIM_CPU *current_cpu, void *sem_arg)
1815{
2310652a 1816#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1817 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1818 const IDESC * UNUSED idesc = abuf->idesc;
1819 int cycles = 0;
1820 {
1821 int referenced = 0;
1822 int UNUSED insn_referenced = abuf->written;
1823 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1824 }
1825 return cycles;
1826#undef FLD
1827}
1828
1829static int
1830model_iq2000_rbr1 (SIM_CPU *current_cpu, void *sem_arg)
1831{
2310652a 1832#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1833 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1834 const IDESC * UNUSED idesc = abuf->idesc;
1835 int cycles = 0;
1836 {
1837 int referenced = 0;
1838 int UNUSED insn_referenced = abuf->written;
1839 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1840 }
1841 return cycles;
1842#undef FLD
1843}
1844
1845static int
1846model_iq2000_rbr30 (SIM_CPU *current_cpu, void *sem_arg)
1847{
2310652a 1848#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1849 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1850 const IDESC * UNUSED idesc = abuf->idesc;
1851 int cycles = 0;
1852 {
1853 int referenced = 0;
1854 int UNUSED insn_referenced = abuf->written;
1855 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1856 }
1857 return cycles;
1858#undef FLD
1859}
1860
1861static int
1862model_iq2000_rfe (SIM_CPU *current_cpu, void *sem_arg)
1863{
2310652a 1864#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1865 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1866 const IDESC * UNUSED idesc = abuf->idesc;
1867 int cycles = 0;
1868 {
1869 int referenced = 0;
1870 int UNUSED insn_referenced = abuf->written;
1871 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1872 }
1873 return cycles;
1874#undef FLD
1875}
1876
1877static int
1878model_iq2000_rx (SIM_CPU *current_cpu, void *sem_arg)
1879{
2310652a 1880#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1881 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1882 const IDESC * UNUSED idesc = abuf->idesc;
1883 int cycles = 0;
1884 {
1885 int referenced = 0;
1886 int UNUSED insn_referenced = abuf->written;
1887 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1888 }
1889 return cycles;
1890#undef FLD
1891}
1892
1893static int
1894model_iq2000_rxr1 (SIM_CPU *current_cpu, void *sem_arg)
1895{
2310652a 1896#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1897 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1898 const IDESC * UNUSED idesc = abuf->idesc;
1899 int cycles = 0;
1900 {
1901 int referenced = 0;
1902 int UNUSED insn_referenced = abuf->written;
1903 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1904 }
1905 return cycles;
1906#undef FLD
1907}
1908
1909static int
1910model_iq2000_rxr30 (SIM_CPU *current_cpu, void *sem_arg)
1911{
2310652a 1912#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1913 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1914 const IDESC * UNUSED idesc = abuf->idesc;
1915 int cycles = 0;
1916 {
1917 int referenced = 0;
1918 int UNUSED insn_referenced = abuf->written;
1919 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1920 }
1921 return cycles;
1922#undef FLD
1923}
1924
1925static int
1926model_iq2000_sleep (SIM_CPU *current_cpu, void *sem_arg)
1927{
2310652a 1928#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1929 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1930 const IDESC * UNUSED idesc = abuf->idesc;
1931 int cycles = 0;
1932 {
1933 int referenced = 0;
1934 int UNUSED insn_referenced = abuf->written;
1935 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1936 }
1937 return cycles;
1938#undef FLD
1939}
1940
1941static int
1942model_iq2000_srrd (SIM_CPU *current_cpu, void *sem_arg)
1943{
2310652a 1944#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1945 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1946 const IDESC * UNUSED idesc = abuf->idesc;
1947 int cycles = 0;
1948 {
1949 int referenced = 0;
1950 int UNUSED insn_referenced = abuf->written;
1951 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1952 }
1953 return cycles;
1954#undef FLD
1955}
1956
1957static int
1958model_iq2000_srrdl (SIM_CPU *current_cpu, void *sem_arg)
1959{
2310652a 1960#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1961 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1962 const IDESC * UNUSED idesc = abuf->idesc;
1963 int cycles = 0;
1964 {
1965 int referenced = 0;
1966 int UNUSED insn_referenced = abuf->written;
1967 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1968 }
1969 return cycles;
1970#undef FLD
1971}
1972
1973static int
1974model_iq2000_srulck (SIM_CPU *current_cpu, void *sem_arg)
1975{
2310652a 1976#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1977 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1978 const IDESC * UNUSED idesc = abuf->idesc;
1979 int cycles = 0;
1980 {
1981 int referenced = 0;
1982 int UNUSED insn_referenced = abuf->written;
1983 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
1984 }
1985 return cycles;
1986#undef FLD
1987}
1988
1989static int
1990model_iq2000_srwr (SIM_CPU *current_cpu, void *sem_arg)
1991{
2310652a 1992#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
1993 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1994 const IDESC * UNUSED idesc = abuf->idesc;
1995 int cycles = 0;
1996 {
1997 int referenced = 0;
1998 int UNUSED insn_referenced = abuf->written;
1999 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2000 }
2001 return cycles;
2002#undef FLD
2003}
2004
2005static int
2006model_iq2000_srwru (SIM_CPU *current_cpu, void *sem_arg)
2007{
2310652a 2008#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2009 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2010 const IDESC * UNUSED idesc = abuf->idesc;
2011 int cycles = 0;
2012 {
2013 int referenced = 0;
2014 int UNUSED insn_referenced = abuf->written;
2015 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2016 }
2017 return cycles;
2018#undef FLD
2019}
2020
2021static int
2022model_iq2000_trapqfl (SIM_CPU *current_cpu, void *sem_arg)
2023{
2310652a 2024#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2025 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2026 const IDESC * UNUSED idesc = abuf->idesc;
2027 int cycles = 0;
2028 {
2029 int referenced = 0;
2030 int UNUSED insn_referenced = abuf->written;
2031 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2032 }
2033 return cycles;
2034#undef FLD
2035}
2036
2037static int
2038model_iq2000_trapqne (SIM_CPU *current_cpu, void *sem_arg)
2039{
2310652a 2040#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2041 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2042 const IDESC * UNUSED idesc = abuf->idesc;
2043 int cycles = 0;
2044 {
2045 int referenced = 0;
2046 int UNUSED insn_referenced = abuf->written;
2047 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2048 }
2049 return cycles;
2050#undef FLD
2051}
2052
2053static int
2054model_iq2000_traprel (SIM_CPU *current_cpu, void *sem_arg)
2055{
2310652a 2056#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2057 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2058 const IDESC * UNUSED idesc = abuf->idesc;
2059 int cycles = 0;
2060 {
2061 int referenced = 0;
2062 int UNUSED insn_referenced = abuf->written;
2063 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2064 }
2065 return cycles;
2066#undef FLD
2067}
2068
2069static int
2070model_iq2000_wb (SIM_CPU *current_cpu, void *sem_arg)
2071{
2310652a 2072#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2073 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2074 const IDESC * UNUSED idesc = abuf->idesc;
2075 int cycles = 0;
2076 {
2077 int referenced = 0;
2078 int UNUSED insn_referenced = abuf->written;
2079 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2080 }
2081 return cycles;
2082#undef FLD
2083}
2084
2085static int
2086model_iq2000_wbu (SIM_CPU *current_cpu, void *sem_arg)
2087{
2310652a 2088#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2089 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2090 const IDESC * UNUSED idesc = abuf->idesc;
2091 int cycles = 0;
2092 {
2093 int referenced = 0;
2094 int UNUSED insn_referenced = abuf->written;
2095 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2096 }
2097 return cycles;
2098#undef FLD
2099}
2100
2101static int
2102model_iq2000_wbr1 (SIM_CPU *current_cpu, void *sem_arg)
2103{
2310652a 2104#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2105 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2106 const IDESC * UNUSED idesc = abuf->idesc;
2107 int cycles = 0;
2108 {
2109 int referenced = 0;
2110 int UNUSED insn_referenced = abuf->written;
2111 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2112 }
2113 return cycles;
2114#undef FLD
2115}
2116
2117static int
2118model_iq2000_wbr1u (SIM_CPU *current_cpu, void *sem_arg)
2119{
2310652a 2120#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2121 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2122 const IDESC * UNUSED idesc = abuf->idesc;
2123 int cycles = 0;
2124 {
2125 int referenced = 0;
2126 int UNUSED insn_referenced = abuf->written;
2127 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2128 }
2129 return cycles;
2130#undef FLD
2131}
2132
2133static int
2134model_iq2000_wbr30 (SIM_CPU *current_cpu, void *sem_arg)
2135{
2310652a 2136#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2137 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2138 const IDESC * UNUSED idesc = abuf->idesc;
2139 int cycles = 0;
2140 {
2141 int referenced = 0;
2142 int UNUSED insn_referenced = abuf->written;
2143 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2144 }
2145 return cycles;
2146#undef FLD
2147}
2148
2149static int
2150model_iq2000_wbr30u (SIM_CPU *current_cpu, void *sem_arg)
2151{
2310652a 2152#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2153 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2154 const IDESC * UNUSED idesc = abuf->idesc;
2155 int cycles = 0;
2156 {
2157 int referenced = 0;
2158 int UNUSED insn_referenced = abuf->written;
2159 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2160 }
2161 return cycles;
2162#undef FLD
2163}
2164
2165static int
2166model_iq2000_wx (SIM_CPU *current_cpu, void *sem_arg)
2167{
2310652a 2168#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2169 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2170 const IDESC * UNUSED idesc = abuf->idesc;
2171 int cycles = 0;
2172 {
2173 int referenced = 0;
2174 int UNUSED insn_referenced = abuf->written;
2175 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2176 }
2177 return cycles;
2178#undef FLD
2179}
2180
2181static int
2182model_iq2000_wxu (SIM_CPU *current_cpu, void *sem_arg)
2183{
2310652a 2184#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2185 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2186 const IDESC * UNUSED idesc = abuf->idesc;
2187 int cycles = 0;
2188 {
2189 int referenced = 0;
2190 int UNUSED insn_referenced = abuf->written;
2191 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2192 }
2193 return cycles;
2194#undef FLD
2195}
2196
2197static int
2198model_iq2000_wxr1 (SIM_CPU *current_cpu, void *sem_arg)
2199{
2310652a 2200#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2201 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2202 const IDESC * UNUSED idesc = abuf->idesc;
2203 int cycles = 0;
2204 {
2205 int referenced = 0;
2206 int UNUSED insn_referenced = abuf->written;
2207 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2208 }
2209 return cycles;
2210#undef FLD
2211}
2212
2213static int
2214model_iq2000_wxr1u (SIM_CPU *current_cpu, void *sem_arg)
2215{
2310652a 2216#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2217 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2218 const IDESC * UNUSED idesc = abuf->idesc;
2219 int cycles = 0;
2220 {
2221 int referenced = 0;
2222 int UNUSED insn_referenced = abuf->written;
2223 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2224 }
2225 return cycles;
2226#undef FLD
2227}
2228
2229static int
2230model_iq2000_wxr30 (SIM_CPU *current_cpu, void *sem_arg)
2231{
2310652a 2232#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2233 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2234 const IDESC * UNUSED idesc = abuf->idesc;
2235 int cycles = 0;
2236 {
2237 int referenced = 0;
2238 int UNUSED insn_referenced = abuf->written;
2239 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2240 }
2241 return cycles;
2242#undef FLD
2243}
2244
2245static int
2246model_iq2000_wxr30u (SIM_CPU *current_cpu, void *sem_arg)
2247{
2310652a 2248#define FLD(f) abuf->fields.sfmt_empty.f
edece237
CV
2249 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2250 const IDESC * UNUSED idesc = abuf->idesc;
2251 int cycles = 0;
2252 {
2253 int referenced = 0;
2254 int UNUSED insn_referenced = abuf->written;
2255 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2256 }
2257 return cycles;
2258#undef FLD
2259}
2260
2261static int
2262model_iq2000_ldw (SIM_CPU *current_cpu, void *sem_arg)
2263{
2264#define FLD(f) abuf->fields.sfmt_addi.f
2265 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2266 const IDESC * UNUSED idesc = abuf->idesc;
2267 int cycles = 0;
2268 {
2269 int referenced = 0;
2270 int UNUSED insn_referenced = abuf->written;
2271 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2272 }
2273 return cycles;
2274#undef FLD
2275}
2276
2277static int
2278model_iq2000_sdw (SIM_CPU *current_cpu, void *sem_arg)
2279{
2280#define FLD(f) abuf->fields.sfmt_addi.f
2281 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2282 const IDESC * UNUSED idesc = abuf->idesc;
2283 int cycles = 0;
2284 {
2285 int referenced = 0;
2286 int UNUSED insn_referenced = abuf->written;
2287 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2288 }
2289 return cycles;
2290#undef FLD
2291}
2292
2293static int
2294model_iq2000_j (SIM_CPU *current_cpu, void *sem_arg)
2295{
2296#define FLD(f) abuf->fields.sfmt_j.f
2297 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2298 const IDESC * UNUSED idesc = abuf->idesc;
2299 int cycles = 0;
2300 {
2301 int referenced = 0;
2302 int UNUSED insn_referenced = abuf->written;
2303 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2304 }
2305 return cycles;
2306#undef FLD
2307}
2308
2309static int
2310model_iq2000_jal (SIM_CPU *current_cpu, void *sem_arg)
2311{
2312#define FLD(f) abuf->fields.sfmt_j.f
2313 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2314 const IDESC * UNUSED idesc = abuf->idesc;
2315 int cycles = 0;
2316 {
2317 int referenced = 0;
2318 int UNUSED insn_referenced = abuf->written;
2319 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2320 }
2321 return cycles;
2322#undef FLD
2323}
2324
2325static int
2326model_iq2000_bmb (SIM_CPU *current_cpu, void *sem_arg)
2327{
2328#define FLD(f) abuf->fields.sfmt_bbi.f
2329 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2330 const IDESC * UNUSED idesc = abuf->idesc;
2331 int cycles = 0;
2332 {
2333 int referenced = 0;
2334 int UNUSED insn_referenced = abuf->written;
2335 cycles += iq2000bf_model_iq2000_u_exec (current_cpu, idesc, 0, referenced);
2336 }
2337 return cycles;
2338#undef FLD
2339}
2340
2341/* We assume UNIT_NONE == 0 because the tables don't always terminate
2342 entries with it. */
2343
2344/* Model timing data for `iq2000'. */
2345
2346static const INSN_TIMING iq2000_timing[] = {
2347 { IQ2000BF_INSN_X_INVALID, 0, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2348 { IQ2000BF_INSN_X_AFTER, 0, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2349 { IQ2000BF_INSN_X_BEFORE, 0, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2350 { IQ2000BF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2351 { IQ2000BF_INSN_X_CHAIN, 0, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2352 { IQ2000BF_INSN_X_BEGIN, 0, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2353 { IQ2000BF_INSN_ADD, model_iq2000_add, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2354 { IQ2000BF_INSN_ADDI, model_iq2000_addi, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2355 { IQ2000BF_INSN_ADDIU, model_iq2000_addiu, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2356 { IQ2000BF_INSN_ADDU, model_iq2000_addu, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2357 { IQ2000BF_INSN_ADO16, model_iq2000_ado16, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2358 { IQ2000BF_INSN_AND, model_iq2000_and, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2359 { IQ2000BF_INSN_ANDI, model_iq2000_andi, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2360 { IQ2000BF_INSN_ANDOI, model_iq2000_andoi, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2361 { IQ2000BF_INSN_NOR, model_iq2000_nor, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2362 { IQ2000BF_INSN_OR, model_iq2000_or, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2363 { IQ2000BF_INSN_ORI, model_iq2000_ori, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2364 { IQ2000BF_INSN_RAM, model_iq2000_ram, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2365 { IQ2000BF_INSN_SLL, model_iq2000_sll, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2366 { IQ2000BF_INSN_SLLV, model_iq2000_sllv, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2367 { IQ2000BF_INSN_SLMV, model_iq2000_slmv, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2368 { IQ2000BF_INSN_SLT, model_iq2000_slt, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2369 { IQ2000BF_INSN_SLTI, model_iq2000_slti, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2370 { IQ2000BF_INSN_SLTIU, model_iq2000_sltiu, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2371 { IQ2000BF_INSN_SLTU, model_iq2000_sltu, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2372 { IQ2000BF_INSN_SRA, model_iq2000_sra, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2373 { IQ2000BF_INSN_SRAV, model_iq2000_srav, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2374 { IQ2000BF_INSN_SRL, model_iq2000_srl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2375 { IQ2000BF_INSN_SRLV, model_iq2000_srlv, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2376 { IQ2000BF_INSN_SRMV, model_iq2000_srmv, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2377 { IQ2000BF_INSN_SUB, model_iq2000_sub, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2378 { IQ2000BF_INSN_SUBU, model_iq2000_subu, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2379 { IQ2000BF_INSN_XOR, model_iq2000_xor, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2380 { IQ2000BF_INSN_XORI, model_iq2000_xori, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2381 { IQ2000BF_INSN_BBI, model_iq2000_bbi, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2382 { IQ2000BF_INSN_BBIN, model_iq2000_bbin, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2383 { IQ2000BF_INSN_BBV, model_iq2000_bbv, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2384 { IQ2000BF_INSN_BBVN, model_iq2000_bbvn, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2385 { IQ2000BF_INSN_BEQ, model_iq2000_beq, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2386 { IQ2000BF_INSN_BEQL, model_iq2000_beql, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2387 { IQ2000BF_INSN_BGEZ, model_iq2000_bgez, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2388 { IQ2000BF_INSN_BGEZAL, model_iq2000_bgezal, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2389 { IQ2000BF_INSN_BGEZALL, model_iq2000_bgezall, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2390 { IQ2000BF_INSN_BGEZL, model_iq2000_bgezl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2391 { IQ2000BF_INSN_BLTZ, model_iq2000_bltz, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2392 { IQ2000BF_INSN_BLTZL, model_iq2000_bltzl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2393 { IQ2000BF_INSN_BLTZAL, model_iq2000_bltzal, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2394 { IQ2000BF_INSN_BLTZALL, model_iq2000_bltzall, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2395 { IQ2000BF_INSN_BMB0, model_iq2000_bmb0, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2396 { IQ2000BF_INSN_BMB1, model_iq2000_bmb1, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2397 { IQ2000BF_INSN_BMB2, model_iq2000_bmb2, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2398 { IQ2000BF_INSN_BMB3, model_iq2000_bmb3, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2399 { IQ2000BF_INSN_BNE, model_iq2000_bne, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2400 { IQ2000BF_INSN_BNEL, model_iq2000_bnel, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2401 { IQ2000BF_INSN_JALR, model_iq2000_jalr, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2402 { IQ2000BF_INSN_JR, model_iq2000_jr, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2403 { IQ2000BF_INSN_LB, model_iq2000_lb, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2404 { IQ2000BF_INSN_LBU, model_iq2000_lbu, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2405 { IQ2000BF_INSN_LH, model_iq2000_lh, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2406 { IQ2000BF_INSN_LHU, model_iq2000_lhu, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2407 { IQ2000BF_INSN_LUI, model_iq2000_lui, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2408 { IQ2000BF_INSN_LW, model_iq2000_lw, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2409 { IQ2000BF_INSN_SB, model_iq2000_sb, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2410 { IQ2000BF_INSN_SH, model_iq2000_sh, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2411 { IQ2000BF_INSN_SW, model_iq2000_sw, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2412 { IQ2000BF_INSN_BREAK, model_iq2000_break, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2413 { IQ2000BF_INSN_SYSCALL, model_iq2000_syscall, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2414 { IQ2000BF_INSN_ANDOUI, model_iq2000_andoui, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2415 { IQ2000BF_INSN_ORUI, model_iq2000_orui, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2416 { IQ2000BF_INSN_BGTZ, model_iq2000_bgtz, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2417 { IQ2000BF_INSN_BGTZL, model_iq2000_bgtzl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2418 { IQ2000BF_INSN_BLEZ, model_iq2000_blez, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2419 { IQ2000BF_INSN_BLEZL, model_iq2000_blezl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2420 { IQ2000BF_INSN_MRGB, model_iq2000_mrgb, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2421 { IQ2000BF_INSN_BCTXT, model_iq2000_bctxt, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2422 { IQ2000BF_INSN_BC0F, model_iq2000_bc0f, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2423 { IQ2000BF_INSN_BC0FL, model_iq2000_bc0fl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2424 { IQ2000BF_INSN_BC3F, model_iq2000_bc3f, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2425 { IQ2000BF_INSN_BC3FL, model_iq2000_bc3fl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2426 { IQ2000BF_INSN_BC0T, model_iq2000_bc0t, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2427 { IQ2000BF_INSN_BC0TL, model_iq2000_bc0tl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2428 { IQ2000BF_INSN_BC3T, model_iq2000_bc3t, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2429 { IQ2000BF_INSN_BC3TL, model_iq2000_bc3tl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2430 { IQ2000BF_INSN_CFC0, model_iq2000_cfc0, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2431 { IQ2000BF_INSN_CFC1, model_iq2000_cfc1, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2432 { IQ2000BF_INSN_CFC2, model_iq2000_cfc2, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2433 { IQ2000BF_INSN_CFC3, model_iq2000_cfc3, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2434 { IQ2000BF_INSN_CHKHDR, model_iq2000_chkhdr, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2435 { IQ2000BF_INSN_CTC0, model_iq2000_ctc0, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2436 { IQ2000BF_INSN_CTC1, model_iq2000_ctc1, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2437 { IQ2000BF_INSN_CTC2, model_iq2000_ctc2, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2438 { IQ2000BF_INSN_CTC3, model_iq2000_ctc3, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2439 { IQ2000BF_INSN_JCR, model_iq2000_jcr, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2440 { IQ2000BF_INSN_LUC32, model_iq2000_luc32, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2441 { IQ2000BF_INSN_LUC32L, model_iq2000_luc32l, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2442 { IQ2000BF_INSN_LUC64, model_iq2000_luc64, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2443 { IQ2000BF_INSN_LUC64L, model_iq2000_luc64l, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2444 { IQ2000BF_INSN_LUK, model_iq2000_luk, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2445 { IQ2000BF_INSN_LULCK, model_iq2000_lulck, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2446 { IQ2000BF_INSN_LUM32, model_iq2000_lum32, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2447 { IQ2000BF_INSN_LUM32L, model_iq2000_lum32l, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2448 { IQ2000BF_INSN_LUM64, model_iq2000_lum64, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2449 { IQ2000BF_INSN_LUM64L, model_iq2000_lum64l, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2450 { IQ2000BF_INSN_LUR, model_iq2000_lur, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2451 { IQ2000BF_INSN_LURL, model_iq2000_lurl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2452 { IQ2000BF_INSN_LUULCK, model_iq2000_luulck, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2453 { IQ2000BF_INSN_MFC0, model_iq2000_mfc0, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2454 { IQ2000BF_INSN_MFC1, model_iq2000_mfc1, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2455 { IQ2000BF_INSN_MFC2, model_iq2000_mfc2, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2456 { IQ2000BF_INSN_MFC3, model_iq2000_mfc3, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2457 { IQ2000BF_INSN_MTC0, model_iq2000_mtc0, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2458 { IQ2000BF_INSN_MTC1, model_iq2000_mtc1, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2459 { IQ2000BF_INSN_MTC2, model_iq2000_mtc2, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2460 { IQ2000BF_INSN_MTC3, model_iq2000_mtc3, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2461 { IQ2000BF_INSN_PKRL, model_iq2000_pkrl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2462 { IQ2000BF_INSN_PKRLR1, model_iq2000_pkrlr1, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2463 { IQ2000BF_INSN_PKRLR30, model_iq2000_pkrlr30, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2464 { IQ2000BF_INSN_RB, model_iq2000_rb, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2465 { IQ2000BF_INSN_RBR1, model_iq2000_rbr1, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2466 { IQ2000BF_INSN_RBR30, model_iq2000_rbr30, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2467 { IQ2000BF_INSN_RFE, model_iq2000_rfe, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2468 { IQ2000BF_INSN_RX, model_iq2000_rx, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2469 { IQ2000BF_INSN_RXR1, model_iq2000_rxr1, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2470 { IQ2000BF_INSN_RXR30, model_iq2000_rxr30, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2471 { IQ2000BF_INSN_SLEEP, model_iq2000_sleep, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2472 { IQ2000BF_INSN_SRRD, model_iq2000_srrd, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2473 { IQ2000BF_INSN_SRRDL, model_iq2000_srrdl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2474 { IQ2000BF_INSN_SRULCK, model_iq2000_srulck, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2475 { IQ2000BF_INSN_SRWR, model_iq2000_srwr, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2476 { IQ2000BF_INSN_SRWRU, model_iq2000_srwru, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2477 { IQ2000BF_INSN_TRAPQFL, model_iq2000_trapqfl, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2478 { IQ2000BF_INSN_TRAPQNE, model_iq2000_trapqne, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2479 { IQ2000BF_INSN_TRAPREL, model_iq2000_traprel, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2480 { IQ2000BF_INSN_WB, model_iq2000_wb, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2481 { IQ2000BF_INSN_WBU, model_iq2000_wbu, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2482 { IQ2000BF_INSN_WBR1, model_iq2000_wbr1, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2483 { IQ2000BF_INSN_WBR1U, model_iq2000_wbr1u, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2484 { IQ2000BF_INSN_WBR30, model_iq2000_wbr30, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2485 { IQ2000BF_INSN_WBR30U, model_iq2000_wbr30u, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2486 { IQ2000BF_INSN_WX, model_iq2000_wx, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2487 { IQ2000BF_INSN_WXU, model_iq2000_wxu, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2488 { IQ2000BF_INSN_WXR1, model_iq2000_wxr1, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2489 { IQ2000BF_INSN_WXR1U, model_iq2000_wxr1u, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2490 { IQ2000BF_INSN_WXR30, model_iq2000_wxr30, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2491 { IQ2000BF_INSN_WXR30U, model_iq2000_wxr30u, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2492 { IQ2000BF_INSN_LDW, model_iq2000_ldw, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2493 { IQ2000BF_INSN_SDW, model_iq2000_sdw, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2494 { IQ2000BF_INSN_J, model_iq2000_j, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2495 { IQ2000BF_INSN_JAL, model_iq2000_jal, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2496 { IQ2000BF_INSN_BMB, model_iq2000_bmb, { { (int) UNIT_IQ2000_U_EXEC, 1, 1 } } },
2497};
2498
2499#endif /* WITH_PROFILE_MODEL_P */
2500
2501static void
2502iq2000_model_init (SIM_CPU *cpu)
2503{
2504 CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_IQ2000_DATA));
2505}
2506
2507#if WITH_PROFILE_MODEL_P
2508#define TIMING_DATA(td) td
2509#else
2510#define TIMING_DATA(td) 0
2511#endif
2512
8a0ebee6 2513static const SIM_MODEL iq2000_models[] =
edece237
CV
2514{
2515 { "iq2000", & iq2000_mach, MODEL_IQ2000, TIMING_DATA (& iq2000_timing[0]), iq2000_model_init },
2516 { 0 }
2517};
2518
2519/* The properties of this cpu's implementation. */
2520
8a0ebee6 2521static const SIM_MACH_IMP_PROPERTIES iq2000bf_imp_properties =
edece237
CV
2522{
2523 sizeof (SIM_CPU),
2524#if WITH_SCACHE
2525 sizeof (SCACHE)
2526#else
2527 0
2528#endif
2529};
2530
2531
2532static void
2533iq2000bf_prepare_run (SIM_CPU *cpu)
2534{
2535 if (CPU_IDESC (cpu) == NULL)
2536 iq2000bf_init_idesc_table (cpu);
2537}
2538
2539static const CGEN_INSN *
2540iq2000bf_get_idata (SIM_CPU *cpu, int inum)
2541{
2542 return CPU_IDESC (cpu) [inum].idata;
2543}
2544
2545static void
2546iq2000_init_cpu (SIM_CPU *cpu)
2547{
2548 CPU_REG_FETCH (cpu) = iq2000bf_fetch_register;
2549 CPU_REG_STORE (cpu) = iq2000bf_store_register;
2550 CPU_PC_FETCH (cpu) = iq2000bf_h_pc_get;
2551 CPU_PC_STORE (cpu) = iq2000bf_h_pc_set;
2552 CPU_GET_IDATA (cpu) = iq2000bf_get_idata;
1a5691a5 2553 CPU_MAX_INSNS (cpu) = IQ2000BF_INSN__MAX;
edece237
CV
2554 CPU_INSN_NAME (cpu) = cgen_insn_name;
2555 CPU_FULL_ENGINE_FN (cpu) = iq2000bf_engine_run_full;
2556#if WITH_FAST
2557 CPU_FAST_ENGINE_FN (cpu) = iq2000bf_engine_run_fast;
2558#else
2559 CPU_FAST_ENGINE_FN (cpu) = iq2000bf_engine_run_full;
2560#endif
2561}
2562
8a0ebee6 2563const SIM_MACH iq2000_mach =
edece237
CV
2564{
2565 "iq2000", "iq2000", MACH_IQ2000,
2566 32, 32, & iq2000_models[0], & iq2000bf_imp_properties,
2567 iq2000_init_cpu,
2568 iq2000bf_prepare_run
2569};
2570