1 /* Simulator model support for crisv32f.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996-2013 Free Software Foundation, Inc.
7 This file is part of the GNU simulators.
9 This file is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, see <http://www.gnu.org/licenses/>.
24 #define WANT_CPU crisv32f
25 #define WANT_CPU_CRISV32F
29 /* The profiling data is recorded here, but is accessed via the profiling
30 mechanism. After all, this is information for profiling. */
32 #if WITH_PROFILE_MODEL_P
34 /* Model handlers for each insn. */
37 model_crisv32_move_b_r (SIM_CPU *current_cpu, void *sem_arg)
39 #define FLD(f) abuf->fields.sfmt_addc_m.f
40 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
41 const IDESC * UNUSED idesc = abuf->idesc;
45 int UNUSED insn_referenced = abuf->written;
51 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
58 model_crisv32_move_w_r (SIM_CPU *current_cpu, void *sem_arg)
60 #define FLD(f) abuf->fields.sfmt_addc_m.f
61 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
62 const IDESC * UNUSED idesc = abuf->idesc;
66 int UNUSED insn_referenced = abuf->written;
72 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
79 model_crisv32_move_d_r (SIM_CPU *current_cpu, void *sem_arg)
81 #define FLD(f) abuf->fields.sfmt_addc_m.f
82 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
83 const IDESC * UNUSED idesc = abuf->idesc;
87 int UNUSED insn_referenced = abuf->written;
93 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
100 model_crisv32_moveq (SIM_CPU *current_cpu, void *sem_arg)
102 #define FLD(f) abuf->fields.sfmt_moveq.f
103 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
104 const IDESC * UNUSED idesc = abuf->idesc;
108 int UNUSED insn_referenced = abuf->written;
112 out_Rd = FLD (out_Rd);
113 referenced |= 1 << 2;
114 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
121 model_crisv32_movs_b_r (SIM_CPU *current_cpu, void *sem_arg)
123 #define FLD(f) abuf->fields.sfmt_muls_b.f
124 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
125 const IDESC * UNUSED idesc = abuf->idesc;
129 int UNUSED insn_referenced = abuf->written;
134 out_Rd = FLD (out_Rd);
135 referenced |= 1 << 1;
136 referenced |= 1 << 2;
137 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
144 model_crisv32_movs_w_r (SIM_CPU *current_cpu, void *sem_arg)
146 #define FLD(f) abuf->fields.sfmt_muls_b.f
147 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
148 const IDESC * UNUSED idesc = abuf->idesc;
152 int UNUSED insn_referenced = abuf->written;
157 out_Rd = FLD (out_Rd);
158 referenced |= 1 << 1;
159 referenced |= 1 << 2;
160 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
167 model_crisv32_movu_b_r (SIM_CPU *current_cpu, void *sem_arg)
169 #define FLD(f) abuf->fields.sfmt_muls_b.f
170 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
171 const IDESC * UNUSED idesc = abuf->idesc;
175 int UNUSED insn_referenced = abuf->written;
180 out_Rd = FLD (out_Rd);
181 referenced |= 1 << 1;
182 referenced |= 1 << 2;
183 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
190 model_crisv32_movu_w_r (SIM_CPU *current_cpu, void *sem_arg)
192 #define FLD(f) abuf->fields.sfmt_muls_b.f
193 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
194 const IDESC * UNUSED idesc = abuf->idesc;
198 int UNUSED insn_referenced = abuf->written;
203 out_Rd = FLD (out_Rd);
204 referenced |= 1 << 1;
205 referenced |= 1 << 2;
206 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
213 model_crisv32_movecbr (SIM_CPU *current_cpu, void *sem_arg)
215 #define FLD(f) abuf->fields.sfmt_addcbr.f
216 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
217 const IDESC * UNUSED idesc = abuf->idesc;
221 int UNUSED insn_referenced = abuf->written;
222 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
226 int UNUSED insn_referenced = abuf->written;
230 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
237 model_crisv32_movecwr (SIM_CPU *current_cpu, void *sem_arg)
239 #define FLD(f) abuf->fields.sfmt_addcwr.f
240 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
241 const IDESC * UNUSED idesc = abuf->idesc;
245 int UNUSED insn_referenced = abuf->written;
246 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
250 int UNUSED insn_referenced = abuf->written;
254 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
261 model_crisv32_movecdr (SIM_CPU *current_cpu, void *sem_arg)
263 #define FLD(f) abuf->fields.sfmt_bound_cd.f
264 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
265 const IDESC * UNUSED idesc = abuf->idesc;
269 int UNUSED insn_referenced = abuf->written;
270 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
274 int UNUSED insn_referenced = abuf->written;
278 out_Rd = FLD (out_Rd);
279 referenced |= 1 << 2;
280 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
287 model_crisv32_movscbr (SIM_CPU *current_cpu, void *sem_arg)
289 #define FLD(f) abuf->fields.sfmt_bound_cb.f
290 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
291 const IDESC * UNUSED idesc = abuf->idesc;
295 int UNUSED insn_referenced = abuf->written;
296 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
300 int UNUSED insn_referenced = abuf->written;
304 out_Rd = FLD (out_Rd);
305 referenced |= 1 << 2;
306 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
313 model_crisv32_movscwr (SIM_CPU *current_cpu, void *sem_arg)
315 #define FLD(f) abuf->fields.sfmt_bound_cw.f
316 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
317 const IDESC * UNUSED idesc = abuf->idesc;
321 int UNUSED insn_referenced = abuf->written;
322 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
326 int UNUSED insn_referenced = abuf->written;
330 out_Rd = FLD (out_Rd);
331 referenced |= 1 << 2;
332 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
339 model_crisv32_movucbr (SIM_CPU *current_cpu, void *sem_arg)
341 #define FLD(f) abuf->fields.sfmt_bound_cb.f
342 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
343 const IDESC * UNUSED idesc = abuf->idesc;
347 int UNUSED insn_referenced = abuf->written;
348 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
352 int UNUSED insn_referenced = abuf->written;
356 out_Rd = FLD (out_Rd);
357 referenced |= 1 << 2;
358 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
365 model_crisv32_movucwr (SIM_CPU *current_cpu, void *sem_arg)
367 #define FLD(f) abuf->fields.sfmt_bound_cw.f
368 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
369 const IDESC * UNUSED idesc = abuf->idesc;
373 int UNUSED insn_referenced = abuf->written;
374 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
378 int UNUSED insn_referenced = abuf->written;
382 out_Rd = FLD (out_Rd);
383 referenced |= 1 << 2;
384 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
391 model_crisv32_addq (SIM_CPU *current_cpu, void *sem_arg)
393 #define FLD(f) abuf->fields.sfmt_addq.f
394 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
395 const IDESC * UNUSED idesc = abuf->idesc;
399 int UNUSED insn_referenced = abuf->written;
404 referenced |= 1 << 0;
405 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
412 model_crisv32_subq (SIM_CPU *current_cpu, void *sem_arg)
414 #define FLD(f) abuf->fields.sfmt_addq.f
415 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
416 const IDESC * UNUSED idesc = abuf->idesc;
420 int UNUSED insn_referenced = abuf->written;
425 referenced |= 1 << 0;
426 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
433 model_crisv32_cmp_r_b_r (SIM_CPU *current_cpu, void *sem_arg)
435 #define FLD(f) abuf->fields.sfmt_muls_b.f
436 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
437 const IDESC * UNUSED idesc = abuf->idesc;
441 int UNUSED insn_referenced = abuf->written;
447 referenced |= 1 << 0;
448 referenced |= 1 << 1;
449 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
456 model_crisv32_cmp_r_w_r (SIM_CPU *current_cpu, void *sem_arg)
458 #define FLD(f) abuf->fields.sfmt_muls_b.f
459 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
460 const IDESC * UNUSED idesc = abuf->idesc;
464 int UNUSED insn_referenced = abuf->written;
470 referenced |= 1 << 0;
471 referenced |= 1 << 1;
472 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
479 model_crisv32_cmp_r_d_r (SIM_CPU *current_cpu, void *sem_arg)
481 #define FLD(f) abuf->fields.sfmt_muls_b.f
482 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
483 const IDESC * UNUSED idesc = abuf->idesc;
487 int UNUSED insn_referenced = abuf->written;
493 referenced |= 1 << 0;
494 referenced |= 1 << 1;
495 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
502 model_crisv32_cmp_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
504 #define FLD(f) abuf->fields.sfmt_addc_m.f
505 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
506 const IDESC * UNUSED idesc = abuf->idesc;
510 int UNUSED insn_referenced = abuf->written;
513 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
514 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
518 int UNUSED insn_referenced = abuf->written;
519 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
523 int UNUSED insn_referenced = abuf->written;
529 referenced |= 1 << 0;
530 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
531 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
538 model_crisv32_cmp_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
540 #define FLD(f) abuf->fields.sfmt_addc_m.f
541 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
542 const IDESC * UNUSED idesc = abuf->idesc;
546 int UNUSED insn_referenced = abuf->written;
549 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
550 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
554 int UNUSED insn_referenced = abuf->written;
555 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
559 int UNUSED insn_referenced = abuf->written;
565 referenced |= 1 << 0;
566 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
567 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
574 model_crisv32_cmp_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
576 #define FLD(f) abuf->fields.sfmt_addc_m.f
577 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
578 const IDESC * UNUSED idesc = abuf->idesc;
582 int UNUSED insn_referenced = abuf->written;
585 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
586 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
590 int UNUSED insn_referenced = abuf->written;
591 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
595 int UNUSED insn_referenced = abuf->written;
601 referenced |= 1 << 0;
602 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
603 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
610 model_crisv32_cmpcbr (SIM_CPU *current_cpu, void *sem_arg)
612 #define FLD(f) abuf->fields.sfmt_bound_cb.f
613 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
614 const IDESC * UNUSED idesc = abuf->idesc;
618 int UNUSED insn_referenced = abuf->written;
619 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
623 int UNUSED insn_referenced = abuf->written;
628 referenced |= 1 << 0;
629 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
636 model_crisv32_cmpcwr (SIM_CPU *current_cpu, void *sem_arg)
638 #define FLD(f) abuf->fields.sfmt_bound_cw.f
639 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
640 const IDESC * UNUSED idesc = abuf->idesc;
644 int UNUSED insn_referenced = abuf->written;
645 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
649 int UNUSED insn_referenced = abuf->written;
654 referenced |= 1 << 0;
655 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
662 model_crisv32_cmpcdr (SIM_CPU *current_cpu, void *sem_arg)
664 #define FLD(f) abuf->fields.sfmt_bound_cd.f
665 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
666 const IDESC * UNUSED idesc = abuf->idesc;
670 int UNUSED insn_referenced = abuf->written;
671 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
675 int UNUSED insn_referenced = abuf->written;
680 referenced |= 1 << 0;
681 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
688 model_crisv32_cmpq (SIM_CPU *current_cpu, void *sem_arg)
690 #define FLD(f) abuf->fields.sfmt_andq.f
691 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
692 const IDESC * UNUSED idesc = abuf->idesc;
696 int UNUSED insn_referenced = abuf->written;
701 referenced |= 1 << 0;
702 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
709 model_crisv32_cmps_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
711 #define FLD(f) abuf->fields.sfmt_addc_m.f
712 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
713 const IDESC * UNUSED idesc = abuf->idesc;
717 int UNUSED insn_referenced = abuf->written;
720 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
721 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
725 int UNUSED insn_referenced = abuf->written;
726 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
730 int UNUSED insn_referenced = abuf->written;
736 referenced |= 1 << 0;
737 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
738 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
745 model_crisv32_cmps_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
747 #define FLD(f) abuf->fields.sfmt_addc_m.f
748 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
749 const IDESC * UNUSED idesc = abuf->idesc;
753 int UNUSED insn_referenced = abuf->written;
756 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
757 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
761 int UNUSED insn_referenced = abuf->written;
762 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
766 int UNUSED insn_referenced = abuf->written;
772 referenced |= 1 << 0;
773 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
774 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
781 model_crisv32_cmpscbr (SIM_CPU *current_cpu, void *sem_arg)
783 #define FLD(f) abuf->fields.sfmt_bound_cb.f
784 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
785 const IDESC * UNUSED idesc = abuf->idesc;
789 int UNUSED insn_referenced = abuf->written;
790 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
794 int UNUSED insn_referenced = abuf->written;
799 referenced |= 1 << 0;
800 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
807 model_crisv32_cmpscwr (SIM_CPU *current_cpu, void *sem_arg)
809 #define FLD(f) abuf->fields.sfmt_bound_cw.f
810 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
811 const IDESC * UNUSED idesc = abuf->idesc;
815 int UNUSED insn_referenced = abuf->written;
816 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
820 int UNUSED insn_referenced = abuf->written;
825 referenced |= 1 << 0;
826 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
833 model_crisv32_cmpu_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
835 #define FLD(f) abuf->fields.sfmt_addc_m.f
836 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
837 const IDESC * UNUSED idesc = abuf->idesc;
841 int UNUSED insn_referenced = abuf->written;
844 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
845 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
849 int UNUSED insn_referenced = abuf->written;
850 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
854 int UNUSED insn_referenced = abuf->written;
860 referenced |= 1 << 0;
861 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
862 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
869 model_crisv32_cmpu_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
871 #define FLD(f) abuf->fields.sfmt_addc_m.f
872 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
873 const IDESC * UNUSED idesc = abuf->idesc;
877 int UNUSED insn_referenced = abuf->written;
880 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
881 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
885 int UNUSED insn_referenced = abuf->written;
886 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
890 int UNUSED insn_referenced = abuf->written;
896 referenced |= 1 << 0;
897 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
898 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
905 model_crisv32_cmpucbr (SIM_CPU *current_cpu, void *sem_arg)
907 #define FLD(f) abuf->fields.sfmt_bound_cb.f
908 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
909 const IDESC * UNUSED idesc = abuf->idesc;
913 int UNUSED insn_referenced = abuf->written;
914 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
918 int UNUSED insn_referenced = abuf->written;
923 referenced |= 1 << 0;
924 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
931 model_crisv32_cmpucwr (SIM_CPU *current_cpu, void *sem_arg)
933 #define FLD(f) abuf->fields.sfmt_bound_cw.f
934 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
935 const IDESC * UNUSED idesc = abuf->idesc;
939 int UNUSED insn_referenced = abuf->written;
940 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
944 int UNUSED insn_referenced = abuf->written;
949 referenced |= 1 << 0;
950 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
957 model_crisv32_move_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
959 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
960 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
961 const IDESC * UNUSED idesc = abuf->idesc;
965 int UNUSED insn_referenced = abuf->written;
968 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
969 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
973 int UNUSED insn_referenced = abuf->written;
974 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
978 int UNUSED insn_referenced = abuf->written;
983 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
984 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
991 model_crisv32_move_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
993 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
994 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
995 const IDESC * UNUSED idesc = abuf->idesc;
999 int UNUSED insn_referenced = abuf->written;
1001 in_Rs = FLD (in_Rs);
1002 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1003 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1007 int UNUSED insn_referenced = abuf->written;
1008 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1012 int UNUSED insn_referenced = abuf->written;
1016 in_Rs = FLD (in_Rs);
1017 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1018 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1025 model_crisv32_move_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
1027 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1028 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1029 const IDESC * UNUSED idesc = abuf->idesc;
1033 int UNUSED insn_referenced = abuf->written;
1035 in_Rs = FLD (in_Rs);
1036 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1037 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1041 int UNUSED insn_referenced = abuf->written;
1042 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1046 int UNUSED insn_referenced = abuf->written;
1050 in_Rs = FLD (in_Rs);
1051 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1052 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1059 model_crisv32_movs_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
1061 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
1062 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1063 const IDESC * UNUSED idesc = abuf->idesc;
1067 int UNUSED insn_referenced = abuf->written;
1069 in_Rs = FLD (in_Rs);
1070 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1071 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1075 int UNUSED insn_referenced = abuf->written;
1076 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1080 int UNUSED insn_referenced = abuf->written;
1084 in_Rs = FLD (in_Rs);
1085 out_Rd = FLD (out_Rd);
1086 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1087 if (insn_referenced & (1 << 7)) referenced |= 1 << 2;
1088 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1095 model_crisv32_movs_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
1097 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
1098 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1099 const IDESC * UNUSED idesc = abuf->idesc;
1103 int UNUSED insn_referenced = abuf->written;
1105 in_Rs = FLD (in_Rs);
1106 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1107 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1111 int UNUSED insn_referenced = abuf->written;
1112 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1116 int UNUSED insn_referenced = abuf->written;
1120 in_Rs = FLD (in_Rs);
1121 out_Rd = FLD (out_Rd);
1122 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1123 if (insn_referenced & (1 << 7)) referenced |= 1 << 2;
1124 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1131 model_crisv32_movu_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
1133 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
1134 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1135 const IDESC * UNUSED idesc = abuf->idesc;
1139 int UNUSED insn_referenced = abuf->written;
1141 in_Rs = FLD (in_Rs);
1142 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1143 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1147 int UNUSED insn_referenced = abuf->written;
1148 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1152 int UNUSED insn_referenced = abuf->written;
1156 in_Rs = FLD (in_Rs);
1157 out_Rd = FLD (out_Rd);
1158 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1159 if (insn_referenced & (1 << 7)) referenced |= 1 << 2;
1160 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1167 model_crisv32_movu_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
1169 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
1170 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1171 const IDESC * UNUSED idesc = abuf->idesc;
1175 int UNUSED insn_referenced = abuf->written;
1177 in_Rs = FLD (in_Rs);
1178 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1179 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1183 int UNUSED insn_referenced = abuf->written;
1184 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1188 int UNUSED insn_referenced = abuf->written;
1192 in_Rs = FLD (in_Rs);
1193 out_Rd = FLD (out_Rd);
1194 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
1195 if (insn_referenced & (1 << 7)) referenced |= 1 << 2;
1196 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1203 model_crisv32_move_r_sprv32 (SIM_CPU *current_cpu, void *sem_arg)
1205 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
1206 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1207 const IDESC * UNUSED idesc = abuf->idesc;
1211 int UNUSED insn_referenced = abuf->written;
1214 in_Rs = FLD (in_Rs);
1215 out_Pd = FLD (out_Pd);
1216 referenced |= 1 << 0;
1217 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
1218 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 0, referenced, in_Rs, out_Pd);
1225 model_crisv32_move_spr_rv32 (SIM_CPU *current_cpu, void *sem_arg)
1227 #define FLD(f) abuf->fields.sfmt_mcp.f
1228 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1229 const IDESC * UNUSED idesc = abuf->idesc;
1233 int UNUSED insn_referenced = abuf->written;
1237 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1244 model_crisv32_move_m_sprv32 (SIM_CPU *current_cpu, void *sem_arg)
1246 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
1247 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1248 const IDESC * UNUSED idesc = abuf->idesc;
1252 int UNUSED insn_referenced = abuf->written;
1254 in_Rs = FLD (in_Rs);
1255 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1256 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1260 int UNUSED insn_referenced = abuf->written;
1261 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1265 int UNUSED insn_referenced = abuf->written;
1268 in_Rs = FLD (in_Rs);
1269 out_Pd = FLD (out_Pd);
1270 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
1271 referenced |= 1 << 1;
1272 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 2, referenced, in_Rs, out_Pd);
1279 model_crisv32_move_c_sprv32_p2 (SIM_CPU *current_cpu, void *sem_arg)
1281 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1282 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1283 const IDESC * UNUSED idesc = abuf->idesc;
1287 int UNUSED insn_referenced = abuf->written;
1288 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1292 int UNUSED insn_referenced = abuf->written;
1295 out_Pd = FLD (out_Pd);
1296 referenced |= 1 << 1;
1297 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1304 model_crisv32_move_c_sprv32_p3 (SIM_CPU *current_cpu, void *sem_arg)
1306 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1307 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1308 const IDESC * UNUSED idesc = abuf->idesc;
1312 int UNUSED insn_referenced = abuf->written;
1313 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1317 int UNUSED insn_referenced = abuf->written;
1320 out_Pd = FLD (out_Pd);
1321 referenced |= 1 << 1;
1322 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1329 model_crisv32_move_c_sprv32_p5 (SIM_CPU *current_cpu, void *sem_arg)
1331 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1332 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1333 const IDESC * UNUSED idesc = abuf->idesc;
1337 int UNUSED insn_referenced = abuf->written;
1338 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1342 int UNUSED insn_referenced = abuf->written;
1345 out_Pd = FLD (out_Pd);
1346 referenced |= 1 << 1;
1347 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1354 model_crisv32_move_c_sprv32_p6 (SIM_CPU *current_cpu, void *sem_arg)
1356 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1357 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1358 const IDESC * UNUSED idesc = abuf->idesc;
1362 int UNUSED insn_referenced = abuf->written;
1363 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1367 int UNUSED insn_referenced = abuf->written;
1370 out_Pd = FLD (out_Pd);
1371 referenced |= 1 << 1;
1372 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1379 model_crisv32_move_c_sprv32_p7 (SIM_CPU *current_cpu, void *sem_arg)
1381 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1382 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1383 const IDESC * UNUSED idesc = abuf->idesc;
1387 int UNUSED insn_referenced = abuf->written;
1388 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1392 int UNUSED insn_referenced = abuf->written;
1395 out_Pd = FLD (out_Pd);
1396 referenced |= 1 << 1;
1397 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1404 model_crisv32_move_c_sprv32_p9 (SIM_CPU *current_cpu, void *sem_arg)
1406 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1407 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1408 const IDESC * UNUSED idesc = abuf->idesc;
1412 int UNUSED insn_referenced = abuf->written;
1413 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1417 int UNUSED insn_referenced = abuf->written;
1420 out_Pd = FLD (out_Pd);
1421 referenced |= 1 << 1;
1422 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1429 model_crisv32_move_c_sprv32_p10 (SIM_CPU *current_cpu, void *sem_arg)
1431 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1432 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1433 const IDESC * UNUSED idesc = abuf->idesc;
1437 int UNUSED insn_referenced = abuf->written;
1438 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1442 int UNUSED insn_referenced = abuf->written;
1445 out_Pd = FLD (out_Pd);
1446 referenced |= 1 << 1;
1447 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1454 model_crisv32_move_c_sprv32_p11 (SIM_CPU *current_cpu, void *sem_arg)
1456 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1457 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1458 const IDESC * UNUSED idesc = abuf->idesc;
1462 int UNUSED insn_referenced = abuf->written;
1463 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1467 int UNUSED insn_referenced = abuf->written;
1470 out_Pd = FLD (out_Pd);
1471 referenced |= 1 << 1;
1472 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1479 model_crisv32_move_c_sprv32_p12 (SIM_CPU *current_cpu, void *sem_arg)
1481 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1482 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1483 const IDESC * UNUSED idesc = abuf->idesc;
1487 int UNUSED insn_referenced = abuf->written;
1488 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1492 int UNUSED insn_referenced = abuf->written;
1495 out_Pd = FLD (out_Pd);
1496 referenced |= 1 << 1;
1497 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1504 model_crisv32_move_c_sprv32_p13 (SIM_CPU *current_cpu, void *sem_arg)
1506 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1507 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1508 const IDESC * UNUSED idesc = abuf->idesc;
1512 int UNUSED insn_referenced = abuf->written;
1513 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1517 int UNUSED insn_referenced = abuf->written;
1520 out_Pd = FLD (out_Pd);
1521 referenced |= 1 << 1;
1522 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1529 model_crisv32_move_c_sprv32_p14 (SIM_CPU *current_cpu, void *sem_arg)
1531 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1532 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1533 const IDESC * UNUSED idesc = abuf->idesc;
1537 int UNUSED insn_referenced = abuf->written;
1538 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1542 int UNUSED insn_referenced = abuf->written;
1545 out_Pd = FLD (out_Pd);
1546 referenced |= 1 << 1;
1547 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1554 model_crisv32_move_c_sprv32_p15 (SIM_CPU *current_cpu, void *sem_arg)
1556 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
1557 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1558 const IDESC * UNUSED idesc = abuf->idesc;
1562 int UNUSED insn_referenced = abuf->written;
1563 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1567 int UNUSED insn_referenced = abuf->written;
1570 out_Pd = FLD (out_Pd);
1571 referenced |= 1 << 1;
1572 cycles += crisv32f_model_crisv32_u_exec_to_sr (current_cpu, idesc, 1, referenced, in_Rs, out_Pd);
1579 model_crisv32_move_spr_mv32 (SIM_CPU *current_cpu, void *sem_arg)
1581 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
1582 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1583 const IDESC * UNUSED idesc = abuf->idesc;
1587 int UNUSED insn_referenced = abuf->written;
1589 in_Rs = FLD (in_Rs);
1590 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
1591 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1595 int UNUSED insn_referenced = abuf->written;
1599 in_Rs = FLD (in_Rs);
1600 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
1601 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
1605 int UNUSED insn_referenced = abuf->written;
1606 cycles += crisv32f_model_crisv32_u_mem_w (current_cpu, idesc, 2, referenced);
1613 model_crisv32_move_ss_r (SIM_CPU *current_cpu, void *sem_arg)
1615 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
1616 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1617 const IDESC * UNUSED idesc = abuf->idesc;
1621 int UNUSED insn_referenced = abuf->written;
1625 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1632 model_crisv32_move_r_ss (SIM_CPU *current_cpu, void *sem_arg)
1634 #define FLD(f) abuf->fields.sfmt_mcp.f
1635 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1636 const IDESC * UNUSED idesc = abuf->idesc;
1640 int UNUSED insn_referenced = abuf->written;
1644 in_Rs = FLD (in_Rs);
1645 referenced |= 1 << 1;
1646 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1653 model_crisv32_movem_r_m_v32 (SIM_CPU *current_cpu, void *sem_arg)
1655 #define FLD(f) abuf->fields.sfmt_movem_r_m_v32.f
1656 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1657 const IDESC * UNUSED idesc = abuf->idesc;
1661 int UNUSED insn_referenced = abuf->written;
1663 in_Rs = FLD (in_Rs);
1664 referenced |= 1 << 0;
1665 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1669 int UNUSED insn_referenced = abuf->written;
1672 in_Rs = FLD (in_Rs);
1673 in_Rd = FLD (in_Rd);
1674 referenced |= 1 << 0;
1675 referenced |= 1 << 1;
1676 cycles += crisv32f_model_crisv32_u_movem_rtom (current_cpu, idesc, 1, referenced, in_Rs, in_Rd);
1680 int UNUSED insn_referenced = abuf->written;
1683 in_Rs = FLD (in_Rs);
1684 referenced |= 1 << 0;
1685 cycles += crisv32f_model_crisv32_u_exec_movem (current_cpu, idesc, 2, referenced, in_Rs, out_Rd);
1689 int UNUSED insn_referenced = abuf->written;
1690 cycles += crisv32f_model_crisv32_u_mem_w (current_cpu, idesc, 3, referenced);
1697 model_crisv32_movem_m_r_v32 (SIM_CPU *current_cpu, void *sem_arg)
1699 #define FLD(f) abuf->fields.sfmt_movem_m_r_v32.f
1700 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1701 const IDESC * UNUSED idesc = abuf->idesc;
1705 int UNUSED insn_referenced = abuf->written;
1707 in_Rs = FLD (in_Rs);
1708 referenced |= 1 << 0;
1709 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1713 int UNUSED insn_referenced = abuf->written;
1714 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1718 int UNUSED insn_referenced = abuf->written;
1721 in_Rs = FLD (in_Rs);
1722 in_Rd = FLD (in_Rd);
1723 referenced |= 1 << 0;
1724 referenced |= 1 << 1;
1725 cycles += crisv32f_model_crisv32_u_movem_mtor (current_cpu, idesc, 2, referenced, in_Rs, in_Rd);
1729 int UNUSED insn_referenced = abuf->written;
1732 in_Rs = FLD (in_Rs);
1733 referenced |= 1 << 0;
1734 cycles += crisv32f_model_crisv32_u_exec_movem (current_cpu, idesc, 3, referenced, in_Rs, out_Rd);
1741 model_crisv32_add_b_r (SIM_CPU *current_cpu, void *sem_arg)
1743 #define FLD(f) abuf->fields.sfmt_addc_m.f
1744 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1745 const IDESC * UNUSED idesc = abuf->idesc;
1749 int UNUSED insn_referenced = abuf->written;
1753 in_Rd = FLD (in_Rd);
1754 in_Rs = FLD (in_Rs);
1755 referenced |= 1 << 0;
1756 referenced |= 1 << 1;
1757 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1764 model_crisv32_add_w_r (SIM_CPU *current_cpu, void *sem_arg)
1766 #define FLD(f) abuf->fields.sfmt_addc_m.f
1767 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1768 const IDESC * UNUSED idesc = abuf->idesc;
1772 int UNUSED insn_referenced = abuf->written;
1776 in_Rd = FLD (in_Rd);
1777 in_Rs = FLD (in_Rs);
1778 referenced |= 1 << 0;
1779 referenced |= 1 << 1;
1780 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1787 model_crisv32_add_d_r (SIM_CPU *current_cpu, void *sem_arg)
1789 #define FLD(f) abuf->fields.sfmt_addc_m.f
1790 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1791 const IDESC * UNUSED idesc = abuf->idesc;
1795 int UNUSED insn_referenced = abuf->written;
1799 in_Rd = FLD (in_Rd);
1800 in_Rs = FLD (in_Rs);
1801 referenced |= 1 << 0;
1802 referenced |= 1 << 1;
1803 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
1810 model_crisv32_add_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
1812 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1813 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1814 const IDESC * UNUSED idesc = abuf->idesc;
1818 int UNUSED insn_referenced = abuf->written;
1820 in_Rs = FLD (in_Rs);
1821 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
1822 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1826 int UNUSED insn_referenced = abuf->written;
1827 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1831 int UNUSED insn_referenced = abuf->written;
1835 in_Rd = FLD (in_Rd);
1836 in_Rs = FLD (in_Rs);
1837 referenced |= 1 << 0;
1838 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
1839 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1846 model_crisv32_add_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
1848 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1849 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1850 const IDESC * UNUSED idesc = abuf->idesc;
1854 int UNUSED insn_referenced = abuf->written;
1856 in_Rs = FLD (in_Rs);
1857 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
1858 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1862 int UNUSED insn_referenced = abuf->written;
1863 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1867 int UNUSED insn_referenced = abuf->written;
1871 in_Rd = FLD (in_Rd);
1872 in_Rs = FLD (in_Rs);
1873 referenced |= 1 << 0;
1874 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
1875 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1882 model_crisv32_add_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
1884 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1885 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1886 const IDESC * UNUSED idesc = abuf->idesc;
1890 int UNUSED insn_referenced = abuf->written;
1892 in_Rs = FLD (in_Rs);
1893 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
1894 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
1898 int UNUSED insn_referenced = abuf->written;
1899 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
1903 int UNUSED insn_referenced = abuf->written;
1907 in_Rd = FLD (in_Rd);
1908 in_Rs = FLD (in_Rs);
1909 referenced |= 1 << 0;
1910 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
1911 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
1918 model_crisv32_addcbr (SIM_CPU *current_cpu, void *sem_arg)
1920 #define FLD(f) abuf->fields.sfmt_addcbr.f
1921 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1922 const IDESC * UNUSED idesc = abuf->idesc;
1926 int UNUSED insn_referenced = abuf->written;
1927 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
1931 int UNUSED insn_referenced = abuf->written;
1935 in_Rd = FLD (in_Rd);
1936 referenced |= 1 << 0;
1937 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
1944 model_crisv32_addcwr (SIM_CPU *current_cpu, void *sem_arg)
1946 #define FLD(f) abuf->fields.sfmt_addcwr.f
1947 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1948 const IDESC * UNUSED idesc = abuf->idesc;
1952 int UNUSED insn_referenced = abuf->written;
1953 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
1957 int UNUSED insn_referenced = abuf->written;
1961 in_Rd = FLD (in_Rd);
1962 referenced |= 1 << 0;
1963 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
1970 model_crisv32_addcdr (SIM_CPU *current_cpu, void *sem_arg)
1972 #define FLD(f) abuf->fields.sfmt_addcdr.f
1973 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1974 const IDESC * UNUSED idesc = abuf->idesc;
1978 int UNUSED insn_referenced = abuf->written;
1979 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
1983 int UNUSED insn_referenced = abuf->written;
1987 in_Rd = FLD (in_Rd);
1988 referenced |= 1 << 0;
1989 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
1996 model_crisv32_adds_b_r (SIM_CPU *current_cpu, void *sem_arg)
1998 #define FLD(f) abuf->fields.sfmt_addc_m.f
1999 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2000 const IDESC * UNUSED idesc = abuf->idesc;
2004 int UNUSED insn_referenced = abuf->written;
2008 in_Rd = FLD (in_Rd);
2009 in_Rs = FLD (in_Rs);
2010 referenced |= 1 << 0;
2011 referenced |= 1 << 1;
2012 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2019 model_crisv32_adds_w_r (SIM_CPU *current_cpu, void *sem_arg)
2021 #define FLD(f) abuf->fields.sfmt_addc_m.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;
2031 in_Rd = FLD (in_Rd);
2032 in_Rs = FLD (in_Rs);
2033 referenced |= 1 << 0;
2034 referenced |= 1 << 1;
2035 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2042 model_crisv32_adds_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
2044 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2045 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2046 const IDESC * UNUSED idesc = abuf->idesc;
2050 int UNUSED insn_referenced = abuf->written;
2052 in_Rs = FLD (in_Rs);
2053 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2054 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2058 int UNUSED insn_referenced = abuf->written;
2059 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2063 int UNUSED insn_referenced = abuf->written;
2067 in_Rd = FLD (in_Rd);
2068 in_Rs = FLD (in_Rs);
2069 referenced |= 1 << 0;
2070 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2071 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2078 model_crisv32_adds_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
2080 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2081 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2082 const IDESC * UNUSED idesc = abuf->idesc;
2086 int UNUSED insn_referenced = abuf->written;
2088 in_Rs = FLD (in_Rs);
2089 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2090 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2094 int UNUSED insn_referenced = abuf->written;
2095 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2099 int UNUSED insn_referenced = abuf->written;
2103 in_Rd = FLD (in_Rd);
2104 in_Rs = FLD (in_Rs);
2105 referenced |= 1 << 0;
2106 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2107 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2114 model_crisv32_addscbr (SIM_CPU *current_cpu, void *sem_arg)
2116 #define FLD(f) abuf->fields.sfmt_addcbr.f
2117 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2118 const IDESC * UNUSED idesc = abuf->idesc;
2122 int UNUSED insn_referenced = abuf->written;
2123 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2127 int UNUSED insn_referenced = abuf->written;
2131 in_Rd = FLD (in_Rd);
2132 referenced |= 1 << 0;
2133 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2140 model_crisv32_addscwr (SIM_CPU *current_cpu, void *sem_arg)
2142 #define FLD(f) abuf->fields.sfmt_addcwr.f
2143 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2144 const IDESC * UNUSED idesc = abuf->idesc;
2148 int UNUSED insn_referenced = abuf->written;
2149 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2153 int UNUSED insn_referenced = abuf->written;
2157 in_Rd = FLD (in_Rd);
2158 referenced |= 1 << 0;
2159 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2166 model_crisv32_addu_b_r (SIM_CPU *current_cpu, void *sem_arg)
2168 #define FLD(f) abuf->fields.sfmt_addc_m.f
2169 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2170 const IDESC * UNUSED idesc = abuf->idesc;
2174 int UNUSED insn_referenced = abuf->written;
2178 in_Rd = FLD (in_Rd);
2179 in_Rs = FLD (in_Rs);
2180 referenced |= 1 << 0;
2181 referenced |= 1 << 1;
2182 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2189 model_crisv32_addu_w_r (SIM_CPU *current_cpu, void *sem_arg)
2191 #define FLD(f) abuf->fields.sfmt_addc_m.f
2192 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2193 const IDESC * UNUSED idesc = abuf->idesc;
2197 int UNUSED insn_referenced = abuf->written;
2201 in_Rd = FLD (in_Rd);
2202 in_Rs = FLD (in_Rs);
2203 referenced |= 1 << 0;
2204 referenced |= 1 << 1;
2205 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2212 model_crisv32_addu_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
2214 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2215 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2216 const IDESC * UNUSED idesc = abuf->idesc;
2220 int UNUSED insn_referenced = abuf->written;
2222 in_Rs = FLD (in_Rs);
2223 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2224 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2228 int UNUSED insn_referenced = abuf->written;
2229 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2233 int UNUSED insn_referenced = abuf->written;
2237 in_Rd = FLD (in_Rd);
2238 in_Rs = FLD (in_Rs);
2239 referenced |= 1 << 0;
2240 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2241 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2248 model_crisv32_addu_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
2250 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2251 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2252 const IDESC * UNUSED idesc = abuf->idesc;
2256 int UNUSED insn_referenced = abuf->written;
2258 in_Rs = FLD (in_Rs);
2259 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2260 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2264 int UNUSED insn_referenced = abuf->written;
2265 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2269 int UNUSED insn_referenced = abuf->written;
2273 in_Rd = FLD (in_Rd);
2274 in_Rs = FLD (in_Rs);
2275 referenced |= 1 << 0;
2276 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2277 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2284 model_crisv32_adducbr (SIM_CPU *current_cpu, void *sem_arg)
2286 #define FLD(f) abuf->fields.sfmt_addcbr.f
2287 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2288 const IDESC * UNUSED idesc = abuf->idesc;
2292 int UNUSED insn_referenced = abuf->written;
2293 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2297 int UNUSED insn_referenced = abuf->written;
2301 in_Rd = FLD (in_Rd);
2302 referenced |= 1 << 0;
2303 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2310 model_crisv32_adducwr (SIM_CPU *current_cpu, void *sem_arg)
2312 #define FLD(f) abuf->fields.sfmt_addcwr.f
2313 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2314 const IDESC * UNUSED idesc = abuf->idesc;
2318 int UNUSED insn_referenced = abuf->written;
2319 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2323 int UNUSED insn_referenced = abuf->written;
2327 in_Rd = FLD (in_Rd);
2328 referenced |= 1 << 0;
2329 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2336 model_crisv32_sub_b_r (SIM_CPU *current_cpu, void *sem_arg)
2338 #define FLD(f) abuf->fields.sfmt_addc_m.f
2339 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2340 const IDESC * UNUSED idesc = abuf->idesc;
2344 int UNUSED insn_referenced = abuf->written;
2348 in_Rd = FLD (in_Rd);
2349 in_Rs = FLD (in_Rs);
2350 referenced |= 1 << 0;
2351 referenced |= 1 << 1;
2352 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2359 model_crisv32_sub_w_r (SIM_CPU *current_cpu, void *sem_arg)
2361 #define FLD(f) abuf->fields.sfmt_addc_m.f
2362 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2363 const IDESC * UNUSED idesc = abuf->idesc;
2367 int UNUSED insn_referenced = abuf->written;
2371 in_Rd = FLD (in_Rd);
2372 in_Rs = FLD (in_Rs);
2373 referenced |= 1 << 0;
2374 referenced |= 1 << 1;
2375 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2382 model_crisv32_sub_d_r (SIM_CPU *current_cpu, void *sem_arg)
2384 #define FLD(f) abuf->fields.sfmt_addc_m.f
2385 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2386 const IDESC * UNUSED idesc = abuf->idesc;
2390 int UNUSED insn_referenced = abuf->written;
2394 in_Rd = FLD (in_Rd);
2395 in_Rs = FLD (in_Rs);
2396 referenced |= 1 << 0;
2397 referenced |= 1 << 1;
2398 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2405 model_crisv32_sub_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
2407 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2408 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2409 const IDESC * UNUSED idesc = abuf->idesc;
2413 int UNUSED insn_referenced = abuf->written;
2415 in_Rs = FLD (in_Rs);
2416 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2417 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2421 int UNUSED insn_referenced = abuf->written;
2422 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2426 int UNUSED insn_referenced = abuf->written;
2430 in_Rd = FLD (in_Rd);
2431 in_Rs = FLD (in_Rs);
2432 referenced |= 1 << 0;
2433 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2434 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2441 model_crisv32_sub_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
2443 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2444 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2445 const IDESC * UNUSED idesc = abuf->idesc;
2449 int UNUSED insn_referenced = abuf->written;
2451 in_Rs = FLD (in_Rs);
2452 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2453 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2457 int UNUSED insn_referenced = abuf->written;
2458 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2462 int UNUSED insn_referenced = abuf->written;
2466 in_Rd = FLD (in_Rd);
2467 in_Rs = FLD (in_Rs);
2468 referenced |= 1 << 0;
2469 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2470 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2477 model_crisv32_sub_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
2479 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2480 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2481 const IDESC * UNUSED idesc = abuf->idesc;
2485 int UNUSED insn_referenced = abuf->written;
2487 in_Rs = FLD (in_Rs);
2488 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2489 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2493 int UNUSED insn_referenced = abuf->written;
2494 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2498 int UNUSED insn_referenced = abuf->written;
2502 in_Rd = FLD (in_Rd);
2503 in_Rs = FLD (in_Rs);
2504 referenced |= 1 << 0;
2505 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2506 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2513 model_crisv32_subcbr (SIM_CPU *current_cpu, void *sem_arg)
2515 #define FLD(f) abuf->fields.sfmt_addcbr.f
2516 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2517 const IDESC * UNUSED idesc = abuf->idesc;
2521 int UNUSED insn_referenced = abuf->written;
2522 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2526 int UNUSED insn_referenced = abuf->written;
2530 in_Rd = FLD (in_Rd);
2531 referenced |= 1 << 0;
2532 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2539 model_crisv32_subcwr (SIM_CPU *current_cpu, void *sem_arg)
2541 #define FLD(f) abuf->fields.sfmt_addcwr.f
2542 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2543 const IDESC * UNUSED idesc = abuf->idesc;
2547 int UNUSED insn_referenced = abuf->written;
2548 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2552 int UNUSED insn_referenced = abuf->written;
2556 in_Rd = FLD (in_Rd);
2557 referenced |= 1 << 0;
2558 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2565 model_crisv32_subcdr (SIM_CPU *current_cpu, void *sem_arg)
2567 #define FLD(f) abuf->fields.sfmt_addcdr.f
2568 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2569 const IDESC * UNUSED idesc = abuf->idesc;
2573 int UNUSED insn_referenced = abuf->written;
2574 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
2578 int UNUSED insn_referenced = abuf->written;
2582 in_Rd = FLD (in_Rd);
2583 referenced |= 1 << 0;
2584 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2591 model_crisv32_subs_b_r (SIM_CPU *current_cpu, void *sem_arg)
2593 #define FLD(f) abuf->fields.sfmt_addc_m.f
2594 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2595 const IDESC * UNUSED idesc = abuf->idesc;
2599 int UNUSED insn_referenced = abuf->written;
2603 in_Rd = FLD (in_Rd);
2604 in_Rs = FLD (in_Rs);
2605 referenced |= 1 << 0;
2606 referenced |= 1 << 1;
2607 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2614 model_crisv32_subs_w_r (SIM_CPU *current_cpu, void *sem_arg)
2616 #define FLD(f) abuf->fields.sfmt_addc_m.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;
2626 in_Rd = FLD (in_Rd);
2627 in_Rs = FLD (in_Rs);
2628 referenced |= 1 << 0;
2629 referenced |= 1 << 1;
2630 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2637 model_crisv32_subs_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
2639 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2640 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2641 const IDESC * UNUSED idesc = abuf->idesc;
2645 int UNUSED insn_referenced = abuf->written;
2647 in_Rs = FLD (in_Rs);
2648 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2649 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2653 int UNUSED insn_referenced = abuf->written;
2654 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2658 int UNUSED insn_referenced = abuf->written;
2662 in_Rd = FLD (in_Rd);
2663 in_Rs = FLD (in_Rs);
2664 referenced |= 1 << 0;
2665 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2666 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2673 model_crisv32_subs_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
2675 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2676 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2677 const IDESC * UNUSED idesc = abuf->idesc;
2681 int UNUSED insn_referenced = abuf->written;
2683 in_Rs = FLD (in_Rs);
2684 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2685 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2689 int UNUSED insn_referenced = abuf->written;
2690 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2694 int UNUSED insn_referenced = abuf->written;
2698 in_Rd = FLD (in_Rd);
2699 in_Rs = FLD (in_Rs);
2700 referenced |= 1 << 0;
2701 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2702 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2709 model_crisv32_subscbr (SIM_CPU *current_cpu, void *sem_arg)
2711 #define FLD(f) abuf->fields.sfmt_addcbr.f
2712 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2713 const IDESC * UNUSED idesc = abuf->idesc;
2717 int UNUSED insn_referenced = abuf->written;
2718 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2722 int UNUSED insn_referenced = abuf->written;
2726 in_Rd = FLD (in_Rd);
2727 referenced |= 1 << 0;
2728 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2735 model_crisv32_subscwr (SIM_CPU *current_cpu, void *sem_arg)
2737 #define FLD(f) abuf->fields.sfmt_addcwr.f
2738 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2739 const IDESC * UNUSED idesc = abuf->idesc;
2743 int UNUSED insn_referenced = abuf->written;
2744 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2748 int UNUSED insn_referenced = abuf->written;
2752 in_Rd = FLD (in_Rd);
2753 referenced |= 1 << 0;
2754 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2761 model_crisv32_subu_b_r (SIM_CPU *current_cpu, void *sem_arg)
2763 #define FLD(f) abuf->fields.sfmt_addc_m.f
2764 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2765 const IDESC * UNUSED idesc = abuf->idesc;
2769 int UNUSED insn_referenced = abuf->written;
2773 in_Rd = FLD (in_Rd);
2774 in_Rs = FLD (in_Rs);
2775 referenced |= 1 << 0;
2776 referenced |= 1 << 1;
2777 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2784 model_crisv32_subu_w_r (SIM_CPU *current_cpu, void *sem_arg)
2786 #define FLD(f) abuf->fields.sfmt_addc_m.f
2787 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2788 const IDESC * UNUSED idesc = abuf->idesc;
2792 int UNUSED insn_referenced = abuf->written;
2796 in_Rd = FLD (in_Rd);
2797 in_Rs = FLD (in_Rs);
2798 referenced |= 1 << 0;
2799 referenced |= 1 << 1;
2800 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2807 model_crisv32_subu_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
2809 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2810 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2811 const IDESC * UNUSED idesc = abuf->idesc;
2815 int UNUSED insn_referenced = abuf->written;
2817 in_Rs = FLD (in_Rs);
2818 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2819 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2823 int UNUSED insn_referenced = abuf->written;
2824 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2828 int UNUSED insn_referenced = abuf->written;
2832 in_Rd = FLD (in_Rd);
2833 in_Rs = FLD (in_Rs);
2834 referenced |= 1 << 0;
2835 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2836 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2843 model_crisv32_subu_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
2845 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2846 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2847 const IDESC * UNUSED idesc = abuf->idesc;
2851 int UNUSED insn_referenced = abuf->written;
2853 in_Rs = FLD (in_Rs);
2854 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2855 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2859 int UNUSED insn_referenced = abuf->written;
2860 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2864 int UNUSED insn_referenced = abuf->written;
2868 in_Rd = FLD (in_Rd);
2869 in_Rs = FLD (in_Rs);
2870 referenced |= 1 << 0;
2871 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2872 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2879 model_crisv32_subucbr (SIM_CPU *current_cpu, void *sem_arg)
2881 #define FLD(f) abuf->fields.sfmt_addcbr.f
2882 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2883 const IDESC * UNUSED idesc = abuf->idesc;
2887 int UNUSED insn_referenced = abuf->written;
2888 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2892 int UNUSED insn_referenced = abuf->written;
2896 in_Rd = FLD (in_Rd);
2897 referenced |= 1 << 0;
2898 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2905 model_crisv32_subucwr (SIM_CPU *current_cpu, void *sem_arg)
2907 #define FLD(f) abuf->fields.sfmt_addcwr.f
2908 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2909 const IDESC * UNUSED idesc = abuf->idesc;
2913 int UNUSED insn_referenced = abuf->written;
2914 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
2918 int UNUSED insn_referenced = abuf->written;
2922 in_Rd = FLD (in_Rd);
2923 referenced |= 1 << 0;
2924 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
2931 model_crisv32_addc_r (SIM_CPU *current_cpu, void *sem_arg)
2933 #define FLD(f) abuf->fields.sfmt_addc_m.f
2934 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2935 const IDESC * UNUSED idesc = abuf->idesc;
2939 int UNUSED insn_referenced = abuf->written;
2943 in_Rd = FLD (in_Rd);
2944 in_Rs = FLD (in_Rs);
2945 referenced |= 1 << 0;
2946 referenced |= 1 << 1;
2947 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
2954 model_crisv32_addc_m (SIM_CPU *current_cpu, void *sem_arg)
2956 #define FLD(f) abuf->fields.sfmt_addc_m.f
2957 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2958 const IDESC * UNUSED idesc = abuf->idesc;
2962 int UNUSED insn_referenced = abuf->written;
2964 in_Rs = FLD (in_Rs);
2965 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
2966 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
2970 int UNUSED insn_referenced = abuf->written;
2971 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
2975 int UNUSED insn_referenced = abuf->written;
2979 in_Rd = FLD (in_Rd);
2980 in_Rs = FLD (in_Rs);
2981 referenced |= 1 << 0;
2982 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
2983 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
2990 model_crisv32_addc_c (SIM_CPU *current_cpu, void *sem_arg)
2992 #define FLD(f) abuf->fields.sfmt_addcdr.f
2993 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2994 const IDESC * UNUSED idesc = abuf->idesc;
2998 int UNUSED insn_referenced = abuf->written;
2999 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
3003 int UNUSED insn_referenced = abuf->written;
3007 in_Rd = FLD (in_Rd);
3008 referenced |= 1 << 0;
3009 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3016 model_crisv32_lapc_d (SIM_CPU *current_cpu, void *sem_arg)
3018 #define FLD(f) abuf->fields.sfmt_lapc_d.f
3019 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3020 const IDESC * UNUSED idesc = abuf->idesc;
3024 int UNUSED insn_referenced = abuf->written;
3025 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
3029 int UNUSED insn_referenced = abuf->written;
3033 out_Rd = FLD (out_Rd);
3034 referenced |= 1 << 2;
3035 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3042 model_crisv32_lapcq (SIM_CPU *current_cpu, void *sem_arg)
3044 #define FLD(f) abuf->fields.sfmt_lapcq.f
3045 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3046 const IDESC * UNUSED idesc = abuf->idesc;
3050 int UNUSED insn_referenced = abuf->written;
3054 out_Rd = FLD (out_Rd);
3055 referenced |= 1 << 2;
3056 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3063 model_crisv32_addi_b_r (SIM_CPU *current_cpu, void *sem_arg)
3065 #define FLD(f) abuf->fields.sfmt_addc_m.f
3066 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3067 const IDESC * UNUSED idesc = abuf->idesc;
3071 int UNUSED insn_referenced = abuf->written;
3075 in_Rd = FLD (in_Rd);
3076 in_Rs = FLD (in_Rs);
3077 referenced |= 1 << 0;
3078 referenced |= 1 << 1;
3079 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3086 model_crisv32_addi_w_r (SIM_CPU *current_cpu, void *sem_arg)
3088 #define FLD(f) abuf->fields.sfmt_addc_m.f
3089 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3090 const IDESC * UNUSED idesc = abuf->idesc;
3094 int UNUSED insn_referenced = abuf->written;
3098 in_Rd = FLD (in_Rd);
3099 in_Rs = FLD (in_Rs);
3100 referenced |= 1 << 0;
3101 referenced |= 1 << 1;
3102 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3109 model_crisv32_addi_d_r (SIM_CPU *current_cpu, void *sem_arg)
3111 #define FLD(f) abuf->fields.sfmt_addc_m.f
3112 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3113 const IDESC * UNUSED idesc = abuf->idesc;
3117 int UNUSED insn_referenced = abuf->written;
3121 in_Rd = FLD (in_Rd);
3122 in_Rs = FLD (in_Rs);
3123 referenced |= 1 << 0;
3124 referenced |= 1 << 1;
3125 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3132 model_crisv32_neg_b_r (SIM_CPU *current_cpu, void *sem_arg)
3134 #define FLD(f) abuf->fields.sfmt_addc_m.f
3135 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3136 const IDESC * UNUSED idesc = abuf->idesc;
3140 int UNUSED insn_referenced = abuf->written;
3144 in_Rs = FLD (in_Rs);
3145 referenced |= 1 << 1;
3146 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3153 model_crisv32_neg_w_r (SIM_CPU *current_cpu, void *sem_arg)
3155 #define FLD(f) abuf->fields.sfmt_addc_m.f
3156 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3157 const IDESC * UNUSED idesc = abuf->idesc;
3161 int UNUSED insn_referenced = abuf->written;
3165 in_Rs = FLD (in_Rs);
3166 referenced |= 1 << 1;
3167 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3174 model_crisv32_neg_d_r (SIM_CPU *current_cpu, void *sem_arg)
3176 #define FLD(f) abuf->fields.sfmt_addc_m.f
3177 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3178 const IDESC * UNUSED idesc = abuf->idesc;
3182 int UNUSED insn_referenced = abuf->written;
3186 in_Rs = FLD (in_Rs);
3187 referenced |= 1 << 1;
3188 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3195 model_crisv32_test_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
3197 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
3198 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3199 const IDESC * UNUSED idesc = abuf->idesc;
3203 int UNUSED insn_referenced = abuf->written;
3205 in_Rs = FLD (in_Rs);
3206 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
3207 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3211 int UNUSED insn_referenced = abuf->written;
3212 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3216 int UNUSED insn_referenced = abuf->written;
3220 in_Rs = FLD (in_Rs);
3221 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
3222 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3229 model_crisv32_test_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
3231 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
3232 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3233 const IDESC * UNUSED idesc = abuf->idesc;
3237 int UNUSED insn_referenced = abuf->written;
3239 in_Rs = FLD (in_Rs);
3240 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
3241 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3245 int UNUSED insn_referenced = abuf->written;
3246 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3250 int UNUSED insn_referenced = abuf->written;
3254 in_Rs = FLD (in_Rs);
3255 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
3256 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3263 model_crisv32_test_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
3265 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
3266 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3267 const IDESC * UNUSED idesc = abuf->idesc;
3271 int UNUSED insn_referenced = abuf->written;
3273 in_Rs = FLD (in_Rs);
3274 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
3275 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3279 int UNUSED insn_referenced = abuf->written;
3280 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3284 int UNUSED insn_referenced = abuf->written;
3288 in_Rs = FLD (in_Rs);
3289 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
3290 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3297 model_crisv32_move_r_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
3299 #define FLD(f) abuf->fields.sfmt_addc_m.f
3300 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3301 const IDESC * UNUSED idesc = abuf->idesc;
3305 int UNUSED insn_referenced = abuf->written;
3307 in_Rs = FLD (in_Rs);
3308 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3309 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3313 int UNUSED insn_referenced = abuf->written;
3317 in_Rd = FLD (in_Rd);
3318 in_Rs = FLD (in_Rs);
3319 referenced |= 1 << 0;
3320 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3321 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3325 int UNUSED insn_referenced = abuf->written;
3326 cycles += crisv32f_model_crisv32_u_mem_w (current_cpu, idesc, 2, referenced);
3333 model_crisv32_move_r_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
3335 #define FLD(f) abuf->fields.sfmt_addc_m.f
3336 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3337 const IDESC * UNUSED idesc = abuf->idesc;
3341 int UNUSED insn_referenced = abuf->written;
3343 in_Rs = FLD (in_Rs);
3344 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3345 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3349 int UNUSED insn_referenced = abuf->written;
3353 in_Rd = FLD (in_Rd);
3354 in_Rs = FLD (in_Rs);
3355 referenced |= 1 << 0;
3356 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3357 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3361 int UNUSED insn_referenced = abuf->written;
3362 cycles += crisv32f_model_crisv32_u_mem_w (current_cpu, idesc, 2, referenced);
3369 model_crisv32_move_r_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
3371 #define FLD(f) abuf->fields.sfmt_addc_m.f
3372 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3373 const IDESC * UNUSED idesc = abuf->idesc;
3377 int UNUSED insn_referenced = abuf->written;
3379 in_Rs = FLD (in_Rs);
3380 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3381 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3385 int UNUSED insn_referenced = abuf->written;
3389 in_Rd = FLD (in_Rd);
3390 in_Rs = FLD (in_Rs);
3391 referenced |= 1 << 0;
3392 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3393 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3397 int UNUSED insn_referenced = abuf->written;
3398 cycles += crisv32f_model_crisv32_u_mem_w (current_cpu, idesc, 2, referenced);
3405 model_crisv32_muls_b (SIM_CPU *current_cpu, void *sem_arg)
3407 #define FLD(f) abuf->fields.sfmt_muls_b.f
3408 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3409 const IDESC * UNUSED idesc = abuf->idesc;
3413 int UNUSED insn_referenced = abuf->written;
3416 in_Rs = FLD (in_Rs);
3417 in_Rd = FLD (in_Rd);
3418 referenced |= 1 << 0;
3419 referenced |= 1 << 1;
3420 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3424 int UNUSED insn_referenced = abuf->written;
3428 in_Rd = FLD (in_Rd);
3429 in_Rs = FLD (in_Rs);
3430 out_Rd = FLD (out_Rd);
3431 referenced |= 1 << 0;
3432 referenced |= 1 << 1;
3433 referenced |= 1 << 2;
3434 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3441 model_crisv32_muls_w (SIM_CPU *current_cpu, void *sem_arg)
3443 #define FLD(f) abuf->fields.sfmt_muls_b.f
3444 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3445 const IDESC * UNUSED idesc = abuf->idesc;
3449 int UNUSED insn_referenced = abuf->written;
3452 in_Rs = FLD (in_Rs);
3453 in_Rd = FLD (in_Rd);
3454 referenced |= 1 << 0;
3455 referenced |= 1 << 1;
3456 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3460 int UNUSED insn_referenced = abuf->written;
3464 in_Rd = FLD (in_Rd);
3465 in_Rs = FLD (in_Rs);
3466 out_Rd = FLD (out_Rd);
3467 referenced |= 1 << 0;
3468 referenced |= 1 << 1;
3469 referenced |= 1 << 2;
3470 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3477 model_crisv32_muls_d (SIM_CPU *current_cpu, void *sem_arg)
3479 #define FLD(f) abuf->fields.sfmt_muls_b.f
3480 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3481 const IDESC * UNUSED idesc = abuf->idesc;
3485 int UNUSED insn_referenced = abuf->written;
3488 in_Rs = FLD (in_Rs);
3489 in_Rd = FLD (in_Rd);
3490 referenced |= 1 << 0;
3491 referenced |= 1 << 1;
3492 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3496 int UNUSED insn_referenced = abuf->written;
3500 in_Rd = FLD (in_Rd);
3501 in_Rs = FLD (in_Rs);
3502 out_Rd = FLD (out_Rd);
3503 referenced |= 1 << 0;
3504 referenced |= 1 << 1;
3505 referenced |= 1 << 2;
3506 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3513 model_crisv32_mulu_b (SIM_CPU *current_cpu, void *sem_arg)
3515 #define FLD(f) abuf->fields.sfmt_muls_b.f
3516 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3517 const IDESC * UNUSED idesc = abuf->idesc;
3521 int UNUSED insn_referenced = abuf->written;
3524 in_Rs = FLD (in_Rs);
3525 in_Rd = FLD (in_Rd);
3526 referenced |= 1 << 0;
3527 referenced |= 1 << 1;
3528 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3532 int UNUSED insn_referenced = abuf->written;
3536 in_Rd = FLD (in_Rd);
3537 in_Rs = FLD (in_Rs);
3538 out_Rd = FLD (out_Rd);
3539 referenced |= 1 << 0;
3540 referenced |= 1 << 1;
3541 referenced |= 1 << 2;
3542 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3549 model_crisv32_mulu_w (SIM_CPU *current_cpu, void *sem_arg)
3551 #define FLD(f) abuf->fields.sfmt_muls_b.f
3552 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3553 const IDESC * UNUSED idesc = abuf->idesc;
3557 int UNUSED insn_referenced = abuf->written;
3560 in_Rs = FLD (in_Rs);
3561 in_Rd = FLD (in_Rd);
3562 referenced |= 1 << 0;
3563 referenced |= 1 << 1;
3564 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3568 int UNUSED insn_referenced = abuf->written;
3572 in_Rd = FLD (in_Rd);
3573 in_Rs = FLD (in_Rs);
3574 out_Rd = FLD (out_Rd);
3575 referenced |= 1 << 0;
3576 referenced |= 1 << 1;
3577 referenced |= 1 << 2;
3578 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3585 model_crisv32_mulu_d (SIM_CPU *current_cpu, void *sem_arg)
3587 #define FLD(f) abuf->fields.sfmt_muls_b.f
3588 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3589 const IDESC * UNUSED idesc = abuf->idesc;
3593 int UNUSED insn_referenced = abuf->written;
3596 in_Rs = FLD (in_Rs);
3597 in_Rd = FLD (in_Rd);
3598 referenced |= 1 << 0;
3599 referenced |= 1 << 1;
3600 cycles += crisv32f_model_crisv32_u_multiply (current_cpu, idesc, 0, referenced, in_Rs, in_Rd);
3604 int UNUSED insn_referenced = abuf->written;
3608 in_Rd = FLD (in_Rd);
3609 in_Rs = FLD (in_Rs);
3610 out_Rd = FLD (out_Rd);
3611 referenced |= 1 << 0;
3612 referenced |= 1 << 1;
3613 referenced |= 1 << 2;
3614 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3621 model_crisv32_mcp (SIM_CPU *current_cpu, void *sem_arg)
3623 #define FLD(f) abuf->fields.sfmt_mcp.f
3624 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3625 const IDESC * UNUSED idesc = abuf->idesc;
3629 int UNUSED insn_referenced = abuf->written;
3633 in_Rs = FLD (in_Rs);
3634 referenced |= 1 << 1;
3635 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3642 model_crisv32_dstep (SIM_CPU *current_cpu, void *sem_arg)
3644 #define FLD(f) abuf->fields.sfmt_muls_b.f
3645 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3646 const IDESC * UNUSED idesc = abuf->idesc;
3650 int UNUSED insn_referenced = abuf->written;
3654 in_Rd = FLD (in_Rd);
3655 in_Rs = FLD (in_Rs);
3656 out_Rd = FLD (out_Rd);
3657 referenced |= 1 << 0;
3658 referenced |= 1 << 1;
3659 referenced |= 1 << 2;
3660 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3667 model_crisv32_abs (SIM_CPU *current_cpu, void *sem_arg)
3669 #define FLD(f) abuf->fields.sfmt_muls_b.f
3670 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3671 const IDESC * UNUSED idesc = abuf->idesc;
3675 int UNUSED insn_referenced = abuf->written;
3679 in_Rs = FLD (in_Rs);
3680 out_Rd = FLD (out_Rd);
3681 referenced |= 1 << 1;
3682 referenced |= 1 << 2;
3683 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3690 model_crisv32_and_b_r (SIM_CPU *current_cpu, void *sem_arg)
3692 #define FLD(f) abuf->fields.sfmt_addc_m.f
3693 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3694 const IDESC * UNUSED idesc = abuf->idesc;
3698 int UNUSED insn_referenced = abuf->written;
3702 in_Rd = FLD (in_Rd);
3703 in_Rs = FLD (in_Rs);
3704 referenced |= 1 << 0;
3705 referenced |= 1 << 1;
3706 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3713 model_crisv32_and_w_r (SIM_CPU *current_cpu, void *sem_arg)
3715 #define FLD(f) abuf->fields.sfmt_addc_m.f
3716 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3717 const IDESC * UNUSED idesc = abuf->idesc;
3721 int UNUSED insn_referenced = abuf->written;
3725 in_Rd = FLD (in_Rd);
3726 in_Rs = FLD (in_Rs);
3727 referenced |= 1 << 0;
3728 referenced |= 1 << 1;
3729 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3736 model_crisv32_and_d_r (SIM_CPU *current_cpu, void *sem_arg)
3738 #define FLD(f) abuf->fields.sfmt_addc_m.f
3739 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3740 const IDESC * UNUSED idesc = abuf->idesc;
3744 int UNUSED insn_referenced = abuf->written;
3748 in_Rd = FLD (in_Rd);
3749 in_Rs = FLD (in_Rs);
3750 referenced |= 1 << 0;
3751 referenced |= 1 << 1;
3752 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3759 model_crisv32_and_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
3761 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3762 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3763 const IDESC * UNUSED idesc = abuf->idesc;
3767 int UNUSED insn_referenced = abuf->written;
3769 in_Rs = FLD (in_Rs);
3770 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3771 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3775 int UNUSED insn_referenced = abuf->written;
3776 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3780 int UNUSED insn_referenced = abuf->written;
3784 in_Rd = FLD (in_Rd);
3785 in_Rs = FLD (in_Rs);
3786 referenced |= 1 << 0;
3787 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3788 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3795 model_crisv32_and_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
3797 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3798 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3799 const IDESC * UNUSED idesc = abuf->idesc;
3803 int UNUSED insn_referenced = abuf->written;
3805 in_Rs = FLD (in_Rs);
3806 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3807 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3811 int UNUSED insn_referenced = abuf->written;
3812 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3816 int UNUSED insn_referenced = abuf->written;
3820 in_Rd = FLD (in_Rd);
3821 in_Rs = FLD (in_Rs);
3822 referenced |= 1 << 0;
3823 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3824 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3831 model_crisv32_and_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
3833 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3834 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3835 const IDESC * UNUSED idesc = abuf->idesc;
3839 int UNUSED insn_referenced = abuf->written;
3841 in_Rs = FLD (in_Rs);
3842 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
3843 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
3847 int UNUSED insn_referenced = abuf->written;
3848 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
3852 int UNUSED insn_referenced = abuf->written;
3856 in_Rd = FLD (in_Rd);
3857 in_Rs = FLD (in_Rs);
3858 referenced |= 1 << 0;
3859 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
3860 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
3867 model_crisv32_andcbr (SIM_CPU *current_cpu, void *sem_arg)
3869 #define FLD(f) abuf->fields.sfmt_addcbr.f
3870 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3871 const IDESC * UNUSED idesc = abuf->idesc;
3875 int UNUSED insn_referenced = abuf->written;
3876 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
3880 int UNUSED insn_referenced = abuf->written;
3884 in_Rd = FLD (in_Rd);
3885 referenced |= 1 << 0;
3886 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3893 model_crisv32_andcwr (SIM_CPU *current_cpu, void *sem_arg)
3895 #define FLD(f) abuf->fields.sfmt_addcwr.f
3896 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3897 const IDESC * UNUSED idesc = abuf->idesc;
3901 int UNUSED insn_referenced = abuf->written;
3902 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
3906 int UNUSED insn_referenced = abuf->written;
3910 in_Rd = FLD (in_Rd);
3911 referenced |= 1 << 0;
3912 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3919 model_crisv32_andcdr (SIM_CPU *current_cpu, void *sem_arg)
3921 #define FLD(f) abuf->fields.sfmt_addcdr.f
3922 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3923 const IDESC * UNUSED idesc = abuf->idesc;
3927 int UNUSED insn_referenced = abuf->written;
3928 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
3932 int UNUSED insn_referenced = abuf->written;
3936 in_Rd = FLD (in_Rd);
3937 referenced |= 1 << 0;
3938 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
3945 model_crisv32_andq (SIM_CPU *current_cpu, void *sem_arg)
3947 #define FLD(f) abuf->fields.sfmt_andq.f
3948 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3949 const IDESC * UNUSED idesc = abuf->idesc;
3953 int UNUSED insn_referenced = abuf->written;
3957 in_Rd = FLD (in_Rd);
3958 referenced |= 1 << 0;
3959 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3966 model_crisv32_orr_b_r (SIM_CPU *current_cpu, void *sem_arg)
3968 #define FLD(f) abuf->fields.sfmt_addc_m.f
3969 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3970 const IDESC * UNUSED idesc = abuf->idesc;
3974 int UNUSED insn_referenced = abuf->written;
3978 in_Rd = FLD (in_Rd);
3979 in_Rs = FLD (in_Rs);
3980 referenced |= 1 << 0;
3981 referenced |= 1 << 1;
3982 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
3989 model_crisv32_orr_w_r (SIM_CPU *current_cpu, void *sem_arg)
3991 #define FLD(f) abuf->fields.sfmt_addc_m.f
3992 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3993 const IDESC * UNUSED idesc = abuf->idesc;
3997 int UNUSED insn_referenced = abuf->written;
4001 in_Rd = FLD (in_Rd);
4002 in_Rs = FLD (in_Rs);
4003 referenced |= 1 << 0;
4004 referenced |= 1 << 1;
4005 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4012 model_crisv32_orr_d_r (SIM_CPU *current_cpu, void *sem_arg)
4014 #define FLD(f) abuf->fields.sfmt_addc_m.f
4015 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4016 const IDESC * UNUSED idesc = abuf->idesc;
4020 int UNUSED insn_referenced = abuf->written;
4024 in_Rd = FLD (in_Rd);
4025 in_Rs = FLD (in_Rs);
4026 referenced |= 1 << 0;
4027 referenced |= 1 << 1;
4028 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4035 model_crisv32_or_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
4037 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4038 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4039 const IDESC * UNUSED idesc = abuf->idesc;
4043 int UNUSED insn_referenced = abuf->written;
4045 in_Rs = FLD (in_Rs);
4046 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
4047 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
4051 int UNUSED insn_referenced = abuf->written;
4052 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
4056 int UNUSED insn_referenced = abuf->written;
4060 in_Rd = FLD (in_Rd);
4061 in_Rs = FLD (in_Rs);
4062 referenced |= 1 << 0;
4063 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
4064 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4071 model_crisv32_or_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
4073 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4074 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4075 const IDESC * UNUSED idesc = abuf->idesc;
4079 int UNUSED insn_referenced = abuf->written;
4081 in_Rs = FLD (in_Rs);
4082 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
4083 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
4087 int UNUSED insn_referenced = abuf->written;
4088 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
4092 int UNUSED insn_referenced = abuf->written;
4096 in_Rd = FLD (in_Rd);
4097 in_Rs = FLD (in_Rs);
4098 referenced |= 1 << 0;
4099 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
4100 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4107 model_crisv32_or_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
4109 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4110 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4111 const IDESC * UNUSED idesc = abuf->idesc;
4115 int UNUSED insn_referenced = abuf->written;
4117 in_Rs = FLD (in_Rs);
4118 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
4119 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
4123 int UNUSED insn_referenced = abuf->written;
4124 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
4128 int UNUSED insn_referenced = abuf->written;
4132 in_Rd = FLD (in_Rd);
4133 in_Rs = FLD (in_Rs);
4134 referenced |= 1 << 0;
4135 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
4136 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4143 model_crisv32_orcbr (SIM_CPU *current_cpu, void *sem_arg)
4145 #define FLD(f) abuf->fields.sfmt_addcbr.f
4146 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4147 const IDESC * UNUSED idesc = abuf->idesc;
4151 int UNUSED insn_referenced = abuf->written;
4152 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
4156 int UNUSED insn_referenced = abuf->written;
4160 in_Rd = FLD (in_Rd);
4161 referenced |= 1 << 0;
4162 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4169 model_crisv32_orcwr (SIM_CPU *current_cpu, void *sem_arg)
4171 #define FLD(f) abuf->fields.sfmt_addcwr.f
4172 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4173 const IDESC * UNUSED idesc = abuf->idesc;
4177 int UNUSED insn_referenced = abuf->written;
4178 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
4182 int UNUSED insn_referenced = abuf->written;
4186 in_Rd = FLD (in_Rd);
4187 referenced |= 1 << 0;
4188 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4195 model_crisv32_orcdr (SIM_CPU *current_cpu, void *sem_arg)
4197 #define FLD(f) abuf->fields.sfmt_addcdr.f
4198 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4199 const IDESC * UNUSED idesc = abuf->idesc;
4203 int UNUSED insn_referenced = abuf->written;
4204 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
4208 int UNUSED insn_referenced = abuf->written;
4212 in_Rd = FLD (in_Rd);
4213 referenced |= 1 << 0;
4214 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4221 model_crisv32_orq (SIM_CPU *current_cpu, void *sem_arg)
4223 #define FLD(f) abuf->fields.sfmt_andq.f
4224 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4225 const IDESC * UNUSED idesc = abuf->idesc;
4229 int UNUSED insn_referenced = abuf->written;
4233 in_Rd = FLD (in_Rd);
4234 referenced |= 1 << 0;
4235 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4242 model_crisv32_xor (SIM_CPU *current_cpu, void *sem_arg)
4244 #define FLD(f) abuf->fields.sfmt_muls_b.f
4245 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4246 const IDESC * UNUSED idesc = abuf->idesc;
4250 int UNUSED insn_referenced = abuf->written;
4254 in_Rd = FLD (in_Rd);
4255 in_Rs = FLD (in_Rs);
4256 out_Rd = FLD (out_Rd);
4257 referenced |= 1 << 0;
4258 referenced |= 1 << 1;
4259 referenced |= 1 << 2;
4260 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4267 model_crisv32_swap (SIM_CPU *current_cpu, void *sem_arg)
4269 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
4270 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4271 const IDESC * UNUSED idesc = abuf->idesc;
4275 int UNUSED insn_referenced = abuf->written;
4279 in_Rs = FLD (in_Rs);
4280 referenced |= 1 << 1;
4281 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4288 model_crisv32_asrr_b_r (SIM_CPU *current_cpu, void *sem_arg)
4290 #define FLD(f) abuf->fields.sfmt_addc_m.f
4291 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4292 const IDESC * UNUSED idesc = abuf->idesc;
4296 int UNUSED insn_referenced = abuf->written;
4300 in_Rd = FLD (in_Rd);
4301 in_Rs = FLD (in_Rs);
4302 referenced |= 1 << 0;
4303 referenced |= 1 << 1;
4304 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4311 model_crisv32_asrr_w_r (SIM_CPU *current_cpu, void *sem_arg)
4313 #define FLD(f) abuf->fields.sfmt_addc_m.f
4314 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4315 const IDESC * UNUSED idesc = abuf->idesc;
4319 int UNUSED insn_referenced = abuf->written;
4323 in_Rd = FLD (in_Rd);
4324 in_Rs = FLD (in_Rs);
4325 referenced |= 1 << 0;
4326 referenced |= 1 << 1;
4327 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4334 model_crisv32_asrr_d_r (SIM_CPU *current_cpu, void *sem_arg)
4336 #define FLD(f) abuf->fields.sfmt_addc_m.f
4337 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4338 const IDESC * UNUSED idesc = abuf->idesc;
4342 int UNUSED insn_referenced = abuf->written;
4346 in_Rd = FLD (in_Rd);
4347 in_Rs = FLD (in_Rs);
4348 referenced |= 1 << 0;
4349 referenced |= 1 << 1;
4350 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4357 model_crisv32_asrq (SIM_CPU *current_cpu, void *sem_arg)
4359 #define FLD(f) abuf->fields.sfmt_asrq.f
4360 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4361 const IDESC * UNUSED idesc = abuf->idesc;
4365 int UNUSED insn_referenced = abuf->written;
4369 in_Rd = FLD (in_Rd);
4370 out_Rd = FLD (out_Rd);
4371 referenced |= 1 << 0;
4372 referenced |= 1 << 2;
4373 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4380 model_crisv32_lsrr_b_r (SIM_CPU *current_cpu, void *sem_arg)
4382 #define FLD(f) abuf->fields.sfmt_addc_m.f
4383 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4384 const IDESC * UNUSED idesc = abuf->idesc;
4388 int UNUSED insn_referenced = abuf->written;
4392 in_Rd = FLD (in_Rd);
4393 in_Rs = FLD (in_Rs);
4394 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4395 referenced |= 1 << 1;
4396 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4403 model_crisv32_lsrr_w_r (SIM_CPU *current_cpu, void *sem_arg)
4405 #define FLD(f) abuf->fields.sfmt_addc_m.f
4406 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4407 const IDESC * UNUSED idesc = abuf->idesc;
4411 int UNUSED insn_referenced = abuf->written;
4415 in_Rd = FLD (in_Rd);
4416 in_Rs = FLD (in_Rs);
4417 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4418 referenced |= 1 << 1;
4419 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4426 model_crisv32_lsrr_d_r (SIM_CPU *current_cpu, void *sem_arg)
4428 #define FLD(f) abuf->fields.sfmt_addc_m.f
4429 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4430 const IDESC * UNUSED idesc = abuf->idesc;
4434 int UNUSED insn_referenced = abuf->written;
4438 in_Rd = FLD (in_Rd);
4439 in_Rs = FLD (in_Rs);
4440 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4441 referenced |= 1 << 1;
4442 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4449 model_crisv32_lsrq (SIM_CPU *current_cpu, void *sem_arg)
4451 #define FLD(f) abuf->fields.sfmt_asrq.f
4452 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4453 const IDESC * UNUSED idesc = abuf->idesc;
4457 int UNUSED insn_referenced = abuf->written;
4461 in_Rd = FLD (in_Rd);
4462 out_Rd = FLD (out_Rd);
4463 referenced |= 1 << 0;
4464 referenced |= 1 << 2;
4465 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4472 model_crisv32_lslr_b_r (SIM_CPU *current_cpu, void *sem_arg)
4474 #define FLD(f) abuf->fields.sfmt_addc_m.f
4475 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4476 const IDESC * UNUSED idesc = abuf->idesc;
4480 int UNUSED insn_referenced = abuf->written;
4484 in_Rd = FLD (in_Rd);
4485 in_Rs = FLD (in_Rs);
4486 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4487 referenced |= 1 << 1;
4488 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4495 model_crisv32_lslr_w_r (SIM_CPU *current_cpu, void *sem_arg)
4497 #define FLD(f) abuf->fields.sfmt_addc_m.f
4498 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4499 const IDESC * UNUSED idesc = abuf->idesc;
4503 int UNUSED insn_referenced = abuf->written;
4507 in_Rd = FLD (in_Rd);
4508 in_Rs = FLD (in_Rs);
4509 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4510 referenced |= 1 << 1;
4511 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4518 model_crisv32_lslr_d_r (SIM_CPU *current_cpu, void *sem_arg)
4520 #define FLD(f) abuf->fields.sfmt_addc_m.f
4521 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4522 const IDESC * UNUSED idesc = abuf->idesc;
4526 int UNUSED insn_referenced = abuf->written;
4530 in_Rd = FLD (in_Rd);
4531 in_Rs = FLD (in_Rs);
4532 if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
4533 referenced |= 1 << 1;
4534 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4541 model_crisv32_lslq (SIM_CPU *current_cpu, void *sem_arg)
4543 #define FLD(f) abuf->fields.sfmt_asrq.f
4544 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4545 const IDESC * UNUSED idesc = abuf->idesc;
4549 int UNUSED insn_referenced = abuf->written;
4553 in_Rd = FLD (in_Rd);
4554 out_Rd = FLD (out_Rd);
4555 referenced |= 1 << 0;
4556 referenced |= 1 << 2;
4557 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4564 model_crisv32_btst (SIM_CPU *current_cpu, void *sem_arg)
4566 #define FLD(f) abuf->fields.sfmt_muls_b.f
4567 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4568 const IDESC * UNUSED idesc = abuf->idesc;
4572 int UNUSED insn_referenced = abuf->written;
4576 in_Rd = FLD (in_Rd);
4577 in_Rs = FLD (in_Rs);
4578 referenced |= 1 << 0;
4579 referenced |= 1 << 1;
4580 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4587 model_crisv32_btstq (SIM_CPU *current_cpu, void *sem_arg)
4589 #define FLD(f) abuf->fields.sfmt_asrq.f
4590 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4591 const IDESC * UNUSED idesc = abuf->idesc;
4595 int UNUSED insn_referenced = abuf->written;
4599 in_Rd = FLD (in_Rd);
4600 referenced |= 1 << 0;
4601 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4608 model_crisv32_setf (SIM_CPU *current_cpu, void *sem_arg)
4610 #define FLD(f) abuf->fields.sfmt_setf.f
4611 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4612 const IDESC * UNUSED idesc = abuf->idesc;
4616 int UNUSED insn_referenced = abuf->written;
4620 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4627 model_crisv32_clearf (SIM_CPU *current_cpu, void *sem_arg)
4629 #define FLD(f) abuf->fields.sfmt_setf.f
4630 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4631 const IDESC * UNUSED idesc = abuf->idesc;
4635 int UNUSED insn_referenced = abuf->written;
4639 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4646 model_crisv32_rfe (SIM_CPU *current_cpu, void *sem_arg)
4648 #define FLD(f) abuf->fields.sfmt_rfe.f
4649 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4650 const IDESC * UNUSED idesc = abuf->idesc;
4654 int UNUSED insn_referenced = abuf->written;
4658 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4665 model_crisv32_sfe (SIM_CPU *current_cpu, void *sem_arg)
4667 #define FLD(f) abuf->fields.sfmt_rfe.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 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4684 model_crisv32_rfg (SIM_CPU *current_cpu, void *sem_arg)
4686 #define FLD(f) abuf->fields.sfmt_empty.f
4687 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4688 const IDESC * UNUSED idesc = abuf->idesc;
4692 int UNUSED insn_referenced = abuf->written;
4696 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4703 model_crisv32_rfn (SIM_CPU *current_cpu, void *sem_arg)
4705 #define FLD(f) abuf->fields.sfmt_rfe.f
4706 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4707 const IDESC * UNUSED idesc = abuf->idesc;
4711 int UNUSED insn_referenced = abuf->written;
4715 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4722 model_crisv32_halt (SIM_CPU *current_cpu, void *sem_arg)
4724 #define FLD(f) abuf->fields.sfmt_empty.f
4725 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4726 const IDESC * UNUSED idesc = abuf->idesc;
4730 int UNUSED insn_referenced = abuf->written;
4734 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
4741 model_crisv32_bcc_b (SIM_CPU *current_cpu, void *sem_arg)
4743 #define FLD(f) abuf->fields.sfmt_bcc_b.f
4744 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4745 const IDESC * UNUSED idesc = abuf->idesc;
4749 int UNUSED insn_referenced = abuf->written;
4750 cycles += crisv32f_model_crisv32_u_branch (current_cpu, idesc, 0, referenced);
4754 int UNUSED insn_referenced = abuf->written;
4758 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4765 model_crisv32_ba_b (SIM_CPU *current_cpu, void *sem_arg)
4767 #define FLD(f) abuf->fields.sfmt_bcc_b.f
4768 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4769 const IDESC * UNUSED idesc = abuf->idesc;
4773 int UNUSED insn_referenced = abuf->written;
4775 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 0, referenced, out_Pd);
4779 int UNUSED insn_referenced = abuf->written;
4783 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4790 model_crisv32_bcc_w (SIM_CPU *current_cpu, void *sem_arg)
4792 #define FLD(f) abuf->fields.sfmt_bcc_w.f
4793 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4794 const IDESC * UNUSED idesc = abuf->idesc;
4798 int UNUSED insn_referenced = abuf->written;
4799 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
4803 int UNUSED insn_referenced = abuf->written;
4804 cycles += crisv32f_model_crisv32_u_branch (current_cpu, idesc, 1, referenced);
4808 int UNUSED insn_referenced = abuf->written;
4812 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4819 model_crisv32_ba_w (SIM_CPU *current_cpu, void *sem_arg)
4821 #define FLD(f) abuf->fields.sfmt_bcc_w.f
4822 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4823 const IDESC * UNUSED idesc = abuf->idesc;
4827 int UNUSED insn_referenced = abuf->written;
4828 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
4832 int UNUSED insn_referenced = abuf->written;
4834 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 1, referenced, out_Pd);
4838 int UNUSED insn_referenced = abuf->written;
4842 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4849 model_crisv32_jas_r (SIM_CPU *current_cpu, void *sem_arg)
4851 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
4852 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4853 const IDESC * UNUSED idesc = abuf->idesc;
4857 int UNUSED insn_referenced = abuf->written;
4859 in_Rs = FLD (in_Rs);
4860 referenced |= 1 << 0;
4861 cycles += crisv32f_model_crisv32_u_jump_r (current_cpu, idesc, 0, referenced, in_Rs);
4865 int UNUSED insn_referenced = abuf->written;
4867 out_Pd = FLD (out_Pd);
4868 referenced |= 1 << 0;
4869 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 1, referenced, out_Pd);
4873 int UNUSED insn_referenced = abuf->written;
4877 in_Rs = FLD (in_Rs);
4878 referenced |= 1 << 1;
4879 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4886 model_crisv32_jas_c (SIM_CPU *current_cpu, void *sem_arg)
4888 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
4889 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4890 const IDESC * UNUSED idesc = abuf->idesc;
4894 int UNUSED insn_referenced = abuf->written;
4895 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
4899 int UNUSED insn_referenced = abuf->written;
4901 out_Pd = FLD (out_Pd);
4902 referenced |= 1 << 0;
4903 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 1, referenced, out_Pd);
4907 int UNUSED insn_referenced = abuf->written;
4911 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4918 model_crisv32_jump_p (SIM_CPU *current_cpu, void *sem_arg)
4920 #define FLD(f) abuf->fields.sfmt_mcp.f
4921 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4922 const IDESC * UNUSED idesc = abuf->idesc;
4926 int UNUSED insn_referenced = abuf->written;
4928 in_Ps = FLD (in_Ps);
4929 referenced |= 1 << 0;
4930 cycles += crisv32f_model_crisv32_u_jump_sr (current_cpu, idesc, 0, referenced, in_Ps);
4934 int UNUSED insn_referenced = abuf->written;
4938 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
4945 model_crisv32_bas_c (SIM_CPU *current_cpu, void *sem_arg)
4947 #define FLD(f) abuf->fields.sfmt_bas_c.f
4948 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4949 const IDESC * UNUSED idesc = abuf->idesc;
4953 int UNUSED insn_referenced = abuf->written;
4954 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
4958 int UNUSED insn_referenced = abuf->written;
4960 out_Pd = FLD (out_Pd);
4961 referenced |= 1 << 0;
4962 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 1, referenced, out_Pd);
4966 int UNUSED insn_referenced = abuf->written;
4970 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
4977 model_crisv32_jasc_r (SIM_CPU *current_cpu, void *sem_arg)
4979 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
4980 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4981 const IDESC * UNUSED idesc = abuf->idesc;
4985 int UNUSED insn_referenced = abuf->written;
4987 in_Rs = FLD (in_Rs);
4988 referenced |= 1 << 0;
4989 cycles += crisv32f_model_crisv32_u_jump_r (current_cpu, idesc, 0, referenced, in_Rs);
4993 int UNUSED insn_referenced = abuf->written;
4994 cycles += crisv32f_model_crisv32_u_skip4 (current_cpu, idesc, 1, referenced);
4998 int UNUSED insn_referenced = abuf->written;
5000 out_Pd = FLD (out_Pd);
5001 referenced |= 1 << 0;
5002 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 2, referenced, out_Pd);
5006 int UNUSED insn_referenced = abuf->written;
5010 in_Rs = FLD (in_Rs);
5011 referenced |= 1 << 1;
5012 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 3, referenced, in_Rd, in_Rs, out_Rd);
5019 model_crisv32_jasc_c (SIM_CPU *current_cpu, void *sem_arg)
5021 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.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;
5028 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
5032 int UNUSED insn_referenced = abuf->written;
5033 cycles += crisv32f_model_crisv32_u_skip4 (current_cpu, idesc, 1, referenced);
5037 int UNUSED insn_referenced = abuf->written;
5039 out_Pd = FLD (out_Pd);
5040 referenced |= 1 << 0;
5041 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 2, referenced, out_Pd);
5045 int UNUSED insn_referenced = abuf->written;
5049 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 3, referenced, in_Rd, in_Rs, out_Rd);
5056 model_crisv32_basc_c (SIM_CPU *current_cpu, void *sem_arg)
5058 #define FLD(f) abuf->fields.sfmt_bas_c.f
5059 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5060 const IDESC * UNUSED idesc = abuf->idesc;
5064 int UNUSED insn_referenced = abuf->written;
5065 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
5069 int UNUSED insn_referenced = abuf->written;
5070 cycles += crisv32f_model_crisv32_u_skip4 (current_cpu, idesc, 1, referenced);
5074 int UNUSED insn_referenced = abuf->written;
5076 out_Pd = FLD (out_Pd);
5077 referenced |= 1 << 0;
5078 cycles += crisv32f_model_crisv32_u_jump (current_cpu, idesc, 2, referenced, out_Pd);
5082 int UNUSED insn_referenced = abuf->written;
5086 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 3, referenced, in_Rd, in_Rs, out_Rd);
5093 model_crisv32_break (SIM_CPU *current_cpu, void *sem_arg)
5095 #define FLD(f) abuf->fields.sfmt_break.f
5096 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5097 const IDESC * UNUSED idesc = abuf->idesc;
5101 int UNUSED insn_referenced = abuf->written;
5105 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5112 model_crisv32_bound_r_b_r (SIM_CPU *current_cpu, void *sem_arg)
5114 #define FLD(f) abuf->fields.sfmt_muls_b.f
5115 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5116 const IDESC * UNUSED idesc = abuf->idesc;
5120 int UNUSED insn_referenced = abuf->written;
5124 in_Rd = FLD (in_Rd);
5125 in_Rs = FLD (in_Rs);
5126 out_Rd = FLD (out_Rd);
5127 referenced |= 1 << 0;
5128 referenced |= 1 << 1;
5129 referenced |= 1 << 2;
5130 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5137 model_crisv32_bound_r_w_r (SIM_CPU *current_cpu, void *sem_arg)
5139 #define FLD(f) abuf->fields.sfmt_muls_b.f
5140 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5141 const IDESC * UNUSED idesc = abuf->idesc;
5145 int UNUSED insn_referenced = abuf->written;
5149 in_Rd = FLD (in_Rd);
5150 in_Rs = FLD (in_Rs);
5151 out_Rd = FLD (out_Rd);
5152 referenced |= 1 << 0;
5153 referenced |= 1 << 1;
5154 referenced |= 1 << 2;
5155 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5162 model_crisv32_bound_r_d_r (SIM_CPU *current_cpu, void *sem_arg)
5164 #define FLD(f) abuf->fields.sfmt_muls_b.f
5165 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5166 const IDESC * UNUSED idesc = abuf->idesc;
5170 int UNUSED insn_referenced = abuf->written;
5174 in_Rd = FLD (in_Rd);
5175 in_Rs = FLD (in_Rs);
5176 out_Rd = FLD (out_Rd);
5177 referenced |= 1 << 0;
5178 referenced |= 1 << 1;
5179 referenced |= 1 << 2;
5180 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5187 model_crisv32_bound_cb (SIM_CPU *current_cpu, void *sem_arg)
5189 #define FLD(f) abuf->fields.sfmt_bound_cb.f
5190 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5191 const IDESC * UNUSED idesc = abuf->idesc;
5195 int UNUSED insn_referenced = abuf->written;
5196 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
5200 int UNUSED insn_referenced = abuf->written;
5204 in_Rd = FLD (in_Rd);
5205 out_Rd = FLD (out_Rd);
5206 referenced |= 1 << 0;
5207 referenced |= 1 << 2;
5208 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5215 model_crisv32_bound_cw (SIM_CPU *current_cpu, void *sem_arg)
5217 #define FLD(f) abuf->fields.sfmt_bound_cw.f
5218 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5219 const IDESC * UNUSED idesc = abuf->idesc;
5223 int UNUSED insn_referenced = abuf->written;
5224 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
5228 int UNUSED insn_referenced = abuf->written;
5232 in_Rd = FLD (in_Rd);
5233 out_Rd = FLD (out_Rd);
5234 referenced |= 1 << 0;
5235 referenced |= 1 << 2;
5236 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5243 model_crisv32_bound_cd (SIM_CPU *current_cpu, void *sem_arg)
5245 #define FLD(f) abuf->fields.sfmt_bound_cd.f
5246 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5247 const IDESC * UNUSED idesc = abuf->idesc;
5251 int UNUSED insn_referenced = abuf->written;
5252 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
5256 int UNUSED insn_referenced = abuf->written;
5260 in_Rd = FLD (in_Rd);
5261 out_Rd = FLD (out_Rd);
5262 referenced |= 1 << 0;
5263 referenced |= 1 << 2;
5264 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5271 model_crisv32_scc (SIM_CPU *current_cpu, void *sem_arg)
5273 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
5274 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5275 const IDESC * UNUSED idesc = abuf->idesc;
5279 int UNUSED insn_referenced = abuf->written;
5283 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5290 model_crisv32_lz (SIM_CPU *current_cpu, void *sem_arg)
5292 #define FLD(f) abuf->fields.sfmt_muls_b.f
5293 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5294 const IDESC * UNUSED idesc = abuf->idesc;
5298 int UNUSED insn_referenced = abuf->written;
5302 in_Rs = FLD (in_Rs);
5303 out_Rd = FLD (out_Rd);
5304 referenced |= 1 << 1;
5305 referenced |= 1 << 2;
5306 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5313 model_crisv32_addoq (SIM_CPU *current_cpu, void *sem_arg)
5315 #define FLD(f) abuf->fields.sfmt_addoq.f
5316 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5317 const IDESC * UNUSED idesc = abuf->idesc;
5321 int UNUSED insn_referenced = abuf->written;
5325 in_Rd = FLD (in_Rd);
5326 referenced |= 1 << 0;
5327 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5334 model_crisv32_addo_m_b_m (SIM_CPU *current_cpu, void *sem_arg)
5336 #define FLD(f) abuf->fields.sfmt_addc_m.f
5337 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5338 const IDESC * UNUSED idesc = abuf->idesc;
5342 int UNUSED insn_referenced = abuf->written;
5344 in_Rs = FLD (in_Rs);
5345 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
5346 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
5350 int UNUSED insn_referenced = abuf->written;
5351 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
5355 int UNUSED insn_referenced = abuf->written;
5359 in_Rd = FLD (in_Rd);
5360 in_Rs = FLD (in_Rs);
5361 referenced |= 1 << 0;
5362 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
5363 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
5370 model_crisv32_addo_m_w_m (SIM_CPU *current_cpu, void *sem_arg)
5372 #define FLD(f) abuf->fields.sfmt_addc_m.f
5373 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5374 const IDESC * UNUSED idesc = abuf->idesc;
5378 int UNUSED insn_referenced = abuf->written;
5380 in_Rs = FLD (in_Rs);
5381 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
5382 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
5386 int UNUSED insn_referenced = abuf->written;
5387 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
5391 int UNUSED insn_referenced = abuf->written;
5395 in_Rd = FLD (in_Rd);
5396 in_Rs = FLD (in_Rs);
5397 referenced |= 1 << 0;
5398 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
5399 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
5406 model_crisv32_addo_m_d_m (SIM_CPU *current_cpu, void *sem_arg)
5408 #define FLD(f) abuf->fields.sfmt_addc_m.f
5409 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5410 const IDESC * UNUSED idesc = abuf->idesc;
5414 int UNUSED insn_referenced = abuf->written;
5416 in_Rs = FLD (in_Rs);
5417 if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
5418 cycles += crisv32f_model_crisv32_u_mem (current_cpu, idesc, 0, referenced, in_Rs);
5422 int UNUSED insn_referenced = abuf->written;
5423 cycles += crisv32f_model_crisv32_u_mem_r (current_cpu, idesc, 1, referenced);
5427 int UNUSED insn_referenced = abuf->written;
5431 in_Rd = FLD (in_Rd);
5432 in_Rs = FLD (in_Rs);
5433 referenced |= 1 << 0;
5434 if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
5435 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 2, referenced, in_Rd, in_Rs, out_Rd);
5442 model_crisv32_addo_cb (SIM_CPU *current_cpu, void *sem_arg)
5444 #define FLD(f) abuf->fields.sfmt_bound_cb.f
5445 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5446 const IDESC * UNUSED idesc = abuf->idesc;
5450 int UNUSED insn_referenced = abuf->written;
5451 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
5455 int UNUSED insn_referenced = abuf->written;
5459 in_Rd = FLD (in_Rd);
5460 referenced |= 1 << 0;
5461 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5468 model_crisv32_addo_cw (SIM_CPU *current_cpu, void *sem_arg)
5470 #define FLD(f) abuf->fields.sfmt_bound_cw.f
5471 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5472 const IDESC * UNUSED idesc = abuf->idesc;
5476 int UNUSED insn_referenced = abuf->written;
5477 cycles += crisv32f_model_crisv32_u_const16 (current_cpu, idesc, 0, referenced);
5481 int UNUSED insn_referenced = abuf->written;
5485 in_Rd = FLD (in_Rd);
5486 referenced |= 1 << 0;
5487 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5494 model_crisv32_addo_cd (SIM_CPU *current_cpu, void *sem_arg)
5496 #define FLD(f) abuf->fields.sfmt_bound_cd.f
5497 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5498 const IDESC * UNUSED idesc = abuf->idesc;
5502 int UNUSED insn_referenced = abuf->written;
5503 cycles += crisv32f_model_crisv32_u_const32 (current_cpu, idesc, 0, referenced);
5507 int UNUSED insn_referenced = abuf->written;
5511 in_Rd = FLD (in_Rd);
5512 referenced |= 1 << 0;
5513 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 1, referenced, in_Rd, in_Rs, out_Rd);
5520 model_crisv32_addi_acr_b_r (SIM_CPU *current_cpu, void *sem_arg)
5522 #define FLD(f) abuf->fields.sfmt_muls_b.f
5523 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5524 const IDESC * UNUSED idesc = abuf->idesc;
5528 int UNUSED insn_referenced = abuf->written;
5532 in_Rd = FLD (in_Rd);
5533 in_Rs = FLD (in_Rs);
5534 referenced |= 1 << 0;
5535 referenced |= 1 << 1;
5536 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5543 model_crisv32_addi_acr_w_r (SIM_CPU *current_cpu, void *sem_arg)
5545 #define FLD(f) abuf->fields.sfmt_muls_b.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;
5555 in_Rd = FLD (in_Rd);
5556 in_Rs = FLD (in_Rs);
5557 referenced |= 1 << 0;
5558 referenced |= 1 << 1;
5559 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5566 model_crisv32_addi_acr_d_r (SIM_CPU *current_cpu, void *sem_arg)
5568 #define FLD(f) abuf->fields.sfmt_muls_b.f
5569 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5570 const IDESC * UNUSED idesc = abuf->idesc;
5574 int UNUSED insn_referenced = abuf->written;
5578 in_Rd = FLD (in_Rd);
5579 in_Rs = FLD (in_Rs);
5580 referenced |= 1 << 0;
5581 referenced |= 1 << 1;
5582 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5589 model_crisv32_fidxi (SIM_CPU *current_cpu, void *sem_arg)
5591 #define FLD(f) abuf->fields.sfmt_mcp.f
5592 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5593 const IDESC * UNUSED idesc = abuf->idesc;
5597 int UNUSED insn_referenced = abuf->written;
5601 in_Rs = FLD (in_Rs);
5602 referenced |= 1 << 1;
5603 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5610 model_crisv32_ftagi (SIM_CPU *current_cpu, void *sem_arg)
5612 #define FLD(f) abuf->fields.sfmt_mcp.f
5613 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5614 const IDESC * UNUSED idesc = abuf->idesc;
5618 int UNUSED insn_referenced = abuf->written;
5622 in_Rs = FLD (in_Rs);
5623 referenced |= 1 << 1;
5624 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5631 model_crisv32_fidxd (SIM_CPU *current_cpu, void *sem_arg)
5633 #define FLD(f) abuf->fields.sfmt_mcp.f
5634 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5635 const IDESC * UNUSED idesc = abuf->idesc;
5639 int UNUSED insn_referenced = abuf->written;
5643 in_Rs = FLD (in_Rs);
5644 referenced |= 1 << 1;
5645 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5652 model_crisv32_ftagd (SIM_CPU *current_cpu, void *sem_arg)
5654 #define FLD(f) abuf->fields.sfmt_mcp.f
5655 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
5656 const IDESC * UNUSED idesc = abuf->idesc;
5660 int UNUSED insn_referenced = abuf->written;
5664 in_Rs = FLD (in_Rs);
5665 referenced |= 1 << 1;
5666 cycles += crisv32f_model_crisv32_u_exec (current_cpu, idesc, 0, referenced, in_Rd, in_Rs, out_Rd);
5672 /* We assume UNIT_NONE == 0 because the tables don't always terminate
5675 /* Model timing data for `crisv32'. */
5677 static const INSN_TIMING crisv32_timing[] = {
5678 { CRISV32F_INSN_X_INVALID, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5679 { CRISV32F_INSN_X_AFTER, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5680 { CRISV32F_INSN_X_BEFORE, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5681 { CRISV32F_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5682 { CRISV32F_INSN_X_CHAIN, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5683 { CRISV32F_INSN_X_BEGIN, 0, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5684 { CRISV32F_INSN_MOVE_B_R, model_crisv32_move_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5685 { CRISV32F_INSN_MOVE_W_R, model_crisv32_move_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5686 { CRISV32F_INSN_MOVE_D_R, model_crisv32_move_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5687 { CRISV32F_INSN_MOVEQ, model_crisv32_moveq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5688 { CRISV32F_INSN_MOVS_B_R, model_crisv32_movs_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5689 { CRISV32F_INSN_MOVS_W_R, model_crisv32_movs_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5690 { CRISV32F_INSN_MOVU_B_R, model_crisv32_movu_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5691 { CRISV32F_INSN_MOVU_W_R, model_crisv32_movu_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5692 { CRISV32F_INSN_MOVECBR, model_crisv32_movecbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5693 { CRISV32F_INSN_MOVECWR, model_crisv32_movecwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5694 { CRISV32F_INSN_MOVECDR, model_crisv32_movecdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5695 { CRISV32F_INSN_MOVSCBR, model_crisv32_movscbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5696 { CRISV32F_INSN_MOVSCWR, model_crisv32_movscwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5697 { CRISV32F_INSN_MOVUCBR, model_crisv32_movucbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5698 { CRISV32F_INSN_MOVUCWR, model_crisv32_movucwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5699 { CRISV32F_INSN_ADDQ, model_crisv32_addq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5700 { CRISV32F_INSN_SUBQ, model_crisv32_subq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5701 { CRISV32F_INSN_CMP_R_B_R, model_crisv32_cmp_r_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5702 { CRISV32F_INSN_CMP_R_W_R, model_crisv32_cmp_r_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5703 { CRISV32F_INSN_CMP_R_D_R, model_crisv32_cmp_r_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5704 { 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 } } },
5705 { 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 } } },
5706 { 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 } } },
5707 { CRISV32F_INSN_CMPCBR, model_crisv32_cmpcbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5708 { CRISV32F_INSN_CMPCWR, model_crisv32_cmpcwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5709 { CRISV32F_INSN_CMPCDR, model_crisv32_cmpcdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5710 { CRISV32F_INSN_CMPQ, model_crisv32_cmpq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5711 { 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 } } },
5712 { 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 } } },
5713 { CRISV32F_INSN_CMPSCBR, model_crisv32_cmpscbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5714 { CRISV32F_INSN_CMPSCWR, model_crisv32_cmpscwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5715 { 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 } } },
5716 { 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 } } },
5717 { CRISV32F_INSN_CMPUCBR, model_crisv32_cmpucbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5718 { CRISV32F_INSN_CMPUCWR, model_crisv32_cmpucwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5719 { 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 } } },
5720 { 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 } } },
5721 { 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 } } },
5722 { 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 } } },
5723 { 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 } } },
5724 { 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 } } },
5725 { 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 } } },
5726 { CRISV32F_INSN_MOVE_R_SPRV32, model_crisv32_move_r_sprv32, { { (int) UNIT_CRISV32_U_EXEC_TO_SR, 1, 1 } } },
5727 { CRISV32F_INSN_MOVE_SPR_RV32, model_crisv32_move_spr_rv32, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5728 { 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 } } },
5729 { 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 } } },
5730 { 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 } } },
5731 { 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 } } },
5732 { 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 } } },
5733 { 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 } } },
5734 { 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 } } },
5735 { 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 } } },
5736 { 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 } } },
5737 { 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 } } },
5738 { 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 } } },
5739 { 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 } } },
5740 { 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 } } },
5741 { 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 } } },
5742 { CRISV32F_INSN_MOVE_SS_R, model_crisv32_move_ss_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5743 { CRISV32F_INSN_MOVE_R_SS, model_crisv32_move_r_ss, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5744 { 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 } } },
5745 { 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 } } },
5746 { CRISV32F_INSN_ADD_B_R, model_crisv32_add_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5747 { CRISV32F_INSN_ADD_W_R, model_crisv32_add_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5748 { CRISV32F_INSN_ADD_D_R, model_crisv32_add_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5749 { 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 } } },
5750 { 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 } } },
5751 { 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 } } },
5752 { CRISV32F_INSN_ADDCBR, model_crisv32_addcbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5753 { CRISV32F_INSN_ADDCWR, model_crisv32_addcwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5754 { CRISV32F_INSN_ADDCDR, model_crisv32_addcdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5755 { CRISV32F_INSN_ADDS_B_R, model_crisv32_adds_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5756 { CRISV32F_INSN_ADDS_W_R, model_crisv32_adds_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5757 { 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 } } },
5758 { 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 } } },
5759 { CRISV32F_INSN_ADDSCBR, model_crisv32_addscbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5760 { CRISV32F_INSN_ADDSCWR, model_crisv32_addscwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5761 { CRISV32F_INSN_ADDU_B_R, model_crisv32_addu_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5762 { CRISV32F_INSN_ADDU_W_R, model_crisv32_addu_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5763 { 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 } } },
5764 { 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 } } },
5765 { CRISV32F_INSN_ADDUCBR, model_crisv32_adducbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5766 { CRISV32F_INSN_ADDUCWR, model_crisv32_adducwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5767 { CRISV32F_INSN_SUB_B_R, model_crisv32_sub_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5768 { CRISV32F_INSN_SUB_W_R, model_crisv32_sub_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5769 { CRISV32F_INSN_SUB_D_R, model_crisv32_sub_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5770 { 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 } } },
5771 { 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 } } },
5772 { 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 } } },
5773 { CRISV32F_INSN_SUBCBR, model_crisv32_subcbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5774 { CRISV32F_INSN_SUBCWR, model_crisv32_subcwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5775 { CRISV32F_INSN_SUBCDR, model_crisv32_subcdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5776 { CRISV32F_INSN_SUBS_B_R, model_crisv32_subs_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5777 { CRISV32F_INSN_SUBS_W_R, model_crisv32_subs_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5778 { 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 } } },
5779 { 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 } } },
5780 { CRISV32F_INSN_SUBSCBR, model_crisv32_subscbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5781 { CRISV32F_INSN_SUBSCWR, model_crisv32_subscwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5782 { CRISV32F_INSN_SUBU_B_R, model_crisv32_subu_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5783 { CRISV32F_INSN_SUBU_W_R, model_crisv32_subu_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5784 { 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 } } },
5785 { 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 } } },
5786 { CRISV32F_INSN_SUBUCBR, model_crisv32_subucbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5787 { CRISV32F_INSN_SUBUCWR, model_crisv32_subucwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5788 { CRISV32F_INSN_ADDC_R, model_crisv32_addc_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5789 { 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 } } },
5790 { CRISV32F_INSN_ADDC_C, model_crisv32_addc_c, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5791 { CRISV32F_INSN_LAPC_D, model_crisv32_lapc_d, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5792 { CRISV32F_INSN_LAPCQ, model_crisv32_lapcq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5793 { CRISV32F_INSN_ADDI_B_R, model_crisv32_addi_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5794 { CRISV32F_INSN_ADDI_W_R, model_crisv32_addi_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5795 { CRISV32F_INSN_ADDI_D_R, model_crisv32_addi_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5796 { CRISV32F_INSN_NEG_B_R, model_crisv32_neg_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5797 { CRISV32F_INSN_NEG_W_R, model_crisv32_neg_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5798 { CRISV32F_INSN_NEG_D_R, model_crisv32_neg_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5799 { 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 } } },
5800 { 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 } } },
5801 { 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 } } },
5802 { 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 } } },
5803 { 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 } } },
5804 { 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 } } },
5805 { CRISV32F_INSN_MULS_B, model_crisv32_muls_b, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5806 { CRISV32F_INSN_MULS_W, model_crisv32_muls_w, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5807 { CRISV32F_INSN_MULS_D, model_crisv32_muls_d, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5808 { CRISV32F_INSN_MULU_B, model_crisv32_mulu_b, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5809 { CRISV32F_INSN_MULU_W, model_crisv32_mulu_w, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5810 { CRISV32F_INSN_MULU_D, model_crisv32_mulu_d, { { (int) UNIT_CRISV32_U_MULTIPLY, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5811 { CRISV32F_INSN_MCP, model_crisv32_mcp, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5812 { CRISV32F_INSN_DSTEP, model_crisv32_dstep, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5813 { CRISV32F_INSN_ABS, model_crisv32_abs, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5814 { CRISV32F_INSN_AND_B_R, model_crisv32_and_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5815 { CRISV32F_INSN_AND_W_R, model_crisv32_and_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5816 { CRISV32F_INSN_AND_D_R, model_crisv32_and_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5817 { 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 } } },
5818 { 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 } } },
5819 { 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 } } },
5820 { CRISV32F_INSN_ANDCBR, model_crisv32_andcbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5821 { CRISV32F_INSN_ANDCWR, model_crisv32_andcwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5822 { CRISV32F_INSN_ANDCDR, model_crisv32_andcdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5823 { CRISV32F_INSN_ANDQ, model_crisv32_andq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5824 { CRISV32F_INSN_ORR_B_R, model_crisv32_orr_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5825 { CRISV32F_INSN_ORR_W_R, model_crisv32_orr_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5826 { CRISV32F_INSN_ORR_D_R, model_crisv32_orr_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5827 { 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 } } },
5828 { 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 } } },
5829 { 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 } } },
5830 { CRISV32F_INSN_ORCBR, model_crisv32_orcbr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5831 { CRISV32F_INSN_ORCWR, model_crisv32_orcwr, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5832 { CRISV32F_INSN_ORCDR, model_crisv32_orcdr, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5833 { CRISV32F_INSN_ORQ, model_crisv32_orq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5834 { CRISV32F_INSN_XOR, model_crisv32_xor, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5835 { CRISV32F_INSN_SWAP, model_crisv32_swap, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5836 { CRISV32F_INSN_ASRR_B_R, model_crisv32_asrr_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5837 { CRISV32F_INSN_ASRR_W_R, model_crisv32_asrr_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5838 { CRISV32F_INSN_ASRR_D_R, model_crisv32_asrr_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5839 { CRISV32F_INSN_ASRQ, model_crisv32_asrq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5840 { CRISV32F_INSN_LSRR_B_R, model_crisv32_lsrr_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5841 { CRISV32F_INSN_LSRR_W_R, model_crisv32_lsrr_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5842 { CRISV32F_INSN_LSRR_D_R, model_crisv32_lsrr_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5843 { CRISV32F_INSN_LSRQ, model_crisv32_lsrq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5844 { CRISV32F_INSN_LSLR_B_R, model_crisv32_lslr_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5845 { CRISV32F_INSN_LSLR_W_R, model_crisv32_lslr_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5846 { CRISV32F_INSN_LSLR_D_R, model_crisv32_lslr_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5847 { CRISV32F_INSN_LSLQ, model_crisv32_lslq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5848 { CRISV32F_INSN_BTST, model_crisv32_btst, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5849 { CRISV32F_INSN_BTSTQ, model_crisv32_btstq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5850 { CRISV32F_INSN_SETF, model_crisv32_setf, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5851 { CRISV32F_INSN_CLEARF, model_crisv32_clearf, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5852 { CRISV32F_INSN_RFE, model_crisv32_rfe, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5853 { CRISV32F_INSN_SFE, model_crisv32_sfe, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5854 { CRISV32F_INSN_RFG, model_crisv32_rfg, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5855 { CRISV32F_INSN_RFN, model_crisv32_rfn, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5856 { CRISV32F_INSN_HALT, model_crisv32_halt, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5857 { CRISV32F_INSN_BCC_B, model_crisv32_bcc_b, { { (int) UNIT_CRISV32_U_BRANCH, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5858 { CRISV32F_INSN_BA_B, model_crisv32_ba_b, { { (int) UNIT_CRISV32_U_JUMP, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5859 { 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 } } },
5860 { 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 } } },
5861 { 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 } } },
5862 { 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 } } },
5863 { CRISV32F_INSN_JUMP_P, model_crisv32_jump_p, { { (int) UNIT_CRISV32_U_JUMP_SR, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5864 { 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 } } },
5865 { 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 } } },
5866 { 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 } } },
5867 { 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 } } },
5868 { CRISV32F_INSN_BREAK, model_crisv32_break, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5869 { CRISV32F_INSN_BOUND_R_B_R, model_crisv32_bound_r_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5870 { CRISV32F_INSN_BOUND_R_W_R, model_crisv32_bound_r_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5871 { CRISV32F_INSN_BOUND_R_D_R, model_crisv32_bound_r_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5872 { CRISV32F_INSN_BOUND_CB, model_crisv32_bound_cb, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5873 { CRISV32F_INSN_BOUND_CW, model_crisv32_bound_cw, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5874 { CRISV32F_INSN_BOUND_CD, model_crisv32_bound_cd, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5875 { CRISV32F_INSN_SCC, model_crisv32_scc, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5876 { CRISV32F_INSN_LZ, model_crisv32_lz, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5877 { CRISV32F_INSN_ADDOQ, model_crisv32_addoq, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5878 { 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 } } },
5879 { 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 } } },
5880 { 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 } } },
5881 { CRISV32F_INSN_ADDO_CB, model_crisv32_addo_cb, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5882 { CRISV32F_INSN_ADDO_CW, model_crisv32_addo_cw, { { (int) UNIT_CRISV32_U_CONST16, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5883 { CRISV32F_INSN_ADDO_CD, model_crisv32_addo_cd, { { (int) UNIT_CRISV32_U_CONST32, 1, 1 }, { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5884 { CRISV32F_INSN_ADDI_ACR_B_R, model_crisv32_addi_acr_b_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5885 { CRISV32F_INSN_ADDI_ACR_W_R, model_crisv32_addi_acr_w_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5886 { CRISV32F_INSN_ADDI_ACR_D_R, model_crisv32_addi_acr_d_r, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5887 { CRISV32F_INSN_FIDXI, model_crisv32_fidxi, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5888 { CRISV32F_INSN_FTAGI, model_crisv32_ftagi, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5889 { CRISV32F_INSN_FIDXD, model_crisv32_fidxd, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5890 { CRISV32F_INSN_FTAGD, model_crisv32_ftagd, { { (int) UNIT_CRISV32_U_EXEC, 1, 1 } } },
5893 #endif /* WITH_PROFILE_MODEL_P */
5896 crisv32_model_init (SIM_CPU *cpu)
5898 CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_CRISV32_DATA));
5901 #if WITH_PROFILE_MODEL_P
5902 #define TIMING_DATA(td) td
5904 #define TIMING_DATA(td) 0
5907 static const MODEL crisv32_models[] =
5909 { "crisv32", & crisv32_mach, MODEL_CRISV32, TIMING_DATA (& crisv32_timing[0]), crisv32_model_init },
5913 /* The properties of this cpu's implementation. */
5915 static const MACH_IMP_PROPERTIES crisv32f_imp_properties =
5927 crisv32f_prepare_run (SIM_CPU *cpu)
5929 if (CPU_IDESC (cpu) == NULL)
5930 crisv32f_init_idesc_table (cpu);
5933 static const CGEN_INSN *
5934 crisv32f_get_idata (SIM_CPU *cpu, int inum)
5936 return CPU_IDESC (cpu) [inum].idata;
5940 crisv32_init_cpu (SIM_CPU *cpu)
5942 CPU_REG_FETCH (cpu) = crisv32f_fetch_register;
5943 CPU_REG_STORE (cpu) = crisv32f_store_register;
5944 CPU_PC_FETCH (cpu) = crisv32f_h_pc_get;
5945 CPU_PC_STORE (cpu) = crisv32f_h_pc_set;
5946 CPU_GET_IDATA (cpu) = crisv32f_get_idata;
5947 CPU_MAX_INSNS (cpu) = CRISV32F_INSN__MAX;
5948 CPU_INSN_NAME (cpu) = cgen_insn_name;
5949 CPU_FULL_ENGINE_FN (cpu) = crisv32f_engine_run_full;
5951 CPU_FAST_ENGINE_FN (cpu) = crisv32f_engine_run_fast;
5953 CPU_FAST_ENGINE_FN (cpu) = crisv32f_engine_run_full;
5957 const MACH crisv32_mach =
5959 "crisv32", "crisv32", MACH_CRISV32,
5960 32, 32, & crisv32_models[0], & crisv32f_imp_properties,
5962 crisv32f_prepare_run