1 /* Simulator model support for crisv32f.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996-2005 Free Software Foundation, Inc.
7 This file is part of the GNU simulators.
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, write to the Free Software Foundation, Inc.,
21 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
25 #define WANT_CPU crisv32f
26 #define WANT_CPU_CRISV32F
30 /* The profiling data is recorded here, but is accessed via the profiling
31 mechanism. After all, this is information for profiling. */
33 #if WITH_PROFILE_MODEL_P
35 /* Model handlers for each insn. */
38 model_crisv32_move_b_r (SIM_CPU *current_cpu, void *sem_arg)
40 #define FLD(f) abuf->fields.sfmt_addc_m.f
41 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
42 const IDESC * UNUSED idesc = abuf->idesc;
46 int UNUSED insn_referenced = abuf->written;
52 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
59 model_crisv32_move_w_r (SIM_CPU *current_cpu, void *sem_arg)
61 #define FLD(f) abuf->fields.sfmt_addc_m.f
62 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
63 const IDESC * UNUSED idesc = abuf->idesc;
67 int UNUSED insn_referenced = abuf->written;
73 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
80 model_crisv32_move_d_r (SIM_CPU *current_cpu, void *sem_arg)
82 #define FLD(f) abuf->fields.sfmt_addc_m.f
83 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
84 const IDESC * UNUSED idesc = abuf->idesc;
88 int UNUSED insn_referenced = abuf->written;
94 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
101 model_crisv32_moveq (SIM_CPU *current_cpu, void *sem_arg)
103 #define FLD(f) abuf->fields.sfmt_moveq.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;
113 out_Rd = FLD (out_Rd);
114 referenced |= 1 << 2;
115 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
122 model_crisv32_movs_b_r (SIM_CPU *current_cpu, void *sem_arg)
124 #define FLD(f) abuf->fields.sfmt_muls_b.f
125 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
126 const IDESC * UNUSED idesc = abuf->idesc;
130 int UNUSED insn_referenced = abuf->written;
135 out_Rd = FLD (out_Rd);
136 referenced |= 1 << 1;
137 referenced |= 1 << 2;
138 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
145 model_crisv32_movs_w_r (SIM_CPU *current_cpu, void *sem_arg)
147 #define FLD(f) abuf->fields.sfmt_muls_b.f
148 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
149 const IDESC * UNUSED idesc = abuf->idesc;
153 int UNUSED insn_referenced = abuf->written;
158 out_Rd = FLD (out_Rd);
159 referenced |= 1 << 1;
160 referenced |= 1 << 2;
161 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
168 model_crisv32_movu_b_r (SIM_CPU *current_cpu, void *sem_arg)
170 #define FLD(f) abuf->fields.sfmt_muls_b.f
171 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
172 const IDESC * UNUSED idesc = abuf->idesc;
176 int UNUSED insn_referenced = abuf->written;
181 out_Rd = FLD (out_Rd);
182 referenced |= 1 << 1;
183 referenced |= 1 << 2;
184 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
191 model_crisv32_movu_w_r (SIM_CPU *current_cpu, void *sem_arg)
193 #define FLD(f) abuf->fields.sfmt_muls_b.f
194 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
195 const IDESC * UNUSED idesc = abuf->idesc;
199 int UNUSED insn_referenced = abuf->written;
204 out_Rd = FLD (out_Rd);
205 referenced |= 1 << 1;
206 referenced |= 1 << 2;
207 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
214 model_crisv32_movecbr (SIM_CPU *current_cpu, void *sem_arg)
216 #define FLD(f) abuf->fields.sfmt_addcbr.f
217 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
218 const IDESC * UNUSED idesc = abuf->idesc;
222 int UNUSED insn_referenced = abuf->written;
223 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
227 int UNUSED insn_referenced = abuf->written;
231 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
238 model_crisv32_movecwr (SIM_CPU *current_cpu, void *sem_arg)
240 #define FLD(f) abuf->fields.sfmt_addcwr.f
241 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
242 const IDESC * UNUSED idesc = abuf->idesc;
246 int UNUSED insn_referenced = abuf->written;
247 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
251 int UNUSED insn_referenced = abuf->written;
255 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
262 model_crisv32_movecdr (SIM_CPU *current_cpu, void *sem_arg)
264 #define FLD(f) abuf->fields.sfmt_bound_cd.f
265 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
266 const IDESC * UNUSED idesc = abuf->idesc;
270 int UNUSED insn_referenced = abuf->written;
271 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
275 int UNUSED insn_referenced = abuf->written;
279 out_Rd = FLD (out_Rd);
280 referenced |= 1 << 2;
281 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
288 model_crisv32_movscbr (SIM_CPU *current_cpu, void *sem_arg)
290 #define FLD(f) abuf->fields.sfmt_bound_cb.f
291 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
292 const IDESC * UNUSED idesc = abuf->idesc;
296 int UNUSED insn_referenced = abuf->written;
297 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
301 int UNUSED insn_referenced = abuf->written;
305 out_Rd = FLD (out_Rd);
306 referenced |= 1 << 2;
307 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
314 model_crisv32_movscwr (SIM_CPU *current_cpu, void *sem_arg)
316 #define FLD(f) abuf->fields.sfmt_bound_cw.f
317 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
318 const IDESC * UNUSED idesc = abuf->idesc;
322 int UNUSED insn_referenced = abuf->written;
323 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
327 int UNUSED insn_referenced = abuf->written;
331 out_Rd = FLD (out_Rd);
332 referenced |= 1 << 2;
333 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
340 model_crisv32_movucbr (SIM_CPU *current_cpu, void *sem_arg)
342 #define FLD(f) abuf->fields.sfmt_bound_cb.f
343 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
344 const IDESC * UNUSED idesc = abuf->idesc;
348 int UNUSED insn_referenced = abuf->written;
349 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
353 int UNUSED insn_referenced = abuf->written;
357 out_Rd = FLD (out_Rd);
358 referenced |= 1 << 2;
359 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
366 model_crisv32_movucwr (SIM_CPU *current_cpu, void *sem_arg)
368 #define FLD(f) abuf->fields.sfmt_bound_cw.f
369 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
370 const IDESC * UNUSED idesc = abuf->idesc;
374 int UNUSED insn_referenced = abuf->written;
375 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
379 int UNUSED insn_referenced = abuf->written;
383 out_Rd = FLD (out_Rd);
384 referenced |= 1 << 2;
385 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
392 model_crisv32_addq (SIM_CPU *current_cpu, void *sem_arg)
394 #define FLD(f) abuf->fields.sfmt_addq.f
395 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
396 const IDESC * UNUSED idesc = abuf->idesc;
400 int UNUSED insn_referenced = abuf->written;
405 referenced |= 1 << 0;
406 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
413 model_crisv32_subq (SIM_CPU *current_cpu, void *sem_arg)
415 #define FLD(f) abuf->fields.sfmt_addq.f
416 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
417 const IDESC * UNUSED idesc = abuf->idesc;
421 int UNUSED insn_referenced = abuf->written;
426 referenced |= 1 << 0;
427 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
434 model_crisv32_cmp_r_b_r (SIM_CPU *current_cpu, void *sem_arg)
436 #define FLD(f) abuf->fields.sfmt_muls_b.f
437 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
438 const IDESC * UNUSED idesc = abuf->idesc;
442 int UNUSED insn_referenced = abuf->written;
448 referenced |= 1 << 0;
449 referenced |= 1 << 1;
450 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
457 model_crisv32_cmp_r_w_r (SIM_CPU *current_cpu, void *sem_arg)
459 #define FLD(f) abuf->fields.sfmt_muls_b.f
460 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
461 const IDESC * UNUSED idesc = abuf->idesc;
465 int UNUSED insn_referenced = abuf->written;
471 referenced |= 1 << 0;
472 referenced |= 1 << 1;
473 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
480 model_crisv32_cmp_r_d_r (SIM_CPU *current_cpu, void *sem_arg)
482 #define FLD(f) abuf->fields.sfmt_muls_b.f
483 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
484 const IDESC * UNUSED idesc = abuf->idesc;
488 int UNUSED insn_referenced = abuf->written;
494 referenced |= 1 << 0;
495 referenced |= 1 << 1;
496 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
503 model_crisv32_cmp_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
505 #define FLD(f) abuf->fields.sfmt_addc_m.f
506 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
507 const IDESC * UNUSED idesc = abuf->idesc;
511 int UNUSED insn_referenced = abuf->written;
514 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
515 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
519 int UNUSED insn_referenced = abuf->written;
520 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
524 int UNUSED insn_referenced = abuf->written;
530 referenced |= 1 << 0;
531 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
532 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
539 model_crisv32_cmp_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
541 #define FLD(f) abuf->fields.sfmt_addc_m.f
542 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
543 const IDESC * UNUSED idesc = abuf->idesc;
547 int UNUSED insn_referenced = abuf->written;
550 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
551 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
555 int UNUSED insn_referenced = abuf->written;
556 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
560 int UNUSED insn_referenced = abuf->written;
566 referenced |= 1 << 0;
567 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
568 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
575 model_crisv32_cmp_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
577 #define FLD(f) abuf->fields.sfmt_addc_m.f
578 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
579 const IDESC * UNUSED idesc = abuf->idesc;
583 int UNUSED insn_referenced = abuf->written;
586 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
587 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
591 int UNUSED insn_referenced = abuf->written;
592 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
596 int UNUSED insn_referenced = abuf->written;
602 referenced |= 1 << 0;
603 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
604 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
611 model_crisv32_cmpcbr (SIM_CPU *current_cpu, void *sem_arg)
613 #define FLD(f) abuf->fields.sfmt_bound_cb.f
614 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
615 const IDESC * UNUSED idesc = abuf->idesc;
619 int UNUSED insn_referenced = abuf->written;
620 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
624 int UNUSED insn_referenced = abuf->written;
629 referenced |= 1 << 0;
630 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
637 model_crisv32_cmpcwr (SIM_CPU *current_cpu, void *sem_arg)
639 #define FLD(f) abuf->fields.sfmt_bound_cw.f
640 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
641 const IDESC * UNUSED idesc = abuf->idesc;
645 int UNUSED insn_referenced = abuf->written;
646 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
650 int UNUSED insn_referenced = abuf->written;
655 referenced |= 1 << 0;
656 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
663 model_crisv32_cmpcdr (SIM_CPU *current_cpu, void *sem_arg)
665 #define FLD(f) abuf->fields.sfmt_bound_cd.f
666 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
667 const IDESC * UNUSED idesc = abuf->idesc;
671 int UNUSED insn_referenced = abuf->written;
672 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
676 int UNUSED insn_referenced = abuf->written;
681 referenced |= 1 << 0;
682 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
689 model_crisv32_cmpq (SIM_CPU *current_cpu, void *sem_arg)
691 #define FLD(f) abuf->fields.sfmt_andq.f
692 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
693 const IDESC * UNUSED idesc = abuf->idesc;
697 int UNUSED insn_referenced = abuf->written;
702 referenced |= 1 << 0;
703 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
710 model_crisv32_cmps_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
712 #define FLD(f) abuf->fields.sfmt_addc_m.f
713 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
714 const IDESC * UNUSED idesc = abuf->idesc;
718 int UNUSED insn_referenced = abuf->written;
721 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
722 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
726 int UNUSED insn_referenced = abuf->written;
727 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
731 int UNUSED insn_referenced = abuf->written;
737 referenced |= 1 << 0;
738 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
739 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
746 model_crisv32_cmps_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
748 #define FLD(f) abuf->fields.sfmt_addc_m.f
749 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
750 const IDESC * UNUSED idesc = abuf->idesc;
754 int UNUSED insn_referenced = abuf->written;
757 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
758 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
762 int UNUSED insn_referenced = abuf->written;
763 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
767 int UNUSED insn_referenced = abuf->written;
773 referenced |= 1 << 0;
774 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
775 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
782 model_crisv32_cmpscbr (SIM_CPU *current_cpu, void *sem_arg)
784 #define FLD(f) abuf->fields.sfmt_bound_cb.f
785 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
786 const IDESC * UNUSED idesc = abuf->idesc;
790 int UNUSED insn_referenced = abuf->written;
791 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
795 int UNUSED insn_referenced = abuf->written;
800 referenced |= 1 << 0;
801 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
808 model_crisv32_cmpscwr (SIM_CPU *current_cpu, void *sem_arg)
810 #define FLD(f) abuf->fields.sfmt_bound_cw.f
811 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
812 const IDESC * UNUSED idesc = abuf->idesc;
816 int UNUSED insn_referenced = abuf->written;
817 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
821 int UNUSED insn_referenced = abuf->written;
826 referenced |= 1 << 0;
827 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
834 model_crisv32_cmpu_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
836 #define FLD(f) abuf->fields.sfmt_addc_m.f
837 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
838 const IDESC * UNUSED idesc = abuf->idesc;
842 int UNUSED insn_referenced = abuf->written;
845 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
846 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
850 int UNUSED insn_referenced = abuf->written;
851 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
855 int UNUSED insn_referenced = abuf->written;
861 referenced |= 1 << 0;
862 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
863 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
870 model_crisv32_cmpu_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
872 #define FLD(f) abuf->fields.sfmt_addc_m.f
873 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
874 const IDESC * UNUSED idesc = abuf->idesc;
878 int UNUSED insn_referenced = abuf->written;
881 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
882 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
886 int UNUSED insn_referenced = abuf->written;
887 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
891 int UNUSED insn_referenced = abuf->written;
897 referenced |= 1 << 0;
898 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
899 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
906 model_crisv32_cmpucbr (SIM_CPU *current_cpu, void *sem_arg)
908 #define FLD(f) abuf->fields.sfmt_bound_cb.f
909 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
910 const IDESC * UNUSED idesc = abuf->idesc;
914 int UNUSED insn_referenced = abuf->written;
915 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
919 int UNUSED insn_referenced = abuf->written;
924 referenced |= 1 << 0;
925 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
932 model_crisv32_cmpucwr (SIM_CPU *current_cpu, void *sem_arg)
934 #define FLD(f) abuf->fields.sfmt_bound_cw.f
935 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
936 const IDESC * UNUSED idesc = abuf->idesc;
940 int UNUSED insn_referenced = abuf->written;
941 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
945 int UNUSED insn_referenced = abuf->written;
950 referenced |= 1 << 0;
951 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
958 model_crisv32_move_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
960 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
961 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
962 const IDESC * UNUSED idesc = abuf->idesc;
966 int UNUSED insn_referenced = abuf->written;
969 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
970 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
974 int UNUSED insn_referenced = abuf->written;
975 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
979 int UNUSED insn_referenced = abuf->written;
984 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
985 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
992 model_crisv32_move_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
994 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
995 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
996 const IDESC * UNUSED idesc = abuf->idesc;
1000 int UNUSED insn_referenced = abuf->written;
1002 in_Rs = FLD (in_Rs);
1003 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1004 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1008 int UNUSED insn_referenced = abuf->written;
1009 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1013 int UNUSED insn_referenced = abuf->written;
1017 in_Rs = FLD (in_Rs);
1018 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1019 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1026 model_crisv32_move_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
1028 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1029 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1030 const IDESC * UNUSED idesc = abuf->idesc;
1034 int UNUSED insn_referenced = abuf->written;
1036 in_Rs = FLD (in_Rs);
1037 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1038 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1042 int UNUSED insn_referenced = abuf->written;
1043 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1047 int UNUSED insn_referenced = abuf->written;
1051 in_Rs = FLD (in_Rs);
1052 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1053 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1060 model_crisv32_movs_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
1062 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
1063 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1064 const IDESC * UNUSED idesc = abuf->idesc;
1068 int UNUSED insn_referenced = abuf->written;
1070 in_Rs = FLD (in_Rs);
1071 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1072 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1076 int UNUSED insn_referenced = abuf->written;
1077 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1081 int UNUSED insn_referenced = abuf->written;
1085 in_Rs = FLD (in_Rs);
1086 out_Rd = FLD (out_Rd);
1087 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1088 if (insn_referenced & (1 << 7)) referenced |= 1 << 2;
1089 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1096 model_crisv32_movs_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
1098 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
1099 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1100 const IDESC * UNUSED idesc = abuf->idesc;
1104 int UNUSED insn_referenced = abuf->written;
1106 in_Rs = FLD (in_Rs);
1107 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1108 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1112 int UNUSED insn_referenced = abuf->written;
1113 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1117 int UNUSED insn_referenced = abuf->written;
1121 in_Rs = FLD (in_Rs);
1122 out_Rd = FLD (out_Rd);
1123 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1124 if (insn_referenced & (1 << 7)) referenced |= 1 << 2;
1125 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1132 model_crisv32_movu_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
1134 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
1135 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1136 const IDESC * UNUSED idesc = abuf->idesc;
1140 int UNUSED insn_referenced = abuf->written;
1142 in_Rs = FLD (in_Rs);
1143 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1144 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1148 int UNUSED insn_referenced = abuf->written;
1149 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1153 int UNUSED insn_referenced = abuf->written;
1157 in_Rs = FLD (in_Rs);
1158 out_Rd = FLD (out_Rd);
1159 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1160 if (insn_referenced & (1 << 7)) referenced |= 1 << 2;
1161 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1168 model_crisv32_movu_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
1170 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
1171 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1172 const IDESC * UNUSED idesc = abuf->idesc;
1176 int UNUSED insn_referenced = abuf->written;
1178 in_Rs = FLD (in_Rs);
1179 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1180 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1184 int UNUSED insn_referenced = abuf->written;
1185 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1189 int UNUSED insn_referenced = abuf->written;
1193 in_Rs = FLD (in_Rs);
1194 out_Rd = FLD (out_Rd);
1195 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1196 if (insn_referenced & (1 << 7)) referenced |= 1 << 2;
1197 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1204 model_crisv32_move_r_sprv32 (SIM_CPU *current_cpu, void *sem_arg)
1206 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
1207 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1208 const IDESC * UNUSED idesc = abuf->idesc;
1212 int UNUSED insn_referenced = abuf->written;
1215 in_Rs = FLD (in_Rs);
1216 out_Pd = FLD (out_Pd);
1217 referenced |= 1 << 0;
1218 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
1219 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 0, referenced, in_Rs, out_Pd);
1226 model_crisv32_move_spr_rv32 (SIM_CPU *current_cpu, void *sem_arg)
1228 #define FLD(f) abuf->fields.sfmt_mcp.f
1229 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1230 const IDESC * UNUSED idesc = abuf->idesc;
1234 int UNUSED insn_referenced = abuf->written;
1238 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1245 model_crisv32_move_m_sprv32 (SIM_CPU *current_cpu, void *sem_arg)
1247 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
1248 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1249 const IDESC * UNUSED idesc = abuf->idesc;
1253 int UNUSED insn_referenced = abuf->written;
1255 in_Rs = FLD (in_Rs);
1256 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1257 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1261 int UNUSED insn_referenced = abuf->written;
1262 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1266 int UNUSED insn_referenced = abuf->written;
1269 in_Rs = FLD (in_Rs);
1270 out_Pd = FLD (out_Pd);
1271 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1272 referenced |= 1 << 1;
1273 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 2, referenced, in_Rs, out_Pd);
1280 model_crisv32_move_c_sprv32_p0 (SIM_CPU *current_cpu, void *sem_arg)
1282 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1283 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1284 const IDESC * UNUSED idesc = abuf->idesc;
1288 int UNUSED insn_referenced = abuf->written;
1289 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1293 int UNUSED insn_referenced = abuf->written;
1296 out_Pd = FLD (out_Pd);
1297 referenced |= 1 << 1;
1298 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1305 model_crisv32_move_c_sprv32_p1 (SIM_CPU *current_cpu, void *sem_arg)
1307 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1308 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1309 const IDESC * UNUSED idesc = abuf->idesc;
1313 int UNUSED insn_referenced = abuf->written;
1314 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1318 int UNUSED insn_referenced = abuf->written;
1321 out_Pd = FLD (out_Pd);
1322 referenced |= 1 << 1;
1323 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1330 model_crisv32_move_c_sprv32_p2 (SIM_CPU *current_cpu, void *sem_arg)
1332 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1333 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1334 const IDESC * UNUSED idesc = abuf->idesc;
1338 int UNUSED insn_referenced = abuf->written;
1339 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1343 int UNUSED insn_referenced = abuf->written;
1346 out_Pd = FLD (out_Pd);
1347 referenced |= 1 << 1;
1348 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1355 model_crisv32_move_c_sprv32_p3 (SIM_CPU *current_cpu, void *sem_arg)
1357 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1358 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1359 const IDESC * UNUSED idesc = abuf->idesc;
1363 int UNUSED insn_referenced = abuf->written;
1364 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1368 int UNUSED insn_referenced = abuf->written;
1371 out_Pd = FLD (out_Pd);
1372 referenced |= 1 << 1;
1373 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1380 model_crisv32_move_c_sprv32_p4 (SIM_CPU *current_cpu, void *sem_arg)
1382 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1383 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1384 const IDESC * UNUSED idesc = abuf->idesc;
1388 int UNUSED insn_referenced = abuf->written;
1389 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1393 int UNUSED insn_referenced = abuf->written;
1396 out_Pd = FLD (out_Pd);
1397 referenced |= 1 << 1;
1398 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1405 model_crisv32_move_c_sprv32_p5 (SIM_CPU *current_cpu, void *sem_arg)
1407 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1408 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1409 const IDESC * UNUSED idesc = abuf->idesc;
1413 int UNUSED insn_referenced = abuf->written;
1414 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1418 int UNUSED insn_referenced = abuf->written;
1421 out_Pd = FLD (out_Pd);
1422 referenced |= 1 << 1;
1423 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1430 model_crisv32_move_c_sprv32_p6 (SIM_CPU *current_cpu, void *sem_arg)
1432 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1433 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1434 const IDESC * UNUSED idesc = abuf->idesc;
1438 int UNUSED insn_referenced = abuf->written;
1439 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1443 int UNUSED insn_referenced = abuf->written;
1446 out_Pd = FLD (out_Pd);
1447 referenced |= 1 << 1;
1448 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1455 model_crisv32_move_c_sprv32_p7 (SIM_CPU *current_cpu, void *sem_arg)
1457 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1458 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1459 const IDESC * UNUSED idesc = abuf->idesc;
1463 int UNUSED insn_referenced = abuf->written;
1464 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1468 int UNUSED insn_referenced = abuf->written;
1471 out_Pd = FLD (out_Pd);
1472 referenced |= 1 << 1;
1473 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1480 model_crisv32_move_c_sprv32_p8 (SIM_CPU *current_cpu, void *sem_arg)
1482 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1483 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1484 const IDESC * UNUSED idesc = abuf->idesc;
1488 int UNUSED insn_referenced = abuf->written;
1489 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1493 int UNUSED insn_referenced = abuf->written;
1496 out_Pd = FLD (out_Pd);
1497 referenced |= 1 << 1;
1498 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1505 model_crisv32_move_c_sprv32_p9 (SIM_CPU *current_cpu, void *sem_arg)
1507 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1508 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1509 const IDESC * UNUSED idesc = abuf->idesc;
1513 int UNUSED insn_referenced = abuf->written;
1514 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1518 int UNUSED insn_referenced = abuf->written;
1521 out_Pd = FLD (out_Pd);
1522 referenced |= 1 << 1;
1523 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1530 model_crisv32_move_c_sprv32_p10 (SIM_CPU *current_cpu, void *sem_arg)
1532 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1533 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1534 const IDESC * UNUSED idesc = abuf->idesc;
1538 int UNUSED insn_referenced = abuf->written;
1539 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1543 int UNUSED insn_referenced = abuf->written;
1546 out_Pd = FLD (out_Pd);
1547 referenced |= 1 << 1;
1548 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1555 model_crisv32_move_c_sprv32_p11 (SIM_CPU *current_cpu, void *sem_arg)
1557 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1558 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1559 const IDESC * UNUSED idesc = abuf->idesc;
1563 int UNUSED insn_referenced = abuf->written;
1564 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1568 int UNUSED insn_referenced = abuf->written;
1571 out_Pd = FLD (out_Pd);
1572 referenced |= 1 << 1;
1573 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1580 model_crisv32_move_c_sprv32_p12 (SIM_CPU *current_cpu, void *sem_arg)
1582 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1583 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1584 const IDESC * UNUSED idesc = abuf->idesc;
1588 int UNUSED insn_referenced = abuf->written;
1589 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1593 int UNUSED insn_referenced = abuf->written;
1596 out_Pd = FLD (out_Pd);
1597 referenced |= 1 << 1;
1598 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1605 model_crisv32_move_c_sprv32_p13 (SIM_CPU *current_cpu, void *sem_arg)
1607 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.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 += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1618 int UNUSED insn_referenced = abuf->written;
1621 out_Pd = FLD (out_Pd);
1622 referenced |= 1 << 1;
1623 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1630 model_crisv32_move_c_sprv32_p14 (SIM_CPU *current_cpu, void *sem_arg)
1632 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1633 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1634 const IDESC * UNUSED idesc = abuf->idesc;
1638 int UNUSED insn_referenced = abuf->written;
1639 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1643 int UNUSED insn_referenced = abuf->written;
1646 out_Pd = FLD (out_Pd);
1647 referenced |= 1 << 1;
1648 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1655 model_crisv32_move_c_sprv32_p15 (SIM_CPU *current_cpu, void *sem_arg)
1657 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
1658 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1659 const IDESC * UNUSED idesc = abuf->idesc;
1663 int UNUSED insn_referenced = abuf->written;
1664 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1668 int UNUSED insn_referenced = abuf->written;
1671 out_Pd = FLD (out_Pd);
1672 referenced |= 1 << 1;
1673 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1680 model_crisv32_move_spr_mv32 (SIM_CPU *current_cpu, void *sem_arg)
1682 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
1683 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1684 const IDESC * UNUSED idesc = abuf->idesc;
1688 int UNUSED insn_referenced = abuf->written;
1690 in_Rs = FLD (in_Rs);
1691 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
1692 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1696 int UNUSED insn_referenced = abuf->written;
1700 in_Rs = FLD (in_Rs);
1701 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
1702 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
1706 int UNUSED insn_referenced = abuf->written;
1707 cycles += crisv32f_model_crisv32_u_mem_w (current_cpu, idesc, 2, referenced);
1714 model_crisv32_move_ss_r (SIM_CPU *current_cpu, void *sem_arg)
1716 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
1717 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1718 const IDESC * UNUSED idesc = abuf->idesc;
1722 int UNUSED insn_referenced = abuf->written;
1726 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1733 model_crisv32_move_r_ss (SIM_CPU *current_cpu, void *sem_arg)
1735 #define FLD(f) abuf->fields.sfmt_mcp.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;
1745 in_Rs = FLD (in_Rs);
1746 referenced |= 1 << 1;
1747 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1754 model_crisv32_movem_r_m_v32 (SIM_CPU *current_cpu, void *sem_arg)
1756 #define FLD(f) abuf->fields.sfmt_movem_r_m_v32.f
1757 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1758 const IDESC * UNUSED idesc = abuf->idesc;
1762 int UNUSED insn_referenced = abuf->written;
1764 in_Rs = FLD (in_Rs);
1765 referenced |= 1 << 0;
1766 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1770 int UNUSED insn_referenced = abuf->written;
1773 in_Rs = FLD (in_Rs);
1774 in_Rd = FLD (in_Rd);
1775 referenced |= 1 << 0;
1776 referenced |= 1 << 1;
1777 cycles += crisv32f_model_crisv32_u_movem_rtom (current_cpu, idesc, 1, referenced, in_Rs, in_Rd);
1781 int UNUSED insn_referenced = abuf->written;
1784 in_Rs = FLD (in_Rs);
1785 referenced |= 1 << 0;
1786 cycles += crisv32f_model_crisv32_u_exec_movem (current_cpu, idesc, 2, referenced, in_Rs, out_Rd);
1790 int UNUSED insn_referenced = abuf->written;
1791 cycles += crisv32f_model_crisv32_u_mem_w (current_cpu, idesc, 3, referenced);
1798 model_crisv32_movem_m_r_v32 (SIM_CPU *current_cpu, void *sem_arg)
1800 #define FLD(f) abuf->fields.sfmt_movem_m_r_v32.f
1801 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1802 const IDESC * UNUSED idesc = abuf->idesc;
1806 int UNUSED insn_referenced = abuf->written;
1808 in_Rs = FLD (in_Rs);
1809 referenced |= 1 << 0;
1810 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1814 int UNUSED insn_referenced = abuf->written;
1815 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1819 int UNUSED insn_referenced = abuf->written;
1822 in_Rs = FLD (in_Rs);
1823 in_Rd = FLD (in_Rd);
1824 referenced |= 1 << 0;
1825 referenced |= 1 << 1;
1826 cycles += crisv32f_model_crisv32_u_movem_mtor (current_cpu, idesc, 2, referenced, in_Rs, in_Rd);
1830 int UNUSED insn_referenced = abuf->written;
1833 in_Rs = FLD (in_Rs);
1834 referenced |= 1 << 0;
1835 cycles += crisv32f_model_crisv32_u_exec_movem (current_cpu, idesc, 3, referenced, in_Rs, out_Rd);
1842 model_crisv32_add_b_r (SIM_CPU *current_cpu, void *sem_arg)
1844 #define FLD(f) abuf->fields.sfmt_addc_m.f
1845 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1846 const IDESC * UNUSED idesc = abuf->idesc;
1850 int UNUSED insn_referenced = abuf->written;
1854 in_Rd = FLD (in_Rd);
1855 in_Rs = FLD (in_Rs);
1856 referenced |= 1 << 0;
1857 referenced |= 1 << 1;
1858 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1865 model_crisv32_add_w_r (SIM_CPU *current_cpu, void *sem_arg)
1867 #define FLD(f) abuf->fields.sfmt_addc_m.f
1868 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1869 const IDESC * UNUSED idesc = abuf->idesc;
1873 int UNUSED insn_referenced = abuf->written;
1877 in_Rd = FLD (in_Rd);
1878 in_Rs = FLD (in_Rs);
1879 referenced |= 1 << 0;
1880 referenced |= 1 << 1;
1881 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1888 model_crisv32_add_d_r (SIM_CPU *current_cpu, void *sem_arg)
1890 #define FLD(f) abuf->fields.sfmt_addc_m.f
1891 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1892 const IDESC * UNUSED idesc = abuf->idesc;
1896 int UNUSED insn_referenced = abuf->written;
1900 in_Rd = FLD (in_Rd);
1901 in_Rs = FLD (in_Rs);
1902 referenced |= 1 << 0;
1903 referenced |= 1 << 1;
1904 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1911 model_crisv32_add_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
1913 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1914 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1915 const IDESC * UNUSED idesc = abuf->idesc;
1919 int UNUSED insn_referenced = abuf->written;
1921 in_Rs = FLD (in_Rs);
1922 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
1923 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1927 int UNUSED insn_referenced = abuf->written;
1928 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1932 int UNUSED insn_referenced = abuf->written;
1936 in_Rd = FLD (in_Rd);
1937 in_Rs = FLD (in_Rs);
1938 referenced |= 1 << 0;
1939 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
1940 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1947 model_crisv32_add_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
1949 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1950 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1951 const IDESC * UNUSED idesc = abuf->idesc;
1955 int UNUSED insn_referenced = abuf->written;
1957 in_Rs = FLD (in_Rs);
1958 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
1959 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1963 int UNUSED insn_referenced = abuf->written;
1964 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1968 int UNUSED insn_referenced = abuf->written;
1972 in_Rd = FLD (in_Rd);
1973 in_Rs = FLD (in_Rs);
1974 referenced |= 1 << 0;
1975 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
1976 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1983 model_crisv32_add_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
1985 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1986 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1987 const IDESC * UNUSED idesc = abuf->idesc;
1991 int UNUSED insn_referenced = abuf->written;
1993 in_Rs = FLD (in_Rs);
1994 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
1995 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1999 int UNUSED insn_referenced = abuf->written;
2000 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2004 int UNUSED insn_referenced = abuf->written;
2008 in_Rd = FLD (in_Rd);
2009 in_Rs = FLD (in_Rs);
2010 referenced |= 1 << 0;
2011 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2012 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2019 model_crisv32_addcbr (SIM_CPU *current_cpu, void *sem_arg)
2021 #define FLD(f) abuf->fields.sfmt_addcbr.f
2022 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2023 const IDESC * UNUSED idesc = abuf->idesc;
2027 int UNUSED insn_referenced = abuf->written;
2028 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2032 int UNUSED insn_referenced = abuf->written;
2036 in_Rd = FLD (in_Rd);
2037 referenced |= 1 << 0;
2038 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2045 model_crisv32_addcwr (SIM_CPU *current_cpu, void *sem_arg)
2047 #define FLD(f) abuf->fields.sfmt_addcwr.f
2048 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2049 const IDESC * UNUSED idesc = abuf->idesc;
2053 int UNUSED insn_referenced = abuf->written;
2054 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2058 int UNUSED insn_referenced = abuf->written;
2062 in_Rd = FLD (in_Rd);
2063 referenced |= 1 << 0;
2064 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2071 model_crisv32_addcdr (SIM_CPU *current_cpu, void *sem_arg)
2073 #define FLD(f) abuf->fields.sfmt_addcdr.f
2074 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2075 const IDESC * UNUSED idesc = abuf->idesc;
2079 int UNUSED insn_referenced = abuf->written;
2080 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
2084 int UNUSED insn_referenced = abuf->written;
2088 in_Rd = FLD (in_Rd);
2089 referenced |= 1 << 0;
2090 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2097 model_crisv32_adds_b_r (SIM_CPU *current_cpu, void *sem_arg)
2099 #define FLD(f) abuf->fields.sfmt_addc_m.f
2100 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2101 const IDESC * UNUSED idesc = abuf->idesc;
2105 int UNUSED insn_referenced = abuf->written;
2109 in_Rd = FLD (in_Rd);
2110 in_Rs = FLD (in_Rs);
2111 referenced |= 1 << 0;
2112 referenced |= 1 << 1;
2113 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2120 model_crisv32_adds_w_r (SIM_CPU *current_cpu, void *sem_arg)
2122 #define FLD(f) abuf->fields.sfmt_addc_m.f
2123 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2124 const IDESC * UNUSED idesc = abuf->idesc;
2128 int UNUSED insn_referenced = abuf->written;
2132 in_Rd = FLD (in_Rd);
2133 in_Rs = FLD (in_Rs);
2134 referenced |= 1 << 0;
2135 referenced |= 1 << 1;
2136 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2143 model_crisv32_adds_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
2145 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2146 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2147 const IDESC * UNUSED idesc = abuf->idesc;
2151 int UNUSED insn_referenced = abuf->written;
2153 in_Rs = FLD (in_Rs);
2154 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2155 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2159 int UNUSED insn_referenced = abuf->written;
2160 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2164 int UNUSED insn_referenced = abuf->written;
2168 in_Rd = FLD (in_Rd);
2169 in_Rs = FLD (in_Rs);
2170 referenced |= 1 << 0;
2171 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2172 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2179 model_crisv32_adds_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
2181 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2182 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2183 const IDESC * UNUSED idesc = abuf->idesc;
2187 int UNUSED insn_referenced = abuf->written;
2189 in_Rs = FLD (in_Rs);
2190 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2191 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2195 int UNUSED insn_referenced = abuf->written;
2196 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2200 int UNUSED insn_referenced = abuf->written;
2204 in_Rd = FLD (in_Rd);
2205 in_Rs = FLD (in_Rs);
2206 referenced |= 1 << 0;
2207 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2208 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2215 model_crisv32_addscbr (SIM_CPU *current_cpu, void *sem_arg)
2217 #define FLD(f) abuf->fields.sfmt_addcbr.f
2218 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2219 const IDESC * UNUSED idesc = abuf->idesc;
2223 int UNUSED insn_referenced = abuf->written;
2224 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2228 int UNUSED insn_referenced = abuf->written;
2232 in_Rd = FLD (in_Rd);
2233 referenced |= 1 << 0;
2234 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2241 model_crisv32_addscwr (SIM_CPU *current_cpu, void *sem_arg)
2243 #define FLD(f) abuf->fields.sfmt_addcwr.f
2244 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2245 const IDESC * UNUSED idesc = abuf->idesc;
2249 int UNUSED insn_referenced = abuf->written;
2250 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2254 int UNUSED insn_referenced = abuf->written;
2258 in_Rd = FLD (in_Rd);
2259 referenced |= 1 << 0;
2260 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2267 model_crisv32_addu_b_r (SIM_CPU *current_cpu, void *sem_arg)
2269 #define FLD(f) abuf->fields.sfmt_addc_m.f
2270 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2271 const IDESC * UNUSED idesc = abuf->idesc;
2275 int UNUSED insn_referenced = abuf->written;
2279 in_Rd = FLD (in_Rd);
2280 in_Rs = FLD (in_Rs);
2281 referenced |= 1 << 0;
2282 referenced |= 1 << 1;
2283 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2290 model_crisv32_addu_w_r (SIM_CPU *current_cpu, void *sem_arg)
2292 #define FLD(f) abuf->fields.sfmt_addc_m.f
2293 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2294 const IDESC * UNUSED idesc = abuf->idesc;
2298 int UNUSED insn_referenced = abuf->written;
2302 in_Rd = FLD (in_Rd);
2303 in_Rs = FLD (in_Rs);
2304 referenced |= 1 << 0;
2305 referenced |= 1 << 1;
2306 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2313 model_crisv32_addu_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
2315 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2316 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2317 const IDESC * UNUSED idesc = abuf->idesc;
2321 int UNUSED insn_referenced = abuf->written;
2323 in_Rs = FLD (in_Rs);
2324 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2325 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2329 int UNUSED insn_referenced = abuf->written;
2330 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2334 int UNUSED insn_referenced = abuf->written;
2338 in_Rd = FLD (in_Rd);
2339 in_Rs = FLD (in_Rs);
2340 referenced |= 1 << 0;
2341 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2342 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2349 model_crisv32_addu_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
2351 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2352 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2353 const IDESC * UNUSED idesc = abuf->idesc;
2357 int UNUSED insn_referenced = abuf->written;
2359 in_Rs = FLD (in_Rs);
2360 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2361 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2365 int UNUSED insn_referenced = abuf->written;
2366 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2370 int UNUSED insn_referenced = abuf->written;
2374 in_Rd = FLD (in_Rd);
2375 in_Rs = FLD (in_Rs);
2376 referenced |= 1 << 0;
2377 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2378 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2385 model_crisv32_adducbr (SIM_CPU *current_cpu, void *sem_arg)
2387 #define FLD(f) abuf->fields.sfmt_addcbr.f
2388 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2389 const IDESC * UNUSED idesc = abuf->idesc;
2393 int UNUSED insn_referenced = abuf->written;
2394 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2398 int UNUSED insn_referenced = abuf->written;
2402 in_Rd = FLD (in_Rd);
2403 referenced |= 1 << 0;
2404 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2411 model_crisv32_adducwr (SIM_CPU *current_cpu, void *sem_arg)
2413 #define FLD(f) abuf->fields.sfmt_addcwr.f
2414 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2415 const IDESC * UNUSED idesc = abuf->idesc;
2419 int UNUSED insn_referenced = abuf->written;
2420 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2424 int UNUSED insn_referenced = abuf->written;
2428 in_Rd = FLD (in_Rd);
2429 referenced |= 1 << 0;
2430 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2437 model_crisv32_sub_b_r (SIM_CPU *current_cpu, void *sem_arg)
2439 #define FLD(f) abuf->fields.sfmt_addc_m.f
2440 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2441 const IDESC * UNUSED idesc = abuf->idesc;
2445 int UNUSED insn_referenced = abuf->written;
2449 in_Rd = FLD (in_Rd);
2450 in_Rs = FLD (in_Rs);
2451 referenced |= 1 << 0;
2452 referenced |= 1 << 1;
2453 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2460 model_crisv32_sub_w_r (SIM_CPU *current_cpu, void *sem_arg)
2462 #define FLD(f) abuf->fields.sfmt_addc_m.f
2463 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2464 const IDESC * UNUSED idesc = abuf->idesc;
2468 int UNUSED insn_referenced = abuf->written;
2472 in_Rd = FLD (in_Rd);
2473 in_Rs = FLD (in_Rs);
2474 referenced |= 1 << 0;
2475 referenced |= 1 << 1;
2476 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2483 model_crisv32_sub_d_r (SIM_CPU *current_cpu, void *sem_arg)
2485 #define FLD(f) abuf->fields.sfmt_addc_m.f
2486 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2487 const IDESC * UNUSED idesc = abuf->idesc;
2491 int UNUSED insn_referenced = abuf->written;
2495 in_Rd = FLD (in_Rd);
2496 in_Rs = FLD (in_Rs);
2497 referenced |= 1 << 0;
2498 referenced |= 1 << 1;
2499 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2506 model_crisv32_sub_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
2508 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2509 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2510 const IDESC * UNUSED idesc = abuf->idesc;
2514 int UNUSED insn_referenced = abuf->written;
2516 in_Rs = FLD (in_Rs);
2517 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2518 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2522 int UNUSED insn_referenced = abuf->written;
2523 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2527 int UNUSED insn_referenced = abuf->written;
2531 in_Rd = FLD (in_Rd);
2532 in_Rs = FLD (in_Rs);
2533 referenced |= 1 << 0;
2534 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2535 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2542 model_crisv32_sub_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
2544 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2545 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2546 const IDESC * UNUSED idesc = abuf->idesc;
2550 int UNUSED insn_referenced = abuf->written;
2552 in_Rs = FLD (in_Rs);
2553 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2554 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2558 int UNUSED insn_referenced = abuf->written;
2559 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2563 int UNUSED insn_referenced = abuf->written;
2567 in_Rd = FLD (in_Rd);
2568 in_Rs = FLD (in_Rs);
2569 referenced |= 1 << 0;
2570 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2571 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2578 model_crisv32_sub_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
2580 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2581 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2582 const IDESC * UNUSED idesc = abuf->idesc;
2586 int UNUSED insn_referenced = abuf->written;
2588 in_Rs = FLD (in_Rs);
2589 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2590 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2594 int UNUSED insn_referenced = abuf->written;
2595 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2599 int UNUSED insn_referenced = abuf->written;
2603 in_Rd = FLD (in_Rd);
2604 in_Rs = FLD (in_Rs);
2605 referenced |= 1 << 0;
2606 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2607 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2614 model_crisv32_subcbr (SIM_CPU *current_cpu, void *sem_arg)
2616 #define FLD(f) abuf->fields.sfmt_addcbr.f
2617 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2618 const IDESC * UNUSED idesc = abuf->idesc;
2622 int UNUSED insn_referenced = abuf->written;
2623 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2627 int UNUSED insn_referenced = abuf->written;
2631 in_Rd = FLD (in_Rd);
2632 referenced |= 1 << 0;
2633 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2640 model_crisv32_subcwr (SIM_CPU *current_cpu, void *sem_arg)
2642 #define FLD(f) abuf->fields.sfmt_addcwr.f
2643 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2644 const IDESC * UNUSED idesc = abuf->idesc;
2648 int UNUSED insn_referenced = abuf->written;
2649 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2653 int UNUSED insn_referenced = abuf->written;
2657 in_Rd = FLD (in_Rd);
2658 referenced |= 1 << 0;
2659 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2666 model_crisv32_subcdr (SIM_CPU *current_cpu, void *sem_arg)
2668 #define FLD(f) abuf->fields.sfmt_addcdr.f
2669 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2670 const IDESC * UNUSED idesc = abuf->idesc;
2674 int UNUSED insn_referenced = abuf->written;
2675 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
2679 int UNUSED insn_referenced = abuf->written;
2683 in_Rd = FLD (in_Rd);
2684 referenced |= 1 << 0;
2685 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2692 model_crisv32_subs_b_r (SIM_CPU *current_cpu, void *sem_arg)
2694 #define FLD(f) abuf->fields.sfmt_addc_m.f
2695 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2696 const IDESC * UNUSED idesc = abuf->idesc;
2700 int UNUSED insn_referenced = abuf->written;
2704 in_Rd = FLD (in_Rd);
2705 in_Rs = FLD (in_Rs);
2706 referenced |= 1 << 0;
2707 referenced |= 1 << 1;
2708 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2715 model_crisv32_subs_w_r (SIM_CPU *current_cpu, void *sem_arg)
2717 #define FLD(f) abuf->fields.sfmt_addc_m.f
2718 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2719 const IDESC * UNUSED idesc = abuf->idesc;
2723 int UNUSED insn_referenced = abuf->written;
2727 in_Rd = FLD (in_Rd);
2728 in_Rs = FLD (in_Rs);
2729 referenced |= 1 << 0;
2730 referenced |= 1 << 1;
2731 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2738 model_crisv32_subs_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
2740 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2741 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2742 const IDESC * UNUSED idesc = abuf->idesc;
2746 int UNUSED insn_referenced = abuf->written;
2748 in_Rs = FLD (in_Rs);
2749 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2750 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2754 int UNUSED insn_referenced = abuf->written;
2755 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2759 int UNUSED insn_referenced = abuf->written;
2763 in_Rd = FLD (in_Rd);
2764 in_Rs = FLD (in_Rs);
2765 referenced |= 1 << 0;
2766 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2767 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2774 model_crisv32_subs_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
2776 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2777 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2778 const IDESC * UNUSED idesc = abuf->idesc;
2782 int UNUSED insn_referenced = abuf->written;
2784 in_Rs = FLD (in_Rs);
2785 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2786 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2790 int UNUSED insn_referenced = abuf->written;
2791 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2795 int UNUSED insn_referenced = abuf->written;
2799 in_Rd = FLD (in_Rd);
2800 in_Rs = FLD (in_Rs);
2801 referenced |= 1 << 0;
2802 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2803 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2810 model_crisv32_subscbr (SIM_CPU *current_cpu, void *sem_arg)
2812 #define FLD(f) abuf->fields.sfmt_addcbr.f
2813 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2814 const IDESC * UNUSED idesc = abuf->idesc;
2818 int UNUSED insn_referenced = abuf->written;
2819 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2823 int UNUSED insn_referenced = abuf->written;
2827 in_Rd = FLD (in_Rd);
2828 referenced |= 1 << 0;
2829 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2836 model_crisv32_subscwr (SIM_CPU *current_cpu, void *sem_arg)
2838 #define FLD(f) abuf->fields.sfmt_addcwr.f
2839 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2840 const IDESC * UNUSED idesc = abuf->idesc;
2844 int UNUSED insn_referenced = abuf->written;
2845 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2849 int UNUSED insn_referenced = abuf->written;
2853 in_Rd = FLD (in_Rd);
2854 referenced |= 1 << 0;
2855 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2862 model_crisv32_subu_b_r (SIM_CPU *current_cpu, void *sem_arg)
2864 #define FLD(f) abuf->fields.sfmt_addc_m.f
2865 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2866 const IDESC * UNUSED idesc = abuf->idesc;
2870 int UNUSED insn_referenced = abuf->written;
2874 in_Rd = FLD (in_Rd);
2875 in_Rs = FLD (in_Rs);
2876 referenced |= 1 << 0;
2877 referenced |= 1 << 1;
2878 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2885 model_crisv32_subu_w_r (SIM_CPU *current_cpu, void *sem_arg)
2887 #define FLD(f) abuf->fields.sfmt_addc_m.f
2888 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2889 const IDESC * UNUSED idesc = abuf->idesc;
2893 int UNUSED insn_referenced = abuf->written;
2897 in_Rd = FLD (in_Rd);
2898 in_Rs = FLD (in_Rs);
2899 referenced |= 1 << 0;
2900 referenced |= 1 << 1;
2901 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2908 model_crisv32_subu_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
2910 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2911 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2912 const IDESC * UNUSED idesc = abuf->idesc;
2916 int UNUSED insn_referenced = abuf->written;
2918 in_Rs = FLD (in_Rs);
2919 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2920 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2924 int UNUSED insn_referenced = abuf->written;
2925 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2929 int UNUSED insn_referenced = abuf->written;
2933 in_Rd = FLD (in_Rd);
2934 in_Rs = FLD (in_Rs);
2935 referenced |= 1 << 0;
2936 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2937 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2944 model_crisv32_subu_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
2946 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2947 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2948 const IDESC * UNUSED idesc = abuf->idesc;
2952 int UNUSED insn_referenced = abuf->written;
2954 in_Rs = FLD (in_Rs);
2955 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2956 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2960 int UNUSED insn_referenced = abuf->written;
2961 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2965 int UNUSED insn_referenced = abuf->written;
2969 in_Rd = FLD (in_Rd);
2970 in_Rs = FLD (in_Rs);
2971 referenced |= 1 << 0;
2972 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2973 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2980 model_crisv32_subucbr (SIM_CPU *current_cpu, void *sem_arg)
2982 #define FLD(f) abuf->fields.sfmt_addcbr.f
2983 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2984 const IDESC * UNUSED idesc = abuf->idesc;
2988 int UNUSED insn_referenced = abuf->written;
2989 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2993 int UNUSED insn_referenced = abuf->written;
2997 in_Rd = FLD (in_Rd);
2998 referenced |= 1 << 0;
2999 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3006 model_crisv32_subucwr (SIM_CPU *current_cpu, void *sem_arg)
3008 #define FLD(f) abuf->fields.sfmt_addcwr.f
3009 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3010 const IDESC * UNUSED idesc = abuf->idesc;
3014 int UNUSED insn_referenced = abuf->written;
3015 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
3019 int UNUSED insn_referenced = abuf->written;
3023 in_Rd = FLD (in_Rd);
3024 referenced |= 1 << 0;
3025 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3032 model_crisv32_addc_r (SIM_CPU *current_cpu, void *sem_arg)
3034 #define FLD(f) abuf->fields.sfmt_addc_m.f
3035 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3036 const IDESC * UNUSED idesc = abuf->idesc;
3040 int UNUSED insn_referenced = abuf->written;
3044 in_Rd = FLD (in_Rd);
3045 in_Rs = FLD (in_Rs);
3046 referenced |= 1 << 0;
3047 referenced |= 1 << 1;
3048 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3055 model_crisv32_addc_m (SIM_CPU *current_cpu, void *sem_arg)
3057 #define FLD(f) abuf->fields.sfmt_addc_m.f
3058 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3059 const IDESC * UNUSED idesc = abuf->idesc;
3063 int UNUSED insn_referenced = abuf->written;
3065 in_Rs = FLD (in_Rs);
3066 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3067 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3071 int UNUSED insn_referenced = abuf->written;
3072 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3076 int UNUSED insn_referenced = abuf->written;
3080 in_Rd = FLD (in_Rd);
3081 in_Rs = FLD (in_Rs);
3082 referenced |= 1 << 0;
3083 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3084 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3091 model_crisv32_addc_c (SIM_CPU *current_cpu, void *sem_arg)
3093 #define FLD(f) abuf->fields.sfmt_addcdr.f
3094 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3095 const IDESC * UNUSED idesc = abuf->idesc;
3099 int UNUSED insn_referenced = abuf->written;
3100 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
3104 int UNUSED insn_referenced = abuf->written;
3108 in_Rd = FLD (in_Rd);
3109 referenced |= 1 << 0;
3110 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3117 model_crisv32_lapc_d (SIM_CPU *current_cpu, void *sem_arg)
3119 #define FLD(f) abuf->fields.sfmt_lapc_d.f
3120 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3121 const IDESC * UNUSED idesc = abuf->idesc;
3125 int UNUSED insn_referenced = abuf->written;
3126 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
3130 int UNUSED insn_referenced = abuf->written;
3134 out_Rd = FLD (out_Rd);
3135 referenced |= 1 << 2;
3136 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3143 model_crisv32_lapcq (SIM_CPU *current_cpu, void *sem_arg)
3145 #define FLD(f) abuf->fields.sfmt_lapcq.f
3146 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3147 const IDESC * UNUSED idesc = abuf->idesc;
3151 int UNUSED insn_referenced = abuf->written;
3155 out_Rd = FLD (out_Rd);
3156 referenced |= 1 << 2;
3157 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3164 model_crisv32_addi_b_r (SIM_CPU *current_cpu, void *sem_arg)
3166 #define FLD(f) abuf->fields.sfmt_addc_m.f
3167 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3168 const IDESC * UNUSED idesc = abuf->idesc;
3172 int UNUSED insn_referenced = abuf->written;
3176 in_Rd = FLD (in_Rd);
3177 in_Rs = FLD (in_Rs);
3178 referenced |= 1 << 0;
3179 referenced |= 1 << 1;
3180 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3187 model_crisv32_addi_w_r (SIM_CPU *current_cpu, void *sem_arg)
3189 #define FLD(f) abuf->fields.sfmt_addc_m.f
3190 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3191 const IDESC * UNUSED idesc = abuf->idesc;
3195 int UNUSED insn_referenced = abuf->written;
3199 in_Rd = FLD (in_Rd);
3200 in_Rs = FLD (in_Rs);
3201 referenced |= 1 << 0;
3202 referenced |= 1 << 1;
3203 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3210 model_crisv32_addi_d_r (SIM_CPU *current_cpu, void *sem_arg)
3212 #define FLD(f) abuf->fields.sfmt_addc_m.f
3213 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3214 const IDESC * UNUSED idesc = abuf->idesc;
3218 int UNUSED insn_referenced = abuf->written;
3222 in_Rd = FLD (in_Rd);
3223 in_Rs = FLD (in_Rs);
3224 referenced |= 1 << 0;
3225 referenced |= 1 << 1;
3226 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3233 model_crisv32_neg_b_r (SIM_CPU *current_cpu, void *sem_arg)
3235 #define FLD(f) abuf->fields.sfmt_addc_m.f
3236 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3237 const IDESC * UNUSED idesc = abuf->idesc;
3241 int UNUSED insn_referenced = abuf->written;
3245 in_Rs = FLD (in_Rs);
3246 referenced |= 1 << 1;
3247 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3254 model_crisv32_neg_w_r (SIM_CPU *current_cpu, void *sem_arg)
3256 #define FLD(f) abuf->fields.sfmt_addc_m.f
3257 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3258 const IDESC * UNUSED idesc = abuf->idesc;
3262 int UNUSED insn_referenced = abuf->written;
3266 in_Rs = FLD (in_Rs);
3267 referenced |= 1 << 1;
3268 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3275 model_crisv32_neg_d_r (SIM_CPU *current_cpu, void *sem_arg)
3277 #define FLD(f) abuf->fields.sfmt_addc_m.f
3278 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3279 const IDESC * UNUSED idesc = abuf->idesc;
3283 int UNUSED insn_referenced = abuf->written;
3287 in_Rs = FLD (in_Rs);
3288 referenced |= 1 << 1;
3289 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3296 model_crisv32_test_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
3298 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
3299 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3300 const IDESC * UNUSED idesc = abuf->idesc;
3304 int UNUSED insn_referenced = abuf->written;
3306 in_Rs = FLD (in_Rs);
3307 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
3308 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3312 int UNUSED insn_referenced = abuf->written;
3313 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3317 int UNUSED insn_referenced = abuf->written;
3321 in_Rs = FLD (in_Rs);
3322 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
3323 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3330 model_crisv32_test_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
3332 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
3333 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3334 const IDESC * UNUSED idesc = abuf->idesc;
3338 int UNUSED insn_referenced = abuf->written;
3340 in_Rs = FLD (in_Rs);
3341 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
3342 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3346 int UNUSED insn_referenced = abuf->written;
3347 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3351 int UNUSED insn_referenced = abuf->written;
3355 in_Rs = FLD (in_Rs);
3356 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
3357 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3364 model_crisv32_test_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
3366 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
3367 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3368 const IDESC * UNUSED idesc = abuf->idesc;
3372 int UNUSED insn_referenced = abuf->written;
3374 in_Rs = FLD (in_Rs);
3375 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
3376 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3380 int UNUSED insn_referenced = abuf->written;
3381 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3385 int UNUSED insn_referenced = abuf->written;
3389 in_Rs = FLD (in_Rs);
3390 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
3391 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3398 model_crisv32_move_r_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
3400 #define FLD(f) abuf->fields.sfmt_addc_m.f
3401 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3402 const IDESC * UNUSED idesc = abuf->idesc;
3406 int UNUSED insn_referenced = abuf->written;
3408 in_Rs = FLD (in_Rs);
3409 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3410 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3414 int UNUSED insn_referenced = abuf->written;
3418 in_Rd = FLD (in_Rd);
3419 in_Rs = FLD (in_Rs);
3420 referenced |= 1 << 0;
3421 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3422 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3426 int UNUSED insn_referenced = abuf->written;
3427 cycles += crisv32f_model_crisv32_u_mem_w (current_cpu, idesc, 2, referenced);
3434 model_crisv32_move_r_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
3436 #define FLD(f) abuf->fields.sfmt_addc_m.f
3437 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3438 const IDESC * UNUSED idesc = abuf->idesc;
3442 int UNUSED insn_referenced = abuf->written;
3444 in_Rs = FLD (in_Rs);
3445 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3446 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3450 int UNUSED insn_referenced = abuf->written;
3454 in_Rd = FLD (in_Rd);
3455 in_Rs = FLD (in_Rs);
3456 referenced |= 1 << 0;
3457 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3458 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3462 int UNUSED insn_referenced = abuf->written;
3463 cycles += crisv32f_model_crisv32_u_mem_w (current_cpu, idesc, 2, referenced);
3470 model_crisv32_move_r_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
3472 #define FLD(f) abuf->fields.sfmt_addc_m.f
3473 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3474 const IDESC * UNUSED idesc = abuf->idesc;
3478 int UNUSED insn_referenced = abuf->written;
3480 in_Rs = FLD (in_Rs);
3481 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3482 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3486 int UNUSED insn_referenced = abuf->written;
3490 in_Rd = FLD (in_Rd);
3491 in_Rs = FLD (in_Rs);
3492 referenced |= 1 << 0;
3493 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3494 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3498 int UNUSED insn_referenced = abuf->written;
3499 cycles += crisv32f_model_crisv32_u_mem_w (current_cpu, idesc, 2, referenced);
3506 model_crisv32_muls_b (SIM_CPU *current_cpu, void *sem_arg)
3508 #define FLD(f) abuf->fields.sfmt_muls_b.f
3509 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3510 const IDESC * UNUSED idesc = abuf->idesc;
3514 int UNUSED insn_referenced = abuf->written;
3517 in_Rs = FLD (in_Rs);
3518 in_Rd = FLD (in_Rd);
3519 referenced |= 1 << 0;
3520 referenced |= 1 << 1;
3521 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3525 int UNUSED insn_referenced = abuf->written;
3529 in_Rd = FLD (in_Rd);
3530 in_Rs = FLD (in_Rs);
3531 out_Rd = FLD (out_Rd);
3532 referenced |= 1 << 0;
3533 referenced |= 1 << 1;
3534 referenced |= 1 << 2;
3535 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3542 model_crisv32_muls_w (SIM_CPU *current_cpu, void *sem_arg)
3544 #define FLD(f) abuf->fields.sfmt_muls_b.f
3545 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3546 const IDESC * UNUSED idesc = abuf->idesc;
3550 int UNUSED insn_referenced = abuf->written;
3553 in_Rs = FLD (in_Rs);
3554 in_Rd = FLD (in_Rd);
3555 referenced |= 1 << 0;
3556 referenced |= 1 << 1;
3557 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3561 int UNUSED insn_referenced = abuf->written;
3565 in_Rd = FLD (in_Rd);
3566 in_Rs = FLD (in_Rs);
3567 out_Rd = FLD (out_Rd);
3568 referenced |= 1 << 0;
3569 referenced |= 1 << 1;
3570 referenced |= 1 << 2;
3571 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3578 model_crisv32_muls_d (SIM_CPU *current_cpu, void *sem_arg)
3580 #define FLD(f) abuf->fields.sfmt_muls_b.f
3581 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3582 const IDESC * UNUSED idesc = abuf->idesc;
3586 int UNUSED insn_referenced = abuf->written;
3589 in_Rs = FLD (in_Rs);
3590 in_Rd = FLD (in_Rd);
3591 referenced |= 1 << 0;
3592 referenced |= 1 << 1;
3593 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3597 int UNUSED insn_referenced = abuf->written;
3601 in_Rd = FLD (in_Rd);
3602 in_Rs = FLD (in_Rs);
3603 out_Rd = FLD (out_Rd);
3604 referenced |= 1 << 0;
3605 referenced |= 1 << 1;
3606 referenced |= 1 << 2;
3607 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3614 model_crisv32_mulu_b (SIM_CPU *current_cpu, void *sem_arg)
3616 #define FLD(f) abuf->fields.sfmt_muls_b.f
3617 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3618 const IDESC * UNUSED idesc = abuf->idesc;
3622 int UNUSED insn_referenced = abuf->written;
3625 in_Rs = FLD (in_Rs);
3626 in_Rd = FLD (in_Rd);
3627 referenced |= 1 << 0;
3628 referenced |= 1 << 1;
3629 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3633 int UNUSED insn_referenced = abuf->written;
3637 in_Rd = FLD (in_Rd);
3638 in_Rs = FLD (in_Rs);
3639 out_Rd = FLD (out_Rd);
3640 referenced |= 1 << 0;
3641 referenced |= 1 << 1;
3642 referenced |= 1 << 2;
3643 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3650 model_crisv32_mulu_w (SIM_CPU *current_cpu, void *sem_arg)
3652 #define FLD(f) abuf->fields.sfmt_muls_b.f
3653 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3654 const IDESC * UNUSED idesc = abuf->idesc;
3658 int UNUSED insn_referenced = abuf->written;
3661 in_Rs = FLD (in_Rs);
3662 in_Rd = FLD (in_Rd);
3663 referenced |= 1 << 0;
3664 referenced |= 1 << 1;
3665 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3669 int UNUSED insn_referenced = abuf->written;
3673 in_Rd = FLD (in_Rd);
3674 in_Rs = FLD (in_Rs);
3675 out_Rd = FLD (out_Rd);
3676 referenced |= 1 << 0;
3677 referenced |= 1 << 1;
3678 referenced |= 1 << 2;
3679 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3686 model_crisv32_mulu_d (SIM_CPU *current_cpu, void *sem_arg)
3688 #define FLD(f) abuf->fields.sfmt_muls_b.f
3689 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3690 const IDESC * UNUSED idesc = abuf->idesc;
3694 int UNUSED insn_referenced = abuf->written;
3697 in_Rs = FLD (in_Rs);
3698 in_Rd = FLD (in_Rd);
3699 referenced |= 1 << 0;
3700 referenced |= 1 << 1;
3701 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3705 int UNUSED insn_referenced = abuf->written;
3709 in_Rd = FLD (in_Rd);
3710 in_Rs = FLD (in_Rs);
3711 out_Rd = FLD (out_Rd);
3712 referenced |= 1 << 0;
3713 referenced |= 1 << 1;
3714 referenced |= 1 << 2;
3715 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3722 model_crisv32_mcp (SIM_CPU *current_cpu, void *sem_arg)
3724 #define FLD(f) abuf->fields.sfmt_mcp.f
3725 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3726 const IDESC * UNUSED idesc = abuf->idesc;
3730 int UNUSED insn_referenced = abuf->written;
3734 in_Rs = FLD (in_Rs);
3735 referenced |= 1 << 1;
3736 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3743 model_crisv32_dstep (SIM_CPU *current_cpu, void *sem_arg)
3745 #define FLD(f) abuf->fields.sfmt_muls_b.f
3746 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3747 const IDESC * UNUSED idesc = abuf->idesc;
3751 int UNUSED insn_referenced = abuf->written;
3755 in_Rd = FLD (in_Rd);
3756 in_Rs = FLD (in_Rs);
3757 out_Rd = FLD (out_Rd);
3758 referenced |= 1 << 0;
3759 referenced |= 1 << 1;
3760 referenced |= 1 << 2;
3761 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3768 model_crisv32_abs (SIM_CPU *current_cpu, void *sem_arg)
3770 #define FLD(f) abuf->fields.sfmt_muls_b.f
3771 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3772 const IDESC * UNUSED idesc = abuf->idesc;
3776 int UNUSED insn_referenced = abuf->written;
3780 in_Rs = FLD (in_Rs);
3781 out_Rd = FLD (out_Rd);
3782 referenced |= 1 << 1;
3783 referenced |= 1 << 2;
3784 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3791 model_crisv32_and_b_r (SIM_CPU *current_cpu, void *sem_arg)
3793 #define FLD(f) abuf->fields.sfmt_addc_m.f
3794 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3795 const IDESC * UNUSED idesc = abuf->idesc;
3799 int UNUSED insn_referenced = abuf->written;
3803 in_Rd = FLD (in_Rd);
3804 in_Rs = FLD (in_Rs);
3805 referenced |= 1 << 0;
3806 referenced |= 1 << 1;
3807 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3814 model_crisv32_and_w_r (SIM_CPU *current_cpu, void *sem_arg)
3816 #define FLD(f) abuf->fields.sfmt_addc_m.f
3817 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3818 const IDESC * UNUSED idesc = abuf->idesc;
3822 int UNUSED insn_referenced = abuf->written;
3826 in_Rd = FLD (in_Rd);
3827 in_Rs = FLD (in_Rs);
3828 referenced |= 1 << 0;
3829 referenced |= 1 << 1;
3830 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3837 model_crisv32_and_d_r (SIM_CPU *current_cpu, void *sem_arg)
3839 #define FLD(f) abuf->fields.sfmt_addc_m.f
3840 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3841 const IDESC * UNUSED idesc = abuf->idesc;
3845 int UNUSED insn_referenced = abuf->written;
3849 in_Rd = FLD (in_Rd);
3850 in_Rs = FLD (in_Rs);
3851 referenced |= 1 << 0;
3852 referenced |= 1 << 1;
3853 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3860 model_crisv32_and_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
3862 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3863 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3864 const IDESC * UNUSED idesc = abuf->idesc;
3868 int UNUSED insn_referenced = abuf->written;
3870 in_Rs = FLD (in_Rs);
3871 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3872 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3876 int UNUSED insn_referenced = abuf->written;
3877 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3881 int UNUSED insn_referenced = abuf->written;
3885 in_Rd = FLD (in_Rd);
3886 in_Rs = FLD (in_Rs);
3887 referenced |= 1 << 0;
3888 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3889 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3896 model_crisv32_and_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
3898 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3899 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3900 const IDESC * UNUSED idesc = abuf->idesc;
3904 int UNUSED insn_referenced = abuf->written;
3906 in_Rs = FLD (in_Rs);
3907 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3908 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3912 int UNUSED insn_referenced = abuf->written;
3913 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3917 int UNUSED insn_referenced = abuf->written;
3921 in_Rd = FLD (in_Rd);
3922 in_Rs = FLD (in_Rs);
3923 referenced |= 1 << 0;
3924 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3925 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3932 model_crisv32_and_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
3934 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3935 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3936 const IDESC * UNUSED idesc = abuf->idesc;
3940 int UNUSED insn_referenced = abuf->written;
3942 in_Rs = FLD (in_Rs);
3943 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3944 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3948 int UNUSED insn_referenced = abuf->written;
3949 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3953 int UNUSED insn_referenced = abuf->written;
3957 in_Rd = FLD (in_Rd);
3958 in_Rs = FLD (in_Rs);
3959 referenced |= 1 << 0;
3960 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3961 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3968 model_crisv32_andcbr (SIM_CPU *current_cpu, void *sem_arg)
3970 #define FLD(f) abuf->fields.sfmt_addcbr.f
3971 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3972 const IDESC * UNUSED idesc = abuf->idesc;
3976 int UNUSED insn_referenced = abuf->written;
3977 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
3981 int UNUSED insn_referenced = abuf->written;
3985 in_Rd = FLD (in_Rd);
3986 referenced |= 1 << 0;
3987 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3994 model_crisv32_andcwr (SIM_CPU *current_cpu, void *sem_arg)
3996 #define FLD(f) abuf->fields.sfmt_addcwr.f
3997 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3998 const IDESC * UNUSED idesc = abuf->idesc;
4002 int UNUSED insn_referenced = abuf->written;
4003 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
4007 int UNUSED insn_referenced = abuf->written;
4011 in_Rd = FLD (in_Rd);
4012 referenced |= 1 << 0;
4013 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4020 model_crisv32_andcdr (SIM_CPU *current_cpu, void *sem_arg)
4022 #define FLD(f) abuf->fields.sfmt_addcdr.f
4023 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4024 const IDESC * UNUSED idesc = abuf->idesc;
4028 int UNUSED insn_referenced = abuf->written;
4029 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
4033 int UNUSED insn_referenced = abuf->written;
4037 in_Rd = FLD (in_Rd);
4038 referenced |= 1 << 0;
4039 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4046 model_crisv32_andq (SIM_CPU *current_cpu, void *sem_arg)
4048 #define FLD(f) abuf->fields.sfmt_andq.f
4049 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4050 const IDESC * UNUSED idesc = abuf->idesc;
4054 int UNUSED insn_referenced = abuf->written;
4058 in_Rd = FLD (in_Rd);
4059 referenced |= 1 << 0;
4060 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4067 model_crisv32_orr_b_r (SIM_CPU *current_cpu, void *sem_arg)
4069 #define FLD(f) abuf->fields.sfmt_addc_m.f
4070 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4071 const IDESC * UNUSED idesc = abuf->idesc;
4075 int UNUSED insn_referenced = abuf->written;
4079 in_Rd = FLD (in_Rd);
4080 in_Rs = FLD (in_Rs);
4081 referenced |= 1 << 0;
4082 referenced |= 1 << 1;
4083 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4090 model_crisv32_orr_w_r (SIM_CPU *current_cpu, void *sem_arg)
4092 #define FLD(f) abuf->fields.sfmt_addc_m.f
4093 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4094 const IDESC * UNUSED idesc = abuf->idesc;
4098 int UNUSED insn_referenced = abuf->written;
4102 in_Rd = FLD (in_Rd);
4103 in_Rs = FLD (in_Rs);
4104 referenced |= 1 << 0;
4105 referenced |= 1 << 1;
4106 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4113 model_crisv32_orr_d_r (SIM_CPU *current_cpu, void *sem_arg)
4115 #define FLD(f) abuf->fields.sfmt_addc_m.f
4116 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4117 const IDESC * UNUSED idesc = abuf->idesc;
4121 int UNUSED insn_referenced = abuf->written;
4125 in_Rd = FLD (in_Rd);
4126 in_Rs = FLD (in_Rs);
4127 referenced |= 1 << 0;
4128 referenced |= 1 << 1;
4129 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4136 model_crisv32_or_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
4138 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4139 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4140 const IDESC * UNUSED idesc = abuf->idesc;
4144 int UNUSED insn_referenced = abuf->written;
4146 in_Rs = FLD (in_Rs);
4147 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
4148 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
4152 int UNUSED insn_referenced = abuf->written;
4153 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
4157 int UNUSED insn_referenced = abuf->written;
4161 in_Rd = FLD (in_Rd);
4162 in_Rs = FLD (in_Rs);
4163 referenced |= 1 << 0;
4164 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
4165 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4172 model_crisv32_or_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
4174 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4175 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4176 const IDESC * UNUSED idesc = abuf->idesc;
4180 int UNUSED insn_referenced = abuf->written;
4182 in_Rs = FLD (in_Rs);
4183 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
4184 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
4188 int UNUSED insn_referenced = abuf->written;
4189 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
4193 int UNUSED insn_referenced = abuf->written;
4197 in_Rd = FLD (in_Rd);
4198 in_Rs = FLD (in_Rs);
4199 referenced |= 1 << 0;
4200 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
4201 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4208 model_crisv32_or_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
4210 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4211 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4212 const IDESC * UNUSED idesc = abuf->idesc;
4216 int UNUSED insn_referenced = abuf->written;
4218 in_Rs = FLD (in_Rs);
4219 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
4220 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
4224 int UNUSED insn_referenced = abuf->written;
4225 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
4229 int UNUSED insn_referenced = abuf->written;
4233 in_Rd = FLD (in_Rd);
4234 in_Rs = FLD (in_Rs);
4235 referenced |= 1 << 0;
4236 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
4237 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4244 model_crisv32_orcbr (SIM_CPU *current_cpu, void *sem_arg)
4246 #define FLD(f) abuf->fields.sfmt_addcbr.f
4247 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4248 const IDESC * UNUSED idesc = abuf->idesc;
4252 int UNUSED insn_referenced = abuf->written;
4253 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
4257 int UNUSED insn_referenced = abuf->written;
4261 in_Rd = FLD (in_Rd);
4262 referenced |= 1 << 0;
4263 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4270 model_crisv32_orcwr (SIM_CPU *current_cpu, void *sem_arg)
4272 #define FLD(f) abuf->fields.sfmt_addcwr.f
4273 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4274 const IDESC * UNUSED idesc = abuf->idesc;
4278 int UNUSED insn_referenced = abuf->written;
4279 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
4283 int UNUSED insn_referenced = abuf->written;
4287 in_Rd = FLD (in_Rd);
4288 referenced |= 1 << 0;
4289 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4296 model_crisv32_orcdr (SIM_CPU *current_cpu, void *sem_arg)
4298 #define FLD(f) abuf->fields.sfmt_addcdr.f
4299 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4300 const IDESC * UNUSED idesc = abuf->idesc;
4304 int UNUSED insn_referenced = abuf->written;
4305 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
4309 int UNUSED insn_referenced = abuf->written;
4313 in_Rd = FLD (in_Rd);
4314 referenced |= 1 << 0;
4315 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4322 model_crisv32_orq (SIM_CPU *current_cpu, void *sem_arg)
4324 #define FLD(f) abuf->fields.sfmt_andq.f
4325 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4326 const IDESC * UNUSED idesc = abuf->idesc;
4330 int UNUSED insn_referenced = abuf->written;
4334 in_Rd = FLD (in_Rd);
4335 referenced |= 1 << 0;
4336 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4343 model_crisv32_xor (SIM_CPU *current_cpu, void *sem_arg)
4345 #define FLD(f) abuf->fields.sfmt_muls_b.f
4346 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4347 const IDESC * UNUSED idesc = abuf->idesc;
4351 int UNUSED insn_referenced = abuf->written;
4355 in_Rd = FLD (in_Rd);
4356 in_Rs = FLD (in_Rs);
4357 out_Rd = FLD (out_Rd);
4358 referenced |= 1 << 0;
4359 referenced |= 1 << 1;
4360 referenced |= 1 << 2;
4361 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4368 model_crisv32_swap (SIM_CPU *current_cpu, void *sem_arg)
4370 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
4371 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4372 const IDESC * UNUSED idesc = abuf->idesc;
4376 int UNUSED insn_referenced = abuf->written;
4380 in_Rs = FLD (in_Rs);
4381 referenced |= 1 << 1;
4382 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4389 model_crisv32_asrr_b_r (SIM_CPU *current_cpu, void *sem_arg)
4391 #define FLD(f) abuf->fields.sfmt_addc_m.f
4392 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4393 const IDESC * UNUSED idesc = abuf->idesc;
4397 int UNUSED insn_referenced = abuf->written;
4401 in_Rd = FLD (in_Rd);
4402 in_Rs = FLD (in_Rs);
4403 referenced |= 1 << 0;
4404 referenced |= 1 << 1;
4405 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4412 model_crisv32_asrr_w_r (SIM_CPU *current_cpu, void *sem_arg)
4414 #define FLD(f) abuf->fields.sfmt_addc_m.f
4415 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4416 const IDESC * UNUSED idesc = abuf->idesc;
4420 int UNUSED insn_referenced = abuf->written;
4424 in_Rd = FLD (in_Rd);
4425 in_Rs = FLD (in_Rs);
4426 referenced |= 1 << 0;
4427 referenced |= 1 << 1;
4428 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4435 model_crisv32_asrr_d_r (SIM_CPU *current_cpu, void *sem_arg)
4437 #define FLD(f) abuf->fields.sfmt_addc_m.f
4438 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4439 const IDESC * UNUSED idesc = abuf->idesc;
4443 int UNUSED insn_referenced = abuf->written;
4447 in_Rd = FLD (in_Rd);
4448 in_Rs = FLD (in_Rs);
4449 referenced |= 1 << 0;
4450 referenced |= 1 << 1;
4451 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4458 model_crisv32_asrq (SIM_CPU *current_cpu, void *sem_arg)
4460 #define FLD(f) abuf->fields.sfmt_asrq.f
4461 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4462 const IDESC * UNUSED idesc = abuf->idesc;
4466 int UNUSED insn_referenced = abuf->written;
4470 in_Rd = FLD (in_Rd);
4471 out_Rd = FLD (out_Rd);
4472 referenced |= 1 << 0;
4473 referenced |= 1 << 2;
4474 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4481 model_crisv32_lsrr_b_r (SIM_CPU *current_cpu, void *sem_arg)
4483 #define FLD(f) abuf->fields.sfmt_addc_m.f
4484 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4485 const IDESC * UNUSED idesc = abuf->idesc;
4489 int UNUSED insn_referenced = abuf->written;
4493 in_Rd = FLD (in_Rd);
4494 in_Rs = FLD (in_Rs);
4495 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4496 referenced |= 1 << 1;
4497 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4504 model_crisv32_lsrr_w_r (SIM_CPU *current_cpu, void *sem_arg)
4506 #define FLD(f) abuf->fields.sfmt_addc_m.f
4507 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4508 const IDESC * UNUSED idesc = abuf->idesc;
4512 int UNUSED insn_referenced = abuf->written;
4516 in_Rd = FLD (in_Rd);
4517 in_Rs = FLD (in_Rs);
4518 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4519 referenced |= 1 << 1;
4520 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4527 model_crisv32_lsrr_d_r (SIM_CPU *current_cpu, void *sem_arg)
4529 #define FLD(f) abuf->fields.sfmt_addc_m.f
4530 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4531 const IDESC * UNUSED idesc = abuf->idesc;
4535 int UNUSED insn_referenced = abuf->written;
4539 in_Rd = FLD (in_Rd);
4540 in_Rs = FLD (in_Rs);
4541 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4542 referenced |= 1 << 1;
4543 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4550 model_crisv32_lsrq (SIM_CPU *current_cpu, void *sem_arg)
4552 #define FLD(f) abuf->fields.sfmt_asrq.f
4553 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4554 const IDESC * UNUSED idesc = abuf->idesc;
4558 int UNUSED insn_referenced = abuf->written;
4562 in_Rd = FLD (in_Rd);
4563 out_Rd = FLD (out_Rd);
4564 referenced |= 1 << 0;
4565 referenced |= 1 << 2;
4566 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4573 model_crisv32_lslr_b_r (SIM_CPU *current_cpu, void *sem_arg)
4575 #define FLD(f) abuf->fields.sfmt_addc_m.f
4576 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4577 const IDESC * UNUSED idesc = abuf->idesc;
4581 int UNUSED insn_referenced = abuf->written;
4585 in_Rd = FLD (in_Rd);
4586 in_Rs = FLD (in_Rs);
4587 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4588 referenced |= 1 << 1;
4589 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4596 model_crisv32_lslr_w_r (SIM_CPU *current_cpu, void *sem_arg)
4598 #define FLD(f) abuf->fields.sfmt_addc_m.f
4599 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4600 const IDESC * UNUSED idesc = abuf->idesc;
4604 int UNUSED insn_referenced = abuf->written;
4608 in_Rd = FLD (in_Rd);
4609 in_Rs = FLD (in_Rs);
4610 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4611 referenced |= 1 << 1;
4612 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4619 model_crisv32_lslr_d_r (SIM_CPU *current_cpu, void *sem_arg)
4621 #define FLD(f) abuf->fields.sfmt_addc_m.f
4622 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4623 const IDESC * UNUSED idesc = abuf->idesc;
4627 int UNUSED insn_referenced = abuf->written;
4631 in_Rd = FLD (in_Rd);
4632 in_Rs = FLD (in_Rs);
4633 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4634 referenced |= 1 << 1;
4635 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4642 model_crisv32_lslq (SIM_CPU *current_cpu, void *sem_arg)
4644 #define FLD(f) abuf->fields.sfmt_asrq.f
4645 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4646 const IDESC * UNUSED idesc = abuf->idesc;
4650 int UNUSED insn_referenced = abuf->written;
4654 in_Rd = FLD (in_Rd);
4655 out_Rd = FLD (out_Rd);
4656 referenced |= 1 << 0;
4657 referenced |= 1 << 2;
4658 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4665 model_crisv32_btst (SIM_CPU *current_cpu, void *sem_arg)
4667 #define FLD(f) abuf->fields.sfmt_muls_b.f
4668 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4669 const IDESC * UNUSED idesc = abuf->idesc;
4673 int UNUSED insn_referenced = abuf->written;
4677 in_Rd = FLD (in_Rd);
4678 in_Rs = FLD (in_Rs);
4679 referenced |= 1 << 0;
4680 referenced |= 1 << 1;
4681 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4688 model_crisv32_btstq (SIM_CPU *current_cpu, void *sem_arg)
4690 #define FLD(f) abuf->fields.sfmt_asrq.f
4691 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4692 const IDESC * UNUSED idesc = abuf->idesc;
4696 int UNUSED insn_referenced = abuf->written;
4700 in_Rd = FLD (in_Rd);
4701 referenced |= 1 << 0;
4702 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4709 model_crisv32_setf (SIM_CPU *current_cpu, void *sem_arg)
4711 #define FLD(f) abuf->fields.sfmt_setf.f
4712 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4713 const IDESC * UNUSED idesc = abuf->idesc;
4717 int UNUSED insn_referenced = abuf->written;
4721 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4728 model_crisv32_clearf (SIM_CPU *current_cpu, void *sem_arg)
4730 #define FLD(f) abuf->fields.sfmt_setf.f
4731 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4732 const IDESC * UNUSED idesc = abuf->idesc;
4736 int UNUSED insn_referenced = abuf->written;
4740 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4747 model_crisv32_rfe (SIM_CPU *current_cpu, void *sem_arg)
4749 #define FLD(f) abuf->fields.sfmt_rfe.f
4750 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4751 const IDESC * UNUSED idesc = abuf->idesc;
4755 int UNUSED insn_referenced = abuf->written;
4759 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4766 model_crisv32_sfe (SIM_CPU *current_cpu, void *sem_arg)
4768 #define FLD(f) abuf->fields.sfmt_rfe.f
4769 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4770 const IDESC * UNUSED idesc = abuf->idesc;
4774 int UNUSED insn_referenced = abuf->written;
4778 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4785 model_crisv32_rfg (SIM_CPU *current_cpu, void *sem_arg)
4787 #define FLD(f) abuf->fields.fmt_empty.f
4788 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4789 const IDESC * UNUSED idesc = abuf->idesc;
4793 int UNUSED insn_referenced = abuf->written;
4797 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4804 model_crisv32_rfn (SIM_CPU *current_cpu, void *sem_arg)
4806 #define FLD(f) abuf->fields.sfmt_rfe.f
4807 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4808 const IDESC * UNUSED idesc = abuf->idesc;
4812 int UNUSED insn_referenced = abuf->written;
4816 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4823 model_crisv32_halt (SIM_CPU *current_cpu, void *sem_arg)
4825 #define FLD(f) abuf->fields.fmt_empty.f
4826 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4827 const IDESC * UNUSED idesc = abuf->idesc;
4831 int UNUSED insn_referenced = abuf->written;
4835 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4842 model_crisv32_bcc_b (SIM_CPU *current_cpu, void *sem_arg)
4844 #define FLD(f) abuf->fields.sfmt_bcc_b.f
4845 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4846 const IDESC * UNUSED idesc = abuf->idesc;
4850 int UNUSED insn_referenced = abuf->written;
4851 cycles += crisv32f_model_crisv32_u_branch (current_cpu, idesc, 0, referenced);
4855 int UNUSED insn_referenced = abuf->written;
4859 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4866 model_crisv32_ba_b (SIM_CPU *current_cpu, void *sem_arg)
4868 #define FLD(f) abuf->fields.sfmt_bcc_b.f
4869 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4870 const IDESC * UNUSED idesc = abuf->idesc;
4874 int UNUSED insn_referenced = abuf->written;
4876 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 0, referenced, out_Pd);
4880 int UNUSED insn_referenced = abuf->written;
4884 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4891 model_crisv32_bcc_w (SIM_CPU *current_cpu, void *sem_arg)
4893 #define FLD(f) abuf->fields.sfmt_bcc_w.f
4894 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4895 const IDESC * UNUSED idesc = abuf->idesc;
4899 int UNUSED insn_referenced = abuf->written;
4900 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
4904 int UNUSED insn_referenced = abuf->written;
4905 cycles += crisv32f_model_crisv32_u_branch (current_cpu, idesc, 1, referenced);
4909 int UNUSED insn_referenced = abuf->written;
4913 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4920 model_crisv32_ba_w (SIM_CPU *current_cpu, void *sem_arg)
4922 #define FLD(f) abuf->fields.sfmt_bcc_w.f
4923 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4924 const IDESC * UNUSED idesc = abuf->idesc;
4928 int UNUSED insn_referenced = abuf->written;
4929 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
4933 int UNUSED insn_referenced = abuf->written;
4935 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 1, referenced, out_Pd);
4939 int UNUSED insn_referenced = abuf->written;
4943 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4950 model_crisv32_jas_r (SIM_CPU *current_cpu, void *sem_arg)
4952 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
4953 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4954 const IDESC * UNUSED idesc = abuf->idesc;
4958 int UNUSED insn_referenced = abuf->written;
4960 in_Rs = FLD (in_Rs);
4961 referenced |= 1 << 0;
4962 cycles += crisv32f_model_crisv32_u_jump_r (current_cpu, idesc, 0, referenced, in_Rs);
4966 int UNUSED insn_referenced = abuf->written;
4968 out_Pd = FLD (out_Pd);
4969 referenced |= 1 << 0;
4970 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 1, referenced, out_Pd);
4974 int UNUSED insn_referenced = abuf->written;
4978 in_Rs = FLD (in_Rs);
4979 referenced |= 1 << 1;
4980 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4987 model_crisv32_jas_c (SIM_CPU *current_cpu, void *sem_arg)
4989 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
4990 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4991 const IDESC * UNUSED idesc = abuf->idesc;
4995 int UNUSED insn_referenced = abuf->written;
4996 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
5000 int UNUSED insn_referenced = abuf->written;
5002 out_Pd = FLD (out_Pd);
5003 referenced |= 1 << 0;
5004 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 1, referenced, out_Pd);
5008 int UNUSED insn_referenced = abuf->written;
5012 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
5019 model_crisv32_jump_p (SIM_CPU *current_cpu, void *sem_arg)
5021 #define FLD(f) abuf->fields.sfmt_mcp.f
5022 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5023 const IDESC * UNUSED idesc = abuf->idesc;
5027 int UNUSED insn_referenced = abuf->written;
5029 in_Ps = FLD (in_Ps);
5030 referenced |= 1 << 0;
5031 cycles += crisv32f_model_crisv32_u_jump_sr (current_cpu, idesc, 0, referenced, in_Ps);
5035 int UNUSED insn_referenced = abuf->written;
5039 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5046 model_crisv32_bas_c (SIM_CPU *current_cpu, void *sem_arg)
5048 #define FLD(f) abuf->fields.sfmt_bas_c.f
5049 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5050 const IDESC * UNUSED idesc = abuf->idesc;
5054 int UNUSED insn_referenced = abuf->written;
5055 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
5059 int UNUSED insn_referenced = abuf->written;
5061 out_Pd = FLD (out_Pd);
5062 referenced |= 1 << 0;
5063 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 1, referenced, out_Pd);
5067 int UNUSED insn_referenced = abuf->written;
5071 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
5078 model_crisv32_jasc_r (SIM_CPU *current_cpu, void *sem_arg)
5080 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
5081 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5082 const IDESC * UNUSED idesc = abuf->idesc;
5086 int UNUSED insn_referenced = abuf->written;
5088 in_Rs = FLD (in_Rs);
5089 referenced |= 1 << 0;
5090 cycles += crisv32f_model_crisv32_u_jump_r (current_cpu, idesc, 0, referenced, in_Rs);
5094 int UNUSED insn_referenced = abuf->written;
5095 cycles += crisv32f_model_crisv32_u_skip4 (current_cpu, idesc, 1, referenced);
5099 int UNUSED insn_referenced = abuf->written;
5101 out_Pd = FLD (out_Pd);
5102 referenced |= 1 << 0;
5103 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 2, referenced, out_Pd);
5107 int UNUSED insn_referenced = abuf->written;
5111 in_Rs = FLD (in_Rs);
5112 referenced |= 1 << 1;
5113 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 3, referenced, in_Rd, in_Rs, out_Rd);
5120 model_crisv32_jasc_c (SIM_CPU *current_cpu, void *sem_arg)
5122 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
5123 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5124 const IDESC * UNUSED idesc = abuf->idesc;
5128 int UNUSED insn_referenced = abuf->written;
5129 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
5133 int UNUSED insn_referenced = abuf->written;
5134 cycles += crisv32f_model_crisv32_u_skip4 (current_cpu, idesc, 1, referenced);
5138 int UNUSED insn_referenced = abuf->written;
5140 out_Pd = FLD (out_Pd);
5141 referenced |= 1 << 0;
5142 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 2, referenced, out_Pd);
5146 int UNUSED insn_referenced = abuf->written;
5150 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 3, referenced, in_Rd, in_Rs, out_Rd);
5157 model_crisv32_basc_c (SIM_CPU *current_cpu, void *sem_arg)
5159 #define FLD(f) abuf->fields.sfmt_bas_c.f
5160 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5161 const IDESC * UNUSED idesc = abuf->idesc;
5165 int UNUSED insn_referenced = abuf->written;
5166 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
5170 int UNUSED insn_referenced = abuf->written;
5171 cycles += crisv32f_model_crisv32_u_skip4 (current_cpu, idesc, 1, referenced);
5175 int UNUSED insn_referenced = abuf->written;
5177 out_Pd = FLD (out_Pd);
5178 referenced |= 1 << 0;
5179 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 2, referenced, out_Pd);
5183 int UNUSED insn_referenced = abuf->written;
5187 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 3, referenced, in_Rd, in_Rs, out_Rd);
5194 model_crisv32_break (SIM_CPU *current_cpu, void *sem_arg)
5196 #define FLD(f) abuf->fields.sfmt_break.f
5197 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5198 const IDESC * UNUSED idesc = abuf->idesc;
5202 int UNUSED insn_referenced = abuf->written;
5206 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5213 model_crisv32_bound_r_b_r (SIM_CPU *current_cpu, void *sem_arg)
5215 #define FLD(f) abuf->fields.sfmt_muls_b.f
5216 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5217 const IDESC * UNUSED idesc = abuf->idesc;
5221 int UNUSED insn_referenced = abuf->written;
5225 in_Rd = FLD (in_Rd);
5226 in_Rs = FLD (in_Rs);
5227 out_Rd = FLD (out_Rd);
5228 referenced |= 1 << 0;
5229 referenced |= 1 << 1;
5230 referenced |= 1 << 2;
5231 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5238 model_crisv32_bound_r_w_r (SIM_CPU *current_cpu, void *sem_arg)
5240 #define FLD(f) abuf->fields.sfmt_muls_b.f
5241 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5242 const IDESC * UNUSED idesc = abuf->idesc;
5246 int UNUSED insn_referenced = abuf->written;
5250 in_Rd = FLD (in_Rd);
5251 in_Rs = FLD (in_Rs);
5252 out_Rd = FLD (out_Rd);
5253 referenced |= 1 << 0;
5254 referenced |= 1 << 1;
5255 referenced |= 1 << 2;
5256 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5263 model_crisv32_bound_r_d_r (SIM_CPU *current_cpu, void *sem_arg)
5265 #define FLD(f) abuf->fields.sfmt_muls_b.f
5266 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5267 const IDESC * UNUSED idesc = abuf->idesc;
5271 int UNUSED insn_referenced = abuf->written;
5275 in_Rd = FLD (in_Rd);
5276 in_Rs = FLD (in_Rs);
5277 out_Rd = FLD (out_Rd);
5278 referenced |= 1 << 0;
5279 referenced |= 1 << 1;
5280 referenced |= 1 << 2;
5281 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5288 model_crisv32_bound_cb (SIM_CPU *current_cpu, void *sem_arg)
5290 #define FLD(f) abuf->fields.sfmt_bound_cb.f
5291 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5292 const IDESC * UNUSED idesc = abuf->idesc;
5296 int UNUSED insn_referenced = abuf->written;
5297 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
5301 int UNUSED insn_referenced = abuf->written;
5305 in_Rd = FLD (in_Rd);
5306 out_Rd = FLD (out_Rd);
5307 referenced |= 1 << 0;
5308 referenced |= 1 << 2;
5309 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5316 model_crisv32_bound_cw (SIM_CPU *current_cpu, void *sem_arg)
5318 #define FLD(f) abuf->fields.sfmt_bound_cw.f
5319 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5320 const IDESC * UNUSED idesc = abuf->idesc;
5324 int UNUSED insn_referenced = abuf->written;
5325 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
5329 int UNUSED insn_referenced = abuf->written;
5333 in_Rd = FLD (in_Rd);
5334 out_Rd = FLD (out_Rd);
5335 referenced |= 1 << 0;
5336 referenced |= 1 << 2;
5337 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5344 model_crisv32_bound_cd (SIM_CPU *current_cpu, void *sem_arg)
5346 #define FLD(f) abuf->fields.sfmt_bound_cd.f
5347 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5348 const IDESC * UNUSED idesc = abuf->idesc;
5352 int UNUSED insn_referenced = abuf->written;
5353 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
5357 int UNUSED insn_referenced = abuf->written;
5361 in_Rd = FLD (in_Rd);
5362 out_Rd = FLD (out_Rd);
5363 referenced |= 1 << 0;
5364 referenced |= 1 << 2;
5365 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5372 model_crisv32_scc (SIM_CPU *current_cpu, void *sem_arg)
5374 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
5375 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5376 const IDESC * UNUSED idesc = abuf->idesc;
5380 int UNUSED insn_referenced = abuf->written;
5384 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5391 model_crisv32_lz (SIM_CPU *current_cpu, void *sem_arg)
5393 #define FLD(f) abuf->fields.sfmt_muls_b.f
5394 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5395 const IDESC * UNUSED idesc = abuf->idesc;
5399 int UNUSED insn_referenced = abuf->written;
5403 in_Rs = FLD (in_Rs);
5404 out_Rd = FLD (out_Rd);
5405 referenced |= 1 << 1;
5406 referenced |= 1 << 2;
5407 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5414 model_crisv32_addoq (SIM_CPU *current_cpu, void *sem_arg)
5416 #define FLD(f) abuf->fields.sfmt_addoq.f
5417 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5418 const IDESC * UNUSED idesc = abuf->idesc;
5422 int UNUSED insn_referenced = abuf->written;
5426 in_Rd = FLD (in_Rd);
5427 referenced |= 1 << 0;
5428 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5435 model_crisv32_addo_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
5437 #define FLD(f) abuf->fields.sfmt_addc_m.f
5438 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5439 const IDESC * UNUSED idesc = abuf->idesc;
5443 int UNUSED insn_referenced = abuf->written;
5445 in_Rs = FLD (in_Rs);
5446 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
5447 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
5451 int UNUSED insn_referenced = abuf->written;
5452 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
5456 int UNUSED insn_referenced = abuf->written;
5460 in_Rd = FLD (in_Rd);
5461 in_Rs = FLD (in_Rs);
5462 referenced |= 1 << 0;
5463 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
5464 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
5471 model_crisv32_addo_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
5473 #define FLD(f) abuf->fields.sfmt_addc_m.f
5474 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5475 const IDESC * UNUSED idesc = abuf->idesc;
5479 int UNUSED insn_referenced = abuf->written;
5481 in_Rs = FLD (in_Rs);
5482 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
5483 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
5487 int UNUSED insn_referenced = abuf->written;
5488 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
5492 int UNUSED insn_referenced = abuf->written;
5496 in_Rd = FLD (in_Rd);
5497 in_Rs = FLD (in_Rs);
5498 referenced |= 1 << 0;
5499 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
5500 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
5507 model_crisv32_addo_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
5509 #define FLD(f) abuf->fields.sfmt_addc_m.f
5510 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5511 const IDESC * UNUSED idesc = abuf->idesc;
5515 int UNUSED insn_referenced = abuf->written;
5517 in_Rs = FLD (in_Rs);
5518 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
5519 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
5523 int UNUSED insn_referenced = abuf->written;
5524 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
5528 int UNUSED insn_referenced = abuf->written;
5532 in_Rd = FLD (in_Rd);
5533 in_Rs = FLD (in_Rs);
5534 referenced |= 1 << 0;
5535 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
5536 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
5543 model_crisv32_addo_cb (SIM_CPU *current_cpu, void *sem_arg)
5545 #define FLD(f) abuf->fields.sfmt_bound_cb.f
5546 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5547 const IDESC * UNUSED idesc = abuf->idesc;
5551 int UNUSED insn_referenced = abuf->written;
5552 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
5556 int UNUSED insn_referenced = abuf->written;
5560 in_Rd = FLD (in_Rd);
5561 referenced |= 1 << 0;
5562 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5569 model_crisv32_addo_cw (SIM_CPU *current_cpu, void *sem_arg)
5571 #define FLD(f) abuf->fields.sfmt_bound_cw.f
5572 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5573 const IDESC * UNUSED idesc = abuf->idesc;
5577 int UNUSED insn_referenced = abuf->written;
5578 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
5582 int UNUSED insn_referenced = abuf->written;
5586 in_Rd = FLD (in_Rd);
5587 referenced |= 1 << 0;
5588 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5595 model_crisv32_addo_cd (SIM_CPU *current_cpu, void *sem_arg)
5597 #define FLD(f) abuf->fields.sfmt_bound_cd.f
5598 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5599 const IDESC * UNUSED idesc = abuf->idesc;
5603 int UNUSED insn_referenced = abuf->written;
5604 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
5608 int UNUSED insn_referenced = abuf->written;
5612 in_Rd = FLD (in_Rd);
5613 referenced |= 1 << 0;
5614 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5621 model_crisv32_addi_acr_b_r (SIM_CPU *current_cpu, void *sem_arg)
5623 #define FLD(f) abuf->fields.sfmt_muls_b.f
5624 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5625 const IDESC * UNUSED idesc = abuf->idesc;
5629 int UNUSED insn_referenced = abuf->written;
5633 in_Rd = FLD (in_Rd);
5634 in_Rs = FLD (in_Rs);
5635 referenced |= 1 << 0;
5636 referenced |= 1 << 1;
5637 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5644 model_crisv32_addi_acr_w_r (SIM_CPU *current_cpu, void *sem_arg)
5646 #define FLD(f) abuf->fields.sfmt_muls_b.f
5647 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5648 const IDESC * UNUSED idesc = abuf->idesc;
5652 int UNUSED insn_referenced = abuf->written;
5656 in_Rd = FLD (in_Rd);
5657 in_Rs = FLD (in_Rs);
5658 referenced |= 1 << 0;
5659 referenced |= 1 << 1;
5660 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5667 model_crisv32_addi_acr_d_r (SIM_CPU *current_cpu, void *sem_arg)
5669 #define FLD(f) abuf->fields.sfmt_muls_b.f
5670 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5671 const IDESC * UNUSED idesc = abuf->idesc;
5675 int UNUSED insn_referenced = abuf->written;
5679 in_Rd = FLD (in_Rd);
5680 in_Rs = FLD (in_Rs);
5681 referenced |= 1 << 0;
5682 referenced |= 1 << 1;
5683 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5690 model_crisv32_fidxi (SIM_CPU *current_cpu, void *sem_arg)
5692 #define FLD(f) abuf->fields.sfmt_mcp.f
5693 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5694 const IDESC * UNUSED idesc = abuf->idesc;
5698 int UNUSED insn_referenced = abuf->written;
5702 in_Rs = FLD (in_Rs);
5703 referenced |= 1 << 1;
5704 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5711 model_crisv32_ftagi (SIM_CPU *current_cpu, void *sem_arg)
5713 #define FLD(f) abuf->fields.sfmt_mcp.f
5714 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5715 const IDESC * UNUSED idesc = abuf->idesc;
5719 int UNUSED insn_referenced = abuf->written;
5723 in_Rs = FLD (in_Rs);
5724 referenced |= 1 << 1;
5725 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5732 model_crisv32_fidxd (SIM_CPU *current_cpu, void *sem_arg)
5734 #define FLD(f) abuf->fields.sfmt_mcp.f
5735 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5736 const IDESC * UNUSED idesc = abuf->idesc;
5740 int UNUSED insn_referenced = abuf->written;
5744 in_Rs = FLD (in_Rs);
5745 referenced |= 1 << 1;
5746 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5753 model_crisv32_ftagd (SIM_CPU *current_cpu, void *sem_arg)
5755 #define FLD(f) abuf->fields.sfmt_mcp.f
5756 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5757 const IDESC * UNUSED idesc = abuf->idesc;
5761 int UNUSED insn_referenced = abuf->written;
5765 in_Rs = FLD (in_Rs);
5766 referenced |= 1 << 1;
5767 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5773 /* We assume UNIT_NONE == 0 because the tables don't always terminate
5776 /* Model timing data for `crisv32'. */
5778 static const INSN_TIMING crisv32_timing[] = {
5779 { CRISV32F_INSN_X_INVALID, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5780 { CRISV32F_INSN_X_AFTER, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5781 { CRISV32F_INSN_X_BEFORE, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5782 { CRISV32F_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5783 { CRISV32F_INSN_X_CHAIN, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5784 { CRISV32F_INSN_X_BEGIN, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5785 { CRISV32F_INSN_MOVE_B_R, model_crisv32_move_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5786 { CRISV32F_INSN_MOVE_W_R, model_crisv32_move_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5787 { CRISV32F_INSN_MOVE_D_R, model_crisv32_move_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5788 { CRISV32F_INSN_MOVEQ, model_crisv32_moveq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5789 { CRISV32F_INSN_MOVS_B_R, model_crisv32_movs_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5790 { CRISV32F_INSN_MOVS_W_R, model_crisv32_movs_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5791 { CRISV32F_INSN_MOVU_B_R, model_crisv32_movu_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5792 { CRISV32F_INSN_MOVU_W_R, model_crisv32_movu_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5793 { CRISV32F_INSN_MOVECBR, model_crisv32_movecbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5794 { CRISV32F_INSN_MOVECWR, model_crisv32_movecwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5795 { CRISV32F_INSN_MOVECDR, model_crisv32_movecdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5796 { CRISV32F_INSN_MOVSCBR, model_crisv32_movscbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5797 { CRISV32F_INSN_MOVSCWR, model_crisv32_movscwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5798 { CRISV32F_INSN_MOVUCBR, model_crisv32_movucbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5799 { CRISV32F_INSN_MOVUCWR, model_crisv32_movucwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5800 { CRISV32F_INSN_ADDQ, model_crisv32_addq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5801 { CRISV32F_INSN_SUBQ, model_crisv32_subq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5802 { CRISV32F_INSN_CMP_R_B_R, model_crisv32_cmp_r_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5803 { CRISV32F_INSN_CMP_R_W_R, model_crisv32_cmp_r_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5804 { CRISV32F_INSN_CMP_R_D_R, model_crisv32_cmp_r_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5805 { CRISV32F_INSN_CMP_M_B_M, model_crisv32_cmp_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5806 { CRISV32F_INSN_CMP_M_W_M, model_crisv32_cmp_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5807 { CRISV32F_INSN_CMP_M_D_M, model_crisv32_cmp_m_d_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5808 { CRISV32F_INSN_CMPCBR, model_crisv32_cmpcbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5809 { CRISV32F_INSN_CMPCWR, model_crisv32_cmpcwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5810 { CRISV32F_INSN_CMPCDR, model_crisv32_cmpcdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5811 { CRISV32F_INSN_CMPQ, model_crisv32_cmpq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5812 { CRISV32F_INSN_CMPS_M_B_M, model_crisv32_cmps_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5813 { CRISV32F_INSN_CMPS_M_W_M, model_crisv32_cmps_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5814 { CRISV32F_INSN_CMPSCBR, model_crisv32_cmpscbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5815 { CRISV32F_INSN_CMPSCWR, model_crisv32_cmpscwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5816 { CRISV32F_INSN_CMPU_M_B_M, model_crisv32_cmpu_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5817 { CRISV32F_INSN_CMPU_M_W_M, model_crisv32_cmpu_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5818 { CRISV32F_INSN_CMPUCBR, model_crisv32_cmpucbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5819 { CRISV32F_INSN_CMPUCWR, model_crisv32_cmpucwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5820 { CRISV32F_INSN_MOVE_M_B_M, model_crisv32_move_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5821 { CRISV32F_INSN_MOVE_M_W_M, model_crisv32_move_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5822 { CRISV32F_INSN_MOVE_M_D_M, model_crisv32_move_m_d_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5823 { CRISV32F_INSN_MOVS_M_B_M, model_crisv32_movs_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5824 { CRISV32F_INSN_MOVS_M_W_M, model_crisv32_movs_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5825 { CRISV32F_INSN_MOVU_M_B_M, model_crisv32_movu_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5826 { CRISV32F_INSN_MOVU_M_W_M, model_crisv32_movu_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5827 { CRISV32F_INSN_MOVE_R_SPRV32, model_crisv32_move_r_sprv32, { { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5828 { CRISV32F_INSN_MOVE_SPR_RV32, model_crisv32_move_spr_rv32, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5829 { CRISV32F_INSN_MOVE_M_SPRV32, model_crisv32_move_m_sprv32, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5830 { CRISV32F_INSN_MOVE_C_SPRV32_P0, model_crisv32_move_c_sprv32_p0, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5831 { CRISV32F_INSN_MOVE_C_SPRV32_P1, model_crisv32_move_c_sprv32_p1, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5832 { CRISV32F_INSN_MOVE_C_SPRV32_P2, model_crisv32_move_c_sprv32_p2, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5833 { CRISV32F_INSN_MOVE_C_SPRV32_P3, model_crisv32_move_c_sprv32_p3, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5834 { CRISV32F_INSN_MOVE_C_SPRV32_P4, model_crisv32_move_c_sprv32_p4, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5835 { CRISV32F_INSN_MOVE_C_SPRV32_P5, model_crisv32_move_c_sprv32_p5, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5836 { CRISV32F_INSN_MOVE_C_SPRV32_P6, model_crisv32_move_c_sprv32_p6, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5837 { CRISV32F_INSN_MOVE_C_SPRV32_P7, model_crisv32_move_c_sprv32_p7, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5838 { CRISV32F_INSN_MOVE_C_SPRV32_P8, model_crisv32_move_c_sprv32_p8, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5839 { CRISV32F_INSN_MOVE_C_SPRV32_P9, model_crisv32_move_c_sprv32_p9, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5840 { CRISV32F_INSN_MOVE_C_SPRV32_P10, model_crisv32_move_c_sprv32_p10, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5841 { CRISV32F_INSN_MOVE_C_SPRV32_P11, model_crisv32_move_c_sprv32_p11, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5842 { CRISV32F_INSN_MOVE_C_SPRV32_P12, model_crisv32_move_c_sprv32_p12, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5843 { CRISV32F_INSN_MOVE_C_SPRV32_P13, model_crisv32_move_c_sprv32_p13, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5844 { CRISV32F_INSN_MOVE_C_SPRV32_P14, model_crisv32_move_c_sprv32_p14, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5845 { CRISV32F_INSN_MOVE_C_SPRV32_P15, model_crisv32_move_c_sprv32_p15, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5846 { CRISV32F_INSN_MOVE_SPR_MV32, model_crisv32_move_spr_mv32, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_W, 1, 1 } } },
5847 { CRISV32F_INSN_MOVE_SS_R, model_crisv32_move_ss_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5848 { CRISV32F_INSN_MOVE_R_SS, model_crisv32_move_r_ss, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5849 { CRISV32F_INSN_MOVEM_R_M_V32, model_crisv32_movem_r_m_v32, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MOVEM_RTOM, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_MOVEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_W, 1, 1 } } },
5850 { CRISV32F_INSN_MOVEM_M_R_V32, model_crisv32_movem_m_r_v32, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_MOVEM_MTOR, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC_MOVEM, 1, 1 } } },
5851 { CRISV32F_INSN_ADD_B_R, model_crisv32_add_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5852 { CRISV32F_INSN_ADD_W_R, model_crisv32_add_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5853 { CRISV32F_INSN_ADD_D_R, model_crisv32_add_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5854 { CRISV32F_INSN_ADD_M_B_M, model_crisv32_add_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5855 { CRISV32F_INSN_ADD_M_W_M, model_crisv32_add_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5856 { CRISV32F_INSN_ADD_M_D_M, model_crisv32_add_m_d_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5857 { CRISV32F_INSN_ADDCBR, model_crisv32_addcbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5858 { CRISV32F_INSN_ADDCWR, model_crisv32_addcwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5859 { CRISV32F_INSN_ADDCDR, model_crisv32_addcdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5860 { CRISV32F_INSN_ADDS_B_R, model_crisv32_adds_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5861 { CRISV32F_INSN_ADDS_W_R, model_crisv32_adds_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5862 { CRISV32F_INSN_ADDS_M_B_M, model_crisv32_adds_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5863 { CRISV32F_INSN_ADDS_M_W_M, model_crisv32_adds_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5864 { CRISV32F_INSN_ADDSCBR, model_crisv32_addscbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5865 { CRISV32F_INSN_ADDSCWR, model_crisv32_addscwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5866 { CRISV32F_INSN_ADDU_B_R, model_crisv32_addu_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5867 { CRISV32F_INSN_ADDU_W_R, model_crisv32_addu_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5868 { CRISV32F_INSN_ADDU_M_B_M, model_crisv32_addu_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5869 { CRISV32F_INSN_ADDU_M_W_M, model_crisv32_addu_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5870 { CRISV32F_INSN_ADDUCBR, model_crisv32_adducbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5871 { CRISV32F_INSN_ADDUCWR, model_crisv32_adducwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5872 { CRISV32F_INSN_SUB_B_R, model_crisv32_sub_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5873 { CRISV32F_INSN_SUB_W_R, model_crisv32_sub_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5874 { CRISV32F_INSN_SUB_D_R, model_crisv32_sub_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5875 { CRISV32F_INSN_SUB_M_B_M, model_crisv32_sub_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5876 { CRISV32F_INSN_SUB_M_W_M, model_crisv32_sub_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5877 { CRISV32F_INSN_SUB_M_D_M, model_crisv32_sub_m_d_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5878 { CRISV32F_INSN_SUBCBR, model_crisv32_subcbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5879 { CRISV32F_INSN_SUBCWR, model_crisv32_subcwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5880 { CRISV32F_INSN_SUBCDR, model_crisv32_subcdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5881 { CRISV32F_INSN_SUBS_B_R, model_crisv32_subs_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5882 { CRISV32F_INSN_SUBS_W_R, model_crisv32_subs_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5883 { CRISV32F_INSN_SUBS_M_B_M, model_crisv32_subs_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5884 { CRISV32F_INSN_SUBS_M_W_M, model_crisv32_subs_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5885 { CRISV32F_INSN_SUBSCBR, model_crisv32_subscbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5886 { CRISV32F_INSN_SUBSCWR, model_crisv32_subscwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5887 { CRISV32F_INSN_SUBU_B_R, model_crisv32_subu_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5888 { CRISV32F_INSN_SUBU_W_R, model_crisv32_subu_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5889 { CRISV32F_INSN_SUBU_M_B_M, model_crisv32_subu_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5890 { CRISV32F_INSN_SUBU_M_W_M, model_crisv32_subu_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5891 { CRISV32F_INSN_SUBUCBR, model_crisv32_subucbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5892 { CRISV32F_INSN_SUBUCWR, model_crisv32_subucwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5893 { CRISV32F_INSN_ADDC_R, model_crisv32_addc_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5894 { CRISV32F_INSN_ADDC_M, model_crisv32_addc_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5895 { CRISV32F_INSN_ADDC_C, model_crisv32_addc_c, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5896 { CRISV32F_INSN_LAPC_D, model_crisv32_lapc_d, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5897 { CRISV32F_INSN_LAPCQ, model_crisv32_lapcq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5898 { CRISV32F_INSN_ADDI_B_R, model_crisv32_addi_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5899 { CRISV32F_INSN_ADDI_W_R, model_crisv32_addi_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5900 { CRISV32F_INSN_ADDI_D_R, model_crisv32_addi_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5901 { CRISV32F_INSN_NEG_B_R, model_crisv32_neg_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5902 { CRISV32F_INSN_NEG_W_R, model_crisv32_neg_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5903 { CRISV32F_INSN_NEG_D_R, model_crisv32_neg_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5904 { CRISV32F_INSN_TEST_M_B_M, model_crisv32_test_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5905 { CRISV32F_INSN_TEST_M_W_M, model_crisv32_test_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5906 { CRISV32F_INSN_TEST_M_D_M, model_crisv32_test_m_d_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5907 { CRISV32F_INSN_MOVE_R_M_B_M, model_crisv32_move_r_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_W, 1, 1 } } },
5908 { CRISV32F_INSN_MOVE_R_M_W_M, model_crisv32_move_r_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_W, 1, 1 } } },
5909 { CRISV32F_INSN_MOVE_R_M_D_M, model_crisv32_move_r_m_d_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_W, 1, 1 } } },
5910 { CRISV32F_INSN_MULS_B, model_crisv32_muls_b, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5911 { CRISV32F_INSN_MULS_W, model_crisv32_muls_w, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5912 { CRISV32F_INSN_MULS_D, model_crisv32_muls_d, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5913 { CRISV32F_INSN_MULU_B, model_crisv32_mulu_b, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5914 { CRISV32F_INSN_MULU_W, model_crisv32_mulu_w, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5915 { CRISV32F_INSN_MULU_D, model_crisv32_mulu_d, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5916 { CRISV32F_INSN_MCP, model_crisv32_mcp, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5917 { CRISV32F_INSN_DSTEP, model_crisv32_dstep, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5918 { CRISV32F_INSN_ABS, model_crisv32_abs, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5919 { CRISV32F_INSN_AND_B_R, model_crisv32_and_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5920 { CRISV32F_INSN_AND_W_R, model_crisv32_and_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5921 { CRISV32F_INSN_AND_D_R, model_crisv32_and_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5922 { CRISV32F_INSN_AND_M_B_M, model_crisv32_and_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5923 { CRISV32F_INSN_AND_M_W_M, model_crisv32_and_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5924 { CRISV32F_INSN_AND_M_D_M, model_crisv32_and_m_d_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5925 { CRISV32F_INSN_ANDCBR, model_crisv32_andcbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5926 { CRISV32F_INSN_ANDCWR, model_crisv32_andcwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5927 { CRISV32F_INSN_ANDCDR, model_crisv32_andcdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5928 { CRISV32F_INSN_ANDQ, model_crisv32_andq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5929 { CRISV32F_INSN_ORR_B_R, model_crisv32_orr_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5930 { CRISV32F_INSN_ORR_W_R, model_crisv32_orr_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5931 { CRISV32F_INSN_ORR_D_R, model_crisv32_orr_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5932 { CRISV32F_INSN_OR_M_B_M, model_crisv32_or_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5933 { CRISV32F_INSN_OR_M_W_M, model_crisv32_or_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5934 { CRISV32F_INSN_OR_M_D_M, model_crisv32_or_m_d_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5935 { CRISV32F_INSN_ORCBR, model_crisv32_orcbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5936 { CRISV32F_INSN_ORCWR, model_crisv32_orcwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5937 { CRISV32F_INSN_ORCDR, model_crisv32_orcdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5938 { CRISV32F_INSN_ORQ, model_crisv32_orq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5939 { CRISV32F_INSN_XOR, model_crisv32_xor, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5940 { CRISV32F_INSN_SWAP, model_crisv32_swap, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5941 { CRISV32F_INSN_ASRR_B_R, model_crisv32_asrr_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5942 { CRISV32F_INSN_ASRR_W_R, model_crisv32_asrr_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5943 { CRISV32F_INSN_ASRR_D_R, model_crisv32_asrr_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5944 { CRISV32F_INSN_ASRQ, model_crisv32_asrq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5945 { CRISV32F_INSN_LSRR_B_R, model_crisv32_lsrr_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5946 { CRISV32F_INSN_LSRR_W_R, model_crisv32_lsrr_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5947 { CRISV32F_INSN_LSRR_D_R, model_crisv32_lsrr_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5948 { CRISV32F_INSN_LSRQ, model_crisv32_lsrq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5949 { CRISV32F_INSN_LSLR_B_R, model_crisv32_lslr_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5950 { CRISV32F_INSN_LSLR_W_R, model_crisv32_lslr_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5951 { CRISV32F_INSN_LSLR_D_R, model_crisv32_lslr_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5952 { CRISV32F_INSN_LSLQ, model_crisv32_lslq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5953 { CRISV32F_INSN_BTST, model_crisv32_btst, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5954 { CRISV32F_INSN_BTSTQ, model_crisv32_btstq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5955 { CRISV32F_INSN_SETF, model_crisv32_setf, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5956 { CRISV32F_INSN_CLEARF, model_crisv32_clearf, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5957 { CRISV32F_INSN_RFE, model_crisv32_rfe, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5958 { CRISV32F_INSN_SFE, model_crisv32_sfe, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5959 { CRISV32F_INSN_RFG, model_crisv32_rfg, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5960 { CRISV32F_INSN_RFN, model_crisv32_rfn, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5961 { CRISV32F_INSN_HALT, model_crisv32_halt, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5962 { CRISV32F_INSN_BCC_B, model_crisv32_bcc_b, { { (int) UNIT_CRISV32_U_BRANCH, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5963 { CRISV32F_INSN_BA_B, model_crisv32_ba_b, { { (int) UNIT_CRISV32_U_JUMP, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5964 { CRISV32F_INSN_BCC_W, model_crisv32_bcc_w, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_BRANCH, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5965 { CRISV32F_INSN_BA_W, model_crisv32_ba_w, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_JUMP, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5966 { CRISV32F_INSN_JAS_R, model_crisv32_jas_r, { { (int) UNIT_CRISV32_U_JUMP_R, 1, 1 }, { (int) UNIT_CRISV32_U_JUMP, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5967 { CRISV32F_INSN_JAS_C, model_crisv32_jas_c, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_JUMP, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5968 { CRISV32F_INSN_JUMP_P, model_crisv32_jump_p, { { (int) UNIT_CRISV32_U_JUMP_SR, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5969 { CRISV32F_INSN_BAS_C, model_crisv32_bas_c, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_JUMP, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5970 { CRISV32F_INSN_JASC_R, model_crisv32_jasc_r, { { (int) UNIT_CRISV32_U_JUMP_R, 1, 1 }, { (int) UNIT_CRISV32_U_SKIP4, 1, 1 }, { (int) UNIT_CRISV32_U_JUMP, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5971 { CRISV32F_INSN_JASC_C, model_crisv32_jasc_c, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_SKIP4, 1, 1 }, { (int) UNIT_CRISV32_U_JUMP, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5972 { CRISV32F_INSN_BASC_C, model_crisv32_basc_c, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_SKIP4, 1, 1 }, { (int) UNIT_CRISV32_U_JUMP, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5973 { CRISV32F_INSN_BREAK, model_crisv32_break, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5974 { CRISV32F_INSN_BOUND_R_B_R, model_crisv32_bound_r_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5975 { CRISV32F_INSN_BOUND_R_W_R, model_crisv32_bound_r_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5976 { CRISV32F_INSN_BOUND_R_D_R, model_crisv32_bound_r_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5977 { CRISV32F_INSN_BOUND_CB, model_crisv32_bound_cb, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5978 { CRISV32F_INSN_BOUND_CW, model_crisv32_bound_cw, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5979 { CRISV32F_INSN_BOUND_CD, model_crisv32_bound_cd, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5980 { CRISV32F_INSN_SCC, model_crisv32_scc, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5981 { CRISV32F_INSN_LZ, model_crisv32_lz, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5982 { CRISV32F_INSN_ADDOQ, model_crisv32_addoq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5983 { CRISV32F_INSN_ADDO_M_B_M, model_crisv32_addo_m_b_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5984 { CRISV32F_INSN_ADDO_M_W_M, model_crisv32_addo_m_w_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5985 { CRISV32F_INSN_ADDO_M_D_M, model_crisv32_addo_m_d_m, { { (int) UNIT_CRISV32_U_MEM, 1, 1 }, { (int) UNIT_CRISV32_U_MEM_R, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5986 { CRISV32F_INSN_ADDO_CB, model_crisv32_addo_cb, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5987 { CRISV32F_INSN_ADDO_CW, model_crisv32_addo_cw, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5988 { CRISV32F_INSN_ADDO_CD, model_crisv32_addo_cd, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5989 { CRISV32F_INSN_ADDI_ACR_B_R, model_crisv32_addi_acr_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5990 { CRISV32F_INSN_ADDI_ACR_W_R, model_crisv32_addi_acr_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5991 { CRISV32F_INSN_ADDI_ACR_D_R, model_crisv32_addi_acr_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5992 { CRISV32F_INSN_FIDXI, model_crisv32_fidxi, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5993 { CRISV32F_INSN_FTAGI, model_crisv32_ftagi, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5994 { CRISV32F_INSN_FIDXD, model_crisv32_fidxd, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5995 { CRISV32F_INSN_FTAGD, model_crisv32_ftagd, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5998 #endif /* WITH_PROFILE_MODEL_P */
6001 crisv32_model_init (SIM_CPU *cpu)
6003 CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_CRISV32_DATA));
6006 #if WITH_PROFILE_MODEL_P
6007 #define TIMING_DATA(td) td
6009 #define TIMING_DATA(td) 0
6012 static const MODEL crisv32_models[] =
6014 { "crisv32", & crisv32_mach, MODEL_CRISV32, TIMING_DATA (& crisv32_timing[0]), crisv32_model_init },
6018 /* The properties of this cpu's implementation. */
6020 static const MACH_IMP_PROPERTIES crisv32f_imp_properties =
6032 crisv32f_prepare_run (SIM_CPU *cpu)
6034 if (CPU_IDESC (cpu) == NULL)
6035 crisv32f_init_idesc_table (cpu);
6038 static const CGEN_INSN *
6039 crisv32f_get_idata (SIM_CPU *cpu, int inum)
6041 return CPU_IDESC (cpu) [inum].idata;
6045 crisv32_init_cpu (SIM_CPU *cpu)
6047 CPU_REG_FETCH (cpu) = crisv32f_fetch_register;
6048 CPU_REG_STORE (cpu) = crisv32f_store_register;
6049 CPU_PC_FETCH (cpu) = crisv32f_h_pc_get;
6050 CPU_PC_STORE (cpu) = crisv32f_h_pc_set;
6051 CPU_GET_IDATA (cpu) = crisv32f_get_idata;
6052 CPU_MAX_INSNS (cpu) = CRISV32F_INSN__MAX;
6053 CPU_INSN_NAME (cpu) = cgen_insn_name;
6054 CPU_FULL_ENGINE_FN (cpu) = crisv32f_engine_run_full;
6056 CPU_FAST_ENGINE_FN (cpu) = crisv32f_engine_run_fast;
6058 CPU_FAST_ENGINE_FN (cpu) = crisv32f_engine_run_full;
6062 const MACH crisv32_mach =
6064 "crisv32", "crisv32", MACH_CRISV32,
6065 32, 32, & crisv32_models[0], & crisv32f_imp_properties,
6067 crisv32f_prepare_run