1 /* Simulator model support for crisv10f.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996-2004 Free Software Foundation, Inc.
7 This file is part of the GNU simulators.
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, write to the Free Software Foundation, Inc.,
21 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 #define WANT_CPU crisv10f
26 #define WANT_CPU_CRISV10F
30 /* The profiling data is recorded here, but is accessed via the profiling
31 mechanism. After all, this is information for profiling. */
33 #if WITH_PROFILE_MODEL_P
35 /* Model handlers for each insn. */
38 model_crisv10_nop (SIM_CPU
*current_cpu
, void *sem_arg
)
40 #define FLD(f) abuf->fields.fmt_empty.f
41 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
42 const IDESC
* UNUSED idesc
= abuf
->idesc
;
46 int UNUSED insn_referenced
= abuf
->written
;
47 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
54 model_crisv10_move_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
56 #define FLD(f) abuf->fields.sfmt_add_b_r.f
57 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
58 const IDESC
* UNUSED idesc
= abuf
->idesc
;
62 int UNUSED insn_referenced
= abuf
->written
;
63 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
70 model_crisv10_move_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
72 #define FLD(f) abuf->fields.sfmt_add_b_r.f
73 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
74 const IDESC
* UNUSED idesc
= abuf
->idesc
;
78 int UNUSED insn_referenced
= abuf
->written
;
79 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
86 model_crisv10_move_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
88 #define FLD(f) abuf->fields.sfmt_add_b_r.f
89 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
90 const IDESC
* UNUSED idesc
= abuf
->idesc
;
94 int UNUSED insn_referenced
= abuf
->written
;
95 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
102 model_crisv10_movepcr (SIM_CPU
*current_cpu
, void *sem_arg
)
104 #define FLD(f) abuf->fields.sfmt_moveq.f
105 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
106 const IDESC
* UNUSED idesc
= abuf
->idesc
;
110 int UNUSED insn_referenced
= abuf
->written
;
111 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
118 model_crisv10_moveq (SIM_CPU
*current_cpu
, void *sem_arg
)
120 #define FLD(f) abuf->fields.sfmt_moveq.f
121 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
122 const IDESC
* UNUSED idesc
= abuf
->idesc
;
126 int UNUSED insn_referenced
= abuf
->written
;
127 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
134 model_crisv10_movs_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
136 #define FLD(f) abuf->fields.sfmt_muls_b.f
137 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
138 const IDESC
* UNUSED idesc
= abuf
->idesc
;
142 int UNUSED insn_referenced
= abuf
->written
;
143 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
150 model_crisv10_movs_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
152 #define FLD(f) abuf->fields.sfmt_muls_b.f
153 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
154 const IDESC
* UNUSED idesc
= abuf
->idesc
;
158 int UNUSED insn_referenced
= abuf
->written
;
159 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
166 model_crisv10_movu_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
168 #define FLD(f) abuf->fields.sfmt_muls_b.f
169 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
170 const IDESC
* UNUSED idesc
= abuf
->idesc
;
174 int UNUSED insn_referenced
= abuf
->written
;
175 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
182 model_crisv10_movu_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
184 #define FLD(f) abuf->fields.sfmt_muls_b.f
185 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
186 const IDESC
* UNUSED idesc
= abuf
->idesc
;
190 int UNUSED insn_referenced
= abuf
->written
;
191 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
198 model_crisv10_movecbr (SIM_CPU
*current_cpu
, void *sem_arg
)
200 #define FLD(f) abuf->fields.sfmt_addcbr.f
201 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
202 const IDESC
* UNUSED idesc
= abuf
->idesc
;
206 int UNUSED insn_referenced
= abuf
->written
;
207 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
211 int UNUSED insn_referenced
= abuf
->written
;
212 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
219 model_crisv10_movecwr (SIM_CPU
*current_cpu
, void *sem_arg
)
221 #define FLD(f) abuf->fields.sfmt_addcwr.f
222 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
223 const IDESC
* UNUSED idesc
= abuf
->idesc
;
227 int UNUSED insn_referenced
= abuf
->written
;
228 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
232 int UNUSED insn_referenced
= abuf
->written
;
233 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
240 model_crisv10_movecdr (SIM_CPU
*current_cpu
, void *sem_arg
)
242 #define FLD(f) abuf->fields.sfmt_bound_cd.f
243 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
244 const IDESC
* UNUSED idesc
= abuf
->idesc
;
248 int UNUSED insn_referenced
= abuf
->written
;
249 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
253 int UNUSED insn_referenced
= abuf
->written
;
254 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
261 model_crisv10_movscbr (SIM_CPU
*current_cpu
, void *sem_arg
)
263 #define FLD(f) abuf->fields.sfmt_bound_cb.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
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
274 int UNUSED insn_referenced
= abuf
->written
;
275 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
282 model_crisv10_movscwr (SIM_CPU
*current_cpu
, void *sem_arg
)
284 #define FLD(f) abuf->fields.sfmt_bound_cw.f
285 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
286 const IDESC
* UNUSED idesc
= abuf
->idesc
;
290 int UNUSED insn_referenced
= abuf
->written
;
291 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
295 int UNUSED insn_referenced
= abuf
->written
;
296 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
303 model_crisv10_movucbr (SIM_CPU
*current_cpu
, void *sem_arg
)
305 #define FLD(f) abuf->fields.sfmt_bound_cb.f
306 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
307 const IDESC
* UNUSED idesc
= abuf
->idesc
;
311 int UNUSED insn_referenced
= abuf
->written
;
312 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
316 int UNUSED insn_referenced
= abuf
->written
;
317 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
324 model_crisv10_movucwr (SIM_CPU
*current_cpu
, void *sem_arg
)
326 #define FLD(f) abuf->fields.sfmt_bound_cw.f
327 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
328 const IDESC
* UNUSED idesc
= abuf
->idesc
;
332 int UNUSED insn_referenced
= abuf
->written
;
333 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
337 int UNUSED insn_referenced
= abuf
->written
;
338 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
345 model_crisv10_addq (SIM_CPU
*current_cpu
, void *sem_arg
)
347 #define FLD(f) abuf->fields.sfmt_addq.f
348 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
349 const IDESC
* UNUSED idesc
= abuf
->idesc
;
353 int UNUSED insn_referenced
= abuf
->written
;
354 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
361 model_crisv10_subq (SIM_CPU
*current_cpu
, void *sem_arg
)
363 #define FLD(f) abuf->fields.sfmt_addq.f
364 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
365 const IDESC
* UNUSED idesc
= abuf
->idesc
;
369 int UNUSED insn_referenced
= abuf
->written
;
370 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
377 model_crisv10_cmp_r_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
379 #define FLD(f) abuf->fields.sfmt_add_b_r.f
380 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
381 const IDESC
* UNUSED idesc
= abuf
->idesc
;
385 int UNUSED insn_referenced
= abuf
->written
;
386 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
393 model_crisv10_cmp_r_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
395 #define FLD(f) abuf->fields.sfmt_add_b_r.f
396 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
397 const IDESC
* UNUSED idesc
= abuf
->idesc
;
401 int UNUSED insn_referenced
= abuf
->written
;
402 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
409 model_crisv10_cmp_r_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
411 #define FLD(f) abuf->fields.sfmt_add_b_r.f
412 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
413 const IDESC
* UNUSED idesc
= abuf
->idesc
;
417 int UNUSED insn_referenced
= abuf
->written
;
418 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
425 model_crisv10_cmp_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
427 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
428 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
429 const IDESC
* UNUSED idesc
= abuf
->idesc
;
433 int UNUSED insn_referenced
= abuf
->written
;
434 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
438 int UNUSED insn_referenced
= abuf
->written
;
439 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
446 model_crisv10_cmp_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
448 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
449 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
450 const IDESC
* UNUSED idesc
= abuf
->idesc
;
454 int UNUSED insn_referenced
= abuf
->written
;
455 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
459 int UNUSED insn_referenced
= abuf
->written
;
460 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
467 model_crisv10_cmp_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
469 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
470 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
471 const IDESC
* UNUSED idesc
= abuf
->idesc
;
475 int UNUSED insn_referenced
= abuf
->written
;
476 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
480 int UNUSED insn_referenced
= abuf
->written
;
481 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
488 model_crisv10_cmpcbr (SIM_CPU
*current_cpu
, void *sem_arg
)
490 #define FLD(f) abuf->fields.sfmt_bound_cb.f
491 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
492 const IDESC
* UNUSED idesc
= abuf
->idesc
;
496 int UNUSED insn_referenced
= abuf
->written
;
497 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
501 int UNUSED insn_referenced
= abuf
->written
;
502 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
509 model_crisv10_cmpcwr (SIM_CPU
*current_cpu
, void *sem_arg
)
511 #define FLD(f) abuf->fields.sfmt_bound_cw.f
512 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
513 const IDESC
* UNUSED idesc
= abuf
->idesc
;
517 int UNUSED insn_referenced
= abuf
->written
;
518 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
522 int UNUSED insn_referenced
= abuf
->written
;
523 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
530 model_crisv10_cmpcdr (SIM_CPU
*current_cpu
, void *sem_arg
)
532 #define FLD(f) abuf->fields.sfmt_bound_cd.f
533 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
534 const IDESC
* UNUSED idesc
= abuf
->idesc
;
538 int UNUSED insn_referenced
= abuf
->written
;
539 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
543 int UNUSED insn_referenced
= abuf
->written
;
544 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
551 model_crisv10_cmpq (SIM_CPU
*current_cpu
, void *sem_arg
)
553 #define FLD(f) abuf->fields.sfmt_andq.f
554 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
555 const IDESC
* UNUSED idesc
= abuf
->idesc
;
559 int UNUSED insn_referenced
= abuf
->written
;
560 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
567 model_crisv10_cmps_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
569 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
570 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
571 const IDESC
* UNUSED idesc
= abuf
->idesc
;
575 int UNUSED insn_referenced
= abuf
->written
;
576 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
580 int UNUSED insn_referenced
= abuf
->written
;
581 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
588 model_crisv10_cmps_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
590 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
591 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
592 const IDESC
* UNUSED idesc
= abuf
->idesc
;
596 int UNUSED insn_referenced
= abuf
->written
;
597 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
601 int UNUSED insn_referenced
= abuf
->written
;
602 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
609 model_crisv10_cmpscbr (SIM_CPU
*current_cpu
, void *sem_arg
)
611 #define FLD(f) abuf->fields.sfmt_bound_cb.f
612 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
613 const IDESC
* UNUSED idesc
= abuf
->idesc
;
617 int UNUSED insn_referenced
= abuf
->written
;
618 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
622 int UNUSED insn_referenced
= abuf
->written
;
623 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
630 model_crisv10_cmpscwr (SIM_CPU
*current_cpu
, void *sem_arg
)
632 #define FLD(f) abuf->fields.sfmt_bound_cw.f
633 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
634 const IDESC
* UNUSED idesc
= abuf
->idesc
;
638 int UNUSED insn_referenced
= abuf
->written
;
639 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
643 int UNUSED insn_referenced
= abuf
->written
;
644 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
651 model_crisv10_cmpu_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
653 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
654 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
655 const IDESC
* UNUSED idesc
= abuf
->idesc
;
659 int UNUSED insn_referenced
= abuf
->written
;
660 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
664 int UNUSED insn_referenced
= abuf
->written
;
665 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
672 model_crisv10_cmpu_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
674 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
675 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
676 const IDESC
* UNUSED idesc
= abuf
->idesc
;
680 int UNUSED insn_referenced
= abuf
->written
;
681 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
685 int UNUSED insn_referenced
= abuf
->written
;
686 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
693 model_crisv10_cmpucbr (SIM_CPU
*current_cpu
, void *sem_arg
)
695 #define FLD(f) abuf->fields.sfmt_bound_cb.f
696 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
697 const IDESC
* UNUSED idesc
= abuf
->idesc
;
701 int UNUSED insn_referenced
= abuf
->written
;
702 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
706 int UNUSED insn_referenced
= abuf
->written
;
707 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
714 model_crisv10_cmpucwr (SIM_CPU
*current_cpu
, void *sem_arg
)
716 #define FLD(f) abuf->fields.sfmt_bound_cw.f
717 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
718 const IDESC
* UNUSED idesc
= abuf
->idesc
;
722 int UNUSED insn_referenced
= abuf
->written
;
723 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
727 int UNUSED insn_referenced
= abuf
->written
;
728 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
735 model_crisv10_move_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
737 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
738 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
739 const IDESC
* UNUSED idesc
= abuf
->idesc
;
743 int UNUSED insn_referenced
= abuf
->written
;
744 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
748 int UNUSED insn_referenced
= abuf
->written
;
749 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
756 model_crisv10_move_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
758 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
759 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
760 const IDESC
* UNUSED idesc
= abuf
->idesc
;
764 int UNUSED insn_referenced
= abuf
->written
;
765 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
769 int UNUSED insn_referenced
= abuf
->written
;
770 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
777 model_crisv10_move_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
779 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
780 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
781 const IDESC
* UNUSED idesc
= abuf
->idesc
;
785 int UNUSED insn_referenced
= abuf
->written
;
786 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
790 int UNUSED insn_referenced
= abuf
->written
;
791 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
798 model_crisv10_movs_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
800 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
801 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
802 const IDESC
* UNUSED idesc
= abuf
->idesc
;
806 int UNUSED insn_referenced
= abuf
->written
;
807 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
811 int UNUSED insn_referenced
= abuf
->written
;
812 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
819 model_crisv10_movs_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
821 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
822 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
823 const IDESC
* UNUSED idesc
= abuf
->idesc
;
827 int UNUSED insn_referenced
= abuf
->written
;
828 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
832 int UNUSED insn_referenced
= abuf
->written
;
833 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
840 model_crisv10_movu_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
842 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
843 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
844 const IDESC
* UNUSED idesc
= abuf
->idesc
;
848 int UNUSED insn_referenced
= abuf
->written
;
849 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
853 int UNUSED insn_referenced
= abuf
->written
;
854 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
861 model_crisv10_movu_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
863 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
864 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
865 const IDESC
* UNUSED idesc
= abuf
->idesc
;
869 int UNUSED insn_referenced
= abuf
->written
;
870 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
874 int UNUSED insn_referenced
= abuf
->written
;
875 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
882 model_crisv10_move_r_sprv10 (SIM_CPU
*current_cpu
, void *sem_arg
)
884 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
885 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
886 const IDESC
* UNUSED idesc
= abuf
->idesc
;
890 int UNUSED insn_referenced
= abuf
->written
;
891 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
898 model_crisv10_move_spr_rv10 (SIM_CPU
*current_cpu
, void *sem_arg
)
900 #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f
901 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
902 const IDESC
* UNUSED idesc
= abuf
->idesc
;
906 int UNUSED insn_referenced
= abuf
->written
;
907 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
914 model_crisv10_ret_type (SIM_CPU
*current_cpu
, void *sem_arg
)
916 #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f
917 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
918 const IDESC
* UNUSED idesc
= abuf
->idesc
;
922 int UNUSED insn_referenced
= abuf
->written
;
923 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
930 model_crisv10_move_m_sprv10 (SIM_CPU
*current_cpu
, void *sem_arg
)
932 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
933 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
934 const IDESC
* UNUSED idesc
= abuf
->idesc
;
938 int UNUSED insn_referenced
= abuf
->written
;
939 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
943 int UNUSED insn_referenced
= abuf
->written
;
944 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
951 model_crisv10_move_c_sprv10_p0 (SIM_CPU
*current_cpu
, void *sem_arg
)
953 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p0.f
954 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
955 const IDESC
* UNUSED idesc
= abuf
->idesc
;
959 int UNUSED insn_referenced
= abuf
->written
;
960 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
964 int UNUSED insn_referenced
= abuf
->written
;
965 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
972 model_crisv10_move_c_sprv10_p1 (SIM_CPU
*current_cpu
, void *sem_arg
)
974 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p0.f
975 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
976 const IDESC
* UNUSED idesc
= abuf
->idesc
;
980 int UNUSED insn_referenced
= abuf
->written
;
981 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
985 int UNUSED insn_referenced
= abuf
->written
;
986 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
993 model_crisv10_move_c_sprv10_p4 (SIM_CPU
*current_cpu
, void *sem_arg
)
995 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p4.f
996 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
997 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1001 int UNUSED insn_referenced
= abuf
->written
;
1002 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1006 int UNUSED insn_referenced
= abuf
->written
;
1007 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1014 model_crisv10_move_c_sprv10_p5 (SIM_CPU
*current_cpu
, void *sem_arg
)
1016 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p4.f
1017 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1018 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1022 int UNUSED insn_referenced
= abuf
->written
;
1023 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1027 int UNUSED insn_referenced
= abuf
->written
;
1028 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1035 model_crisv10_move_c_sprv10_p8 (SIM_CPU
*current_cpu
, void *sem_arg
)
1037 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
1038 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1039 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1043 int UNUSED insn_referenced
= abuf
->written
;
1044 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1048 int UNUSED insn_referenced
= abuf
->written
;
1049 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1056 model_crisv10_move_c_sprv10_p9 (SIM_CPU
*current_cpu
, void *sem_arg
)
1058 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
1059 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1060 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1064 int UNUSED insn_referenced
= abuf
->written
;
1065 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1069 int UNUSED insn_referenced
= abuf
->written
;
1070 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1077 model_crisv10_move_c_sprv10_p10 (SIM_CPU
*current_cpu
, void *sem_arg
)
1079 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
1080 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1081 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1085 int UNUSED insn_referenced
= abuf
->written
;
1086 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1090 int UNUSED insn_referenced
= abuf
->written
;
1091 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1098 model_crisv10_move_c_sprv10_p11 (SIM_CPU
*current_cpu
, void *sem_arg
)
1100 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
1101 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1102 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1106 int UNUSED insn_referenced
= abuf
->written
;
1107 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1111 int UNUSED insn_referenced
= abuf
->written
;
1112 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1119 model_crisv10_move_c_sprv10_p12 (SIM_CPU
*current_cpu
, void *sem_arg
)
1121 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
1122 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1123 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1127 int UNUSED insn_referenced
= abuf
->written
;
1128 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1132 int UNUSED insn_referenced
= abuf
->written
;
1133 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1140 model_crisv10_move_c_sprv10_p13 (SIM_CPU
*current_cpu
, void *sem_arg
)
1142 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
1143 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1144 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1148 int UNUSED insn_referenced
= abuf
->written
;
1149 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1153 int UNUSED insn_referenced
= abuf
->written
;
1154 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1161 model_crisv10_move_c_sprv10_p7 (SIM_CPU
*current_cpu
, void *sem_arg
)
1163 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
1164 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1165 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1169 int UNUSED insn_referenced
= abuf
->written
;
1170 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1174 int UNUSED insn_referenced
= abuf
->written
;
1175 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1182 model_crisv10_move_c_sprv10_p14 (SIM_CPU
*current_cpu
, void *sem_arg
)
1184 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
1185 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1186 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1190 int UNUSED insn_referenced
= abuf
->written
;
1191 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1195 int UNUSED insn_referenced
= abuf
->written
;
1196 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1203 model_crisv10_move_c_sprv10_p15 (SIM_CPU
*current_cpu
, void *sem_arg
)
1205 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.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
;
1212 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1216 int UNUSED insn_referenced
= abuf
->written
;
1217 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1224 model_crisv10_move_spr_mv10 (SIM_CPU
*current_cpu
, void *sem_arg
)
1226 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
1227 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1228 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1232 int UNUSED insn_referenced
= abuf
->written
;
1233 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1237 int UNUSED insn_referenced
= abuf
->written
;
1238 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1245 model_crisv10_sbfs (SIM_CPU
*current_cpu
, void *sem_arg
)
1247 #define FLD(f) abuf->fields.fmt_empty.f
1248 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1249 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1253 int UNUSED insn_referenced
= abuf
->written
;
1254 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1261 model_crisv10_movem_r_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1263 #define FLD(f) abuf->fields.sfmt_movem_r_m.f
1264 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1265 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1269 int UNUSED insn_referenced
= abuf
->written
;
1271 in_Rd
= FLD (in_Rd
);
1272 referenced
|= 1 << 0;
1273 cycles
+= crisv10f_model_crisv10_u_movem (current_cpu
, idesc
, 0, referenced
, in_Rd
);
1277 int UNUSED insn_referenced
= abuf
->written
;
1278 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1285 model_crisv10_movem_m_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1287 #define FLD(f) abuf->fields.sfmt_movem_m_r.f
1288 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1289 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1293 int UNUSED insn_referenced
= abuf
->written
;
1295 in_Rd
= FLD (in_Rd
);
1296 referenced
|= 1 << 0;
1297 cycles
+= crisv10f_model_crisv10_u_movem (current_cpu
, idesc
, 0, referenced
, in_Rd
);
1301 int UNUSED insn_referenced
= abuf
->written
;
1302 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1309 model_crisv10_movem_m_pc (SIM_CPU
*current_cpu
, void *sem_arg
)
1311 #define FLD(f) abuf->fields.sfmt_movem_m_r.f
1312 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1313 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1317 int UNUSED insn_referenced
= abuf
->written
;
1318 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1322 int UNUSED insn_referenced
= abuf
->written
;
1323 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1330 model_crisv10_add_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1332 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1333 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1334 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1338 int UNUSED insn_referenced
= abuf
->written
;
1339 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1346 model_crisv10_add_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1348 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1349 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1350 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1354 int UNUSED insn_referenced
= abuf
->written
;
1355 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1362 model_crisv10_add_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1364 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1365 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1366 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1370 int UNUSED insn_referenced
= abuf
->written
;
1371 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1378 model_crisv10_add_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1380 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1381 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1382 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1386 int UNUSED insn_referenced
= abuf
->written
;
1387 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1391 int UNUSED insn_referenced
= abuf
->written
;
1392 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1399 model_crisv10_add_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1401 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1402 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1403 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1407 int UNUSED insn_referenced
= abuf
->written
;
1408 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1412 int UNUSED insn_referenced
= abuf
->written
;
1413 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1420 model_crisv10_add_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1422 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1423 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1424 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1428 int UNUSED insn_referenced
= abuf
->written
;
1429 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1433 int UNUSED insn_referenced
= abuf
->written
;
1434 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1441 model_crisv10_addcbr (SIM_CPU
*current_cpu
, void *sem_arg
)
1443 #define FLD(f) abuf->fields.sfmt_addcbr.f
1444 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1445 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1449 int UNUSED insn_referenced
= abuf
->written
;
1450 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1454 int UNUSED insn_referenced
= abuf
->written
;
1455 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1462 model_crisv10_addcwr (SIM_CPU
*current_cpu
, void *sem_arg
)
1464 #define FLD(f) abuf->fields.sfmt_addcwr.f
1465 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1466 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1470 int UNUSED insn_referenced
= abuf
->written
;
1471 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1475 int UNUSED insn_referenced
= abuf
->written
;
1476 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1483 model_crisv10_addcdr (SIM_CPU
*current_cpu
, void *sem_arg
)
1485 #define FLD(f) abuf->fields.sfmt_addcdr.f
1486 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1487 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1491 int UNUSED insn_referenced
= abuf
->written
;
1492 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1496 int UNUSED insn_referenced
= abuf
->written
;
1497 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1504 model_crisv10_addcpc (SIM_CPU
*current_cpu
, void *sem_arg
)
1506 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.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
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1517 int UNUSED insn_referenced
= abuf
->written
;
1518 cycles
+= crisv10f_model_crisv10_u_stall (current_cpu
, idesc
, 1, referenced
);
1522 int UNUSED insn_referenced
= abuf
->written
;
1523 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 2, referenced
);
1530 model_crisv10_adds_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1532 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1533 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1534 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1538 int UNUSED insn_referenced
= abuf
->written
;
1539 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1546 model_crisv10_adds_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1548 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1549 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1550 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1554 int UNUSED insn_referenced
= abuf
->written
;
1555 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1562 model_crisv10_adds_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1564 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1565 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1566 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1570 int UNUSED insn_referenced
= abuf
->written
;
1571 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1575 int UNUSED insn_referenced
= abuf
->written
;
1576 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1583 model_crisv10_adds_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1585 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1586 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1587 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1591 int UNUSED insn_referenced
= abuf
->written
;
1592 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1596 int UNUSED insn_referenced
= abuf
->written
;
1597 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1604 model_crisv10_addscbr (SIM_CPU
*current_cpu
, void *sem_arg
)
1606 #define FLD(f) abuf->fields.sfmt_addcbr.f
1607 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1608 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1612 int UNUSED insn_referenced
= abuf
->written
;
1613 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1617 int UNUSED insn_referenced
= abuf
->written
;
1618 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1625 model_crisv10_addscwr (SIM_CPU
*current_cpu
, void *sem_arg
)
1627 #define FLD(f) abuf->fields.sfmt_addcwr.f
1628 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1629 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1633 int UNUSED insn_referenced
= abuf
->written
;
1634 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1638 int UNUSED insn_referenced
= abuf
->written
;
1639 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1646 model_crisv10_addspcpc (SIM_CPU
*current_cpu
, void *sem_arg
)
1648 #define FLD(f) abuf->fields.fmt_empty.f
1649 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1650 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1654 int UNUSED insn_referenced
= abuf
->written
;
1655 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1659 int UNUSED insn_referenced
= abuf
->written
;
1660 cycles
+= crisv10f_model_crisv10_u_stall (current_cpu
, idesc
, 1, referenced
);
1664 int UNUSED insn_referenced
= abuf
->written
;
1665 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 2, referenced
);
1672 model_crisv10_addu_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1674 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1675 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1676 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1680 int UNUSED insn_referenced
= abuf
->written
;
1681 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1688 model_crisv10_addu_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1690 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1691 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1692 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1696 int UNUSED insn_referenced
= abuf
->written
;
1697 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1704 model_crisv10_addu_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1706 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1707 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1708 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1712 int UNUSED insn_referenced
= abuf
->written
;
1713 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1717 int UNUSED insn_referenced
= abuf
->written
;
1718 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1725 model_crisv10_addu_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1727 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1728 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1729 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1733 int UNUSED insn_referenced
= abuf
->written
;
1734 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1738 int UNUSED insn_referenced
= abuf
->written
;
1739 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1746 model_crisv10_adducbr (SIM_CPU
*current_cpu
, void *sem_arg
)
1748 #define FLD(f) abuf->fields.sfmt_addcbr.f
1749 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1750 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1754 int UNUSED insn_referenced
= abuf
->written
;
1755 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1759 int UNUSED insn_referenced
= abuf
->written
;
1760 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1767 model_crisv10_adducwr (SIM_CPU
*current_cpu
, void *sem_arg
)
1769 #define FLD(f) abuf->fields.sfmt_addcwr.f
1770 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1771 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1775 int UNUSED insn_referenced
= abuf
->written
;
1776 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1780 int UNUSED insn_referenced
= abuf
->written
;
1781 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1788 model_crisv10_sub_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1790 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1791 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1792 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1796 int UNUSED insn_referenced
= abuf
->written
;
1797 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1804 model_crisv10_sub_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1806 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1807 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1808 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1812 int UNUSED insn_referenced
= abuf
->written
;
1813 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1820 model_crisv10_sub_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1822 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1823 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1824 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1828 int UNUSED insn_referenced
= abuf
->written
;
1829 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1836 model_crisv10_sub_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1838 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1839 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1840 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1844 int UNUSED insn_referenced
= abuf
->written
;
1845 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1849 int UNUSED insn_referenced
= abuf
->written
;
1850 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1857 model_crisv10_sub_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1859 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1860 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1861 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1865 int UNUSED insn_referenced
= abuf
->written
;
1866 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1870 int UNUSED insn_referenced
= abuf
->written
;
1871 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1878 model_crisv10_sub_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1880 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1881 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1882 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1886 int UNUSED insn_referenced
= abuf
->written
;
1887 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1891 int UNUSED insn_referenced
= abuf
->written
;
1892 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1899 model_crisv10_subcbr (SIM_CPU
*current_cpu
, void *sem_arg
)
1901 #define FLD(f) abuf->fields.sfmt_addcbr.f
1902 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1903 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1907 int UNUSED insn_referenced
= abuf
->written
;
1908 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1912 int UNUSED insn_referenced
= abuf
->written
;
1913 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1920 model_crisv10_subcwr (SIM_CPU
*current_cpu
, void *sem_arg
)
1922 #define FLD(f) abuf->fields.sfmt_addcwr.f
1923 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1924 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1928 int UNUSED insn_referenced
= abuf
->written
;
1929 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1933 int UNUSED insn_referenced
= abuf
->written
;
1934 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1941 model_crisv10_subcdr (SIM_CPU
*current_cpu
, void *sem_arg
)
1943 #define FLD(f) abuf->fields.sfmt_addcdr.f
1944 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1945 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1949 int UNUSED insn_referenced
= abuf
->written
;
1950 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1954 int UNUSED insn_referenced
= abuf
->written
;
1955 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1962 model_crisv10_subs_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1964 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1965 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1966 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1970 int UNUSED insn_referenced
= abuf
->written
;
1971 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1978 model_crisv10_subs_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1980 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1981 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1982 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1986 int UNUSED insn_referenced
= abuf
->written
;
1987 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1994 model_crisv10_subs_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1996 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1997 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1998 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2002 int UNUSED insn_referenced
= abuf
->written
;
2003 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2007 int UNUSED insn_referenced
= abuf
->written
;
2008 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2015 model_crisv10_subs_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2017 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2018 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2019 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2023 int UNUSED insn_referenced
= abuf
->written
;
2024 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2028 int UNUSED insn_referenced
= abuf
->written
;
2029 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2036 model_crisv10_subscbr (SIM_CPU
*current_cpu
, void *sem_arg
)
2038 #define FLD(f) abuf->fields.sfmt_addcbr.f
2039 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2040 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2044 int UNUSED insn_referenced
= abuf
->written
;
2045 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2049 int UNUSED insn_referenced
= abuf
->written
;
2050 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2057 model_crisv10_subscwr (SIM_CPU
*current_cpu
, void *sem_arg
)
2059 #define FLD(f) abuf->fields.sfmt_addcwr.f
2060 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2061 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2065 int UNUSED insn_referenced
= abuf
->written
;
2066 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2070 int UNUSED insn_referenced
= abuf
->written
;
2071 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2078 model_crisv10_subu_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2080 #define FLD(f) abuf->fields.sfmt_add_b_r.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
;
2087 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2094 model_crisv10_subu_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2096 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2097 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2098 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2102 int UNUSED insn_referenced
= abuf
->written
;
2103 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2110 model_crisv10_subu_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2112 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2113 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2114 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2118 int UNUSED insn_referenced
= abuf
->written
;
2119 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2123 int UNUSED insn_referenced
= abuf
->written
;
2124 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2131 model_crisv10_subu_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2133 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2134 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2135 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2139 int UNUSED insn_referenced
= abuf
->written
;
2140 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2144 int UNUSED insn_referenced
= abuf
->written
;
2145 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2152 model_crisv10_subucbr (SIM_CPU
*current_cpu
, void *sem_arg
)
2154 #define FLD(f) abuf->fields.sfmt_addcbr.f
2155 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2156 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2160 int UNUSED insn_referenced
= abuf
->written
;
2161 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2165 int UNUSED insn_referenced
= abuf
->written
;
2166 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2173 model_crisv10_subucwr (SIM_CPU
*current_cpu
, void *sem_arg
)
2175 #define FLD(f) abuf->fields.sfmt_addcwr.f
2176 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2177 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2181 int UNUSED insn_referenced
= abuf
->written
;
2182 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2186 int UNUSED insn_referenced
= abuf
->written
;
2187 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2194 model_crisv10_addi_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2196 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2197 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2198 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2202 int UNUSED insn_referenced
= abuf
->written
;
2203 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2210 model_crisv10_addi_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2212 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2213 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2214 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2218 int UNUSED insn_referenced
= abuf
->written
;
2219 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2226 model_crisv10_addi_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2228 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2229 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2230 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2234 int UNUSED insn_referenced
= abuf
->written
;
2235 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2242 model_crisv10_neg_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2244 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2245 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2246 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2250 int UNUSED insn_referenced
= abuf
->written
;
2251 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2258 model_crisv10_neg_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2260 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2261 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2262 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2266 int UNUSED insn_referenced
= abuf
->written
;
2267 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2274 model_crisv10_neg_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2276 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2277 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2278 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2282 int UNUSED insn_referenced
= abuf
->written
;
2283 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2290 model_crisv10_test_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2292 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
2293 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2294 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2298 int UNUSED insn_referenced
= abuf
->written
;
2299 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2303 int UNUSED insn_referenced
= abuf
->written
;
2304 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2311 model_crisv10_test_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2313 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
2314 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2315 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2319 int UNUSED insn_referenced
= abuf
->written
;
2320 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2324 int UNUSED insn_referenced
= abuf
->written
;
2325 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2332 model_crisv10_test_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2334 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
2335 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2336 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2340 int UNUSED insn_referenced
= abuf
->written
;
2341 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2345 int UNUSED insn_referenced
= abuf
->written
;
2346 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2353 model_crisv10_move_r_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2355 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2356 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2357 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2361 int UNUSED insn_referenced
= abuf
->written
;
2362 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2366 int UNUSED insn_referenced
= abuf
->written
;
2367 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2374 model_crisv10_move_r_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2376 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2377 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2378 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2382 int UNUSED insn_referenced
= abuf
->written
;
2383 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2387 int UNUSED insn_referenced
= abuf
->written
;
2388 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2395 model_crisv10_move_r_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2397 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2398 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2399 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2403 int UNUSED insn_referenced
= abuf
->written
;
2404 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2408 int UNUSED insn_referenced
= abuf
->written
;
2409 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2416 model_crisv10_muls_b (SIM_CPU
*current_cpu
, void *sem_arg
)
2418 #define FLD(f) abuf->fields.sfmt_muls_b.f
2419 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2420 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2424 int UNUSED insn_referenced
= abuf
->written
;
2425 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2429 int UNUSED insn_referenced
= abuf
->written
;
2430 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2437 model_crisv10_muls_w (SIM_CPU
*current_cpu
, void *sem_arg
)
2439 #define FLD(f) abuf->fields.sfmt_muls_b.f
2440 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2441 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2445 int UNUSED insn_referenced
= abuf
->written
;
2446 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2450 int UNUSED insn_referenced
= abuf
->written
;
2451 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2458 model_crisv10_muls_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2460 #define FLD(f) abuf->fields.sfmt_muls_b.f
2461 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2462 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2466 int UNUSED insn_referenced
= abuf
->written
;
2467 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2471 int UNUSED insn_referenced
= abuf
->written
;
2472 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2479 model_crisv10_mulu_b (SIM_CPU
*current_cpu
, void *sem_arg
)
2481 #define FLD(f) abuf->fields.sfmt_muls_b.f
2482 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2483 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2487 int UNUSED insn_referenced
= abuf
->written
;
2488 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2492 int UNUSED insn_referenced
= abuf
->written
;
2493 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2500 model_crisv10_mulu_w (SIM_CPU
*current_cpu
, void *sem_arg
)
2502 #define FLD(f) abuf->fields.sfmt_muls_b.f
2503 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2504 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2508 int UNUSED insn_referenced
= abuf
->written
;
2509 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2513 int UNUSED insn_referenced
= abuf
->written
;
2514 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2521 model_crisv10_mulu_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2523 #define FLD(f) abuf->fields.sfmt_muls_b.f
2524 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2525 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2529 int UNUSED insn_referenced
= abuf
->written
;
2530 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2534 int UNUSED insn_referenced
= abuf
->written
;
2535 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2542 model_crisv10_mstep (SIM_CPU
*current_cpu
, void *sem_arg
)
2544 #define FLD(f) abuf->fields.sfmt_muls_b.f
2545 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2546 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2550 int UNUSED insn_referenced
= abuf
->written
;
2551 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2558 model_crisv10_dstep (SIM_CPU
*current_cpu
, void *sem_arg
)
2560 #define FLD(f) abuf->fields.sfmt_muls_b.f
2561 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2562 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2566 int UNUSED insn_referenced
= abuf
->written
;
2567 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2574 model_crisv10_abs (SIM_CPU
*current_cpu
, void *sem_arg
)
2576 #define FLD(f) abuf->fields.sfmt_muls_b.f
2577 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2578 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2582 int UNUSED insn_referenced
= abuf
->written
;
2583 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2590 model_crisv10_and_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2592 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2593 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2594 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2598 int UNUSED insn_referenced
= abuf
->written
;
2599 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2606 model_crisv10_and_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2608 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2609 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2610 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2614 int UNUSED insn_referenced
= abuf
->written
;
2615 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2622 model_crisv10_and_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2624 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2625 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2626 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2630 int UNUSED insn_referenced
= abuf
->written
;
2631 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2638 model_crisv10_and_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2640 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2641 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2642 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2646 int UNUSED insn_referenced
= abuf
->written
;
2647 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2651 int UNUSED insn_referenced
= abuf
->written
;
2652 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2659 model_crisv10_and_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2661 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2662 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2663 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2667 int UNUSED insn_referenced
= abuf
->written
;
2668 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2672 int UNUSED insn_referenced
= abuf
->written
;
2673 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2680 model_crisv10_and_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2682 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2683 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2684 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2688 int UNUSED insn_referenced
= abuf
->written
;
2689 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2693 int UNUSED insn_referenced
= abuf
->written
;
2694 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2701 model_crisv10_andcbr (SIM_CPU
*current_cpu
, void *sem_arg
)
2703 #define FLD(f) abuf->fields.sfmt_addcbr.f
2704 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2705 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2709 int UNUSED insn_referenced
= abuf
->written
;
2710 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2714 int UNUSED insn_referenced
= abuf
->written
;
2715 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2722 model_crisv10_andcwr (SIM_CPU
*current_cpu
, void *sem_arg
)
2724 #define FLD(f) abuf->fields.sfmt_addcwr.f
2725 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2726 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2730 int UNUSED insn_referenced
= abuf
->written
;
2731 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2735 int UNUSED insn_referenced
= abuf
->written
;
2736 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2743 model_crisv10_andcdr (SIM_CPU
*current_cpu
, void *sem_arg
)
2745 #define FLD(f) abuf->fields.sfmt_addcdr.f
2746 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2747 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2751 int UNUSED insn_referenced
= abuf
->written
;
2752 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
2756 int UNUSED insn_referenced
= abuf
->written
;
2757 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2764 model_crisv10_andq (SIM_CPU
*current_cpu
, void *sem_arg
)
2766 #define FLD(f) abuf->fields.sfmt_andq.f
2767 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2768 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2772 int UNUSED insn_referenced
= abuf
->written
;
2773 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2780 model_crisv10_orr_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2782 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2783 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2784 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2788 int UNUSED insn_referenced
= abuf
->written
;
2789 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2796 model_crisv10_orr_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2798 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2799 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2800 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2804 int UNUSED insn_referenced
= abuf
->written
;
2805 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2812 model_crisv10_orr_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2814 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2815 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2816 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2820 int UNUSED insn_referenced
= abuf
->written
;
2821 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2828 model_crisv10_or_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2830 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2831 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2832 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2836 int UNUSED insn_referenced
= abuf
->written
;
2837 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2841 int UNUSED insn_referenced
= abuf
->written
;
2842 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2849 model_crisv10_or_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2851 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2852 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2853 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2857 int UNUSED insn_referenced
= abuf
->written
;
2858 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2862 int UNUSED insn_referenced
= abuf
->written
;
2863 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2870 model_crisv10_or_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2872 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2873 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2874 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2878 int UNUSED insn_referenced
= abuf
->written
;
2879 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2883 int UNUSED insn_referenced
= abuf
->written
;
2884 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2891 model_crisv10_orcbr (SIM_CPU
*current_cpu
, void *sem_arg
)
2893 #define FLD(f) abuf->fields.sfmt_addcbr.f
2894 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2895 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2899 int UNUSED insn_referenced
= abuf
->written
;
2900 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2904 int UNUSED insn_referenced
= abuf
->written
;
2905 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2912 model_crisv10_orcwr (SIM_CPU
*current_cpu
, void *sem_arg
)
2914 #define FLD(f) abuf->fields.sfmt_addcwr.f
2915 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2916 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2920 int UNUSED insn_referenced
= abuf
->written
;
2921 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2925 int UNUSED insn_referenced
= abuf
->written
;
2926 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2933 model_crisv10_orcdr (SIM_CPU
*current_cpu
, void *sem_arg
)
2935 #define FLD(f) abuf->fields.sfmt_addcdr.f
2936 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2937 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2941 int UNUSED insn_referenced
= abuf
->written
;
2942 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
2946 int UNUSED insn_referenced
= abuf
->written
;
2947 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2954 model_crisv10_orq (SIM_CPU
*current_cpu
, void *sem_arg
)
2956 #define FLD(f) abuf->fields.sfmt_andq.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
;
2963 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2970 model_crisv10_xor (SIM_CPU
*current_cpu
, void *sem_arg
)
2972 #define FLD(f) abuf->fields.sfmt_muls_b.f
2973 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2974 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2978 int UNUSED insn_referenced
= abuf
->written
;
2979 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2986 model_crisv10_swap (SIM_CPU
*current_cpu
, void *sem_arg
)
2988 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
2989 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2990 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2994 int UNUSED insn_referenced
= abuf
->written
;
2995 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3002 model_crisv10_asrr_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3004 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3005 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3006 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3010 int UNUSED insn_referenced
= abuf
->written
;
3011 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3018 model_crisv10_asrr_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3020 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3021 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3022 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3026 int UNUSED insn_referenced
= abuf
->written
;
3027 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3034 model_crisv10_asrr_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3036 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3037 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3038 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3042 int UNUSED insn_referenced
= abuf
->written
;
3043 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3050 model_crisv10_asrq (SIM_CPU
*current_cpu
, void *sem_arg
)
3052 #define FLD(f) abuf->fields.sfmt_asrq.f
3053 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3054 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3058 int UNUSED insn_referenced
= abuf
->written
;
3059 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3066 model_crisv10_lsrr_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3068 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3069 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3070 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3074 int UNUSED insn_referenced
= abuf
->written
;
3075 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3082 model_crisv10_lsrr_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3084 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3085 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3086 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3090 int UNUSED insn_referenced
= abuf
->written
;
3091 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3098 model_crisv10_lsrr_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3100 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3101 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3102 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3106 int UNUSED insn_referenced
= abuf
->written
;
3107 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3114 model_crisv10_lsrq (SIM_CPU
*current_cpu
, void *sem_arg
)
3116 #define FLD(f) abuf->fields.sfmt_asrq.f
3117 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3118 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3122 int UNUSED insn_referenced
= abuf
->written
;
3123 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3130 model_crisv10_lslr_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3132 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3133 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3134 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3138 int UNUSED insn_referenced
= abuf
->written
;
3139 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3146 model_crisv10_lslr_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3148 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3149 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3150 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3154 int UNUSED insn_referenced
= abuf
->written
;
3155 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3162 model_crisv10_lslr_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3164 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3165 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3166 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3170 int UNUSED insn_referenced
= abuf
->written
;
3171 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3178 model_crisv10_lslq (SIM_CPU
*current_cpu
, void *sem_arg
)
3180 #define FLD(f) abuf->fields.sfmt_asrq.f
3181 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3182 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3186 int UNUSED insn_referenced
= abuf
->written
;
3187 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3194 model_crisv10_btst (SIM_CPU
*current_cpu
, void *sem_arg
)
3196 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3197 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3198 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3202 int UNUSED insn_referenced
= abuf
->written
;
3203 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3210 model_crisv10_btstq (SIM_CPU
*current_cpu
, void *sem_arg
)
3212 #define FLD(f) abuf->fields.sfmt_asrq.f
3213 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3214 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3218 int UNUSED insn_referenced
= abuf
->written
;
3219 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3226 model_crisv10_setf (SIM_CPU
*current_cpu
, void *sem_arg
)
3228 #define FLD(f) abuf->fields.sfmt_setf.f
3229 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3230 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3234 int UNUSED insn_referenced
= abuf
->written
;
3235 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3242 model_crisv10_clearf (SIM_CPU
*current_cpu
, void *sem_arg
)
3244 #define FLD(f) abuf->fields.sfmt_setf.f
3245 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3246 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3250 int UNUSED insn_referenced
= abuf
->written
;
3251 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3258 model_crisv10_bcc_b (SIM_CPU
*current_cpu
, void *sem_arg
)
3260 #define FLD(f) abuf->fields.sfmt_bcc_b.f
3261 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3262 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3266 int UNUSED insn_referenced
= abuf
->written
;
3267 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3274 model_crisv10_ba_b (SIM_CPU
*current_cpu
, void *sem_arg
)
3276 #define FLD(f) abuf->fields.sfmt_bcc_b.f
3277 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3278 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3282 int UNUSED insn_referenced
= abuf
->written
;
3283 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3290 model_crisv10_bcc_w (SIM_CPU
*current_cpu
, void *sem_arg
)
3292 #define FLD(f) abuf->fields.sfmt_bcc_w.f
3293 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3294 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3298 int UNUSED insn_referenced
= abuf
->written
;
3299 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
3303 int UNUSED insn_referenced
= abuf
->written
;
3304 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3311 model_crisv10_ba_w (SIM_CPU
*current_cpu
, void *sem_arg
)
3313 #define FLD(f) abuf->fields.sfmt_bcc_w.f
3314 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3315 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3319 int UNUSED insn_referenced
= abuf
->written
;
3320 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
3324 int UNUSED insn_referenced
= abuf
->written
;
3325 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3332 model_crisv10_jump_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3334 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
3335 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3336 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3340 int UNUSED insn_referenced
= abuf
->written
;
3341 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3348 model_crisv10_jump_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3350 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
3351 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3352 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3356 int UNUSED insn_referenced
= abuf
->written
;
3357 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3361 int UNUSED insn_referenced
= abuf
->written
;
3362 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3369 model_crisv10_jump_c (SIM_CPU
*current_cpu
, void *sem_arg
)
3371 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.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
;
3378 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
3382 int UNUSED insn_referenced
= abuf
->written
;
3383 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3390 model_crisv10_break (SIM_CPU
*current_cpu
, void *sem_arg
)
3392 #define FLD(f) abuf->fields.sfmt_break.f
3393 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3394 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3398 int UNUSED insn_referenced
= abuf
->written
;
3399 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3406 model_crisv10_bound_r_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3408 #define FLD(f) abuf->fields.sfmt_muls_b.f
3409 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3410 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3414 int UNUSED insn_referenced
= abuf
->written
;
3415 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3422 model_crisv10_bound_r_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3424 #define FLD(f) abuf->fields.sfmt_muls_b.f
3425 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3426 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3430 int UNUSED insn_referenced
= abuf
->written
;
3431 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3438 model_crisv10_bound_r_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3440 #define FLD(f) abuf->fields.sfmt_muls_b.f
3441 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3442 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3446 int UNUSED insn_referenced
= abuf
->written
;
3447 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3454 model_crisv10_bound_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3456 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3457 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3458 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3462 int UNUSED insn_referenced
= abuf
->written
;
3463 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3467 int UNUSED insn_referenced
= abuf
->written
;
3468 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3475 model_crisv10_bound_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3477 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3478 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3479 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3483 int UNUSED insn_referenced
= abuf
->written
;
3484 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3488 int UNUSED insn_referenced
= abuf
->written
;
3489 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3496 model_crisv10_bound_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3498 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3499 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3500 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3504 int UNUSED insn_referenced
= abuf
->written
;
3505 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3509 int UNUSED insn_referenced
= abuf
->written
;
3510 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3517 model_crisv10_bound_cb (SIM_CPU
*current_cpu
, void *sem_arg
)
3519 #define FLD(f) abuf->fields.sfmt_bound_cb.f
3520 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3521 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3525 int UNUSED insn_referenced
= abuf
->written
;
3526 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
3530 int UNUSED insn_referenced
= abuf
->written
;
3531 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3538 model_crisv10_bound_cw (SIM_CPU
*current_cpu
, void *sem_arg
)
3540 #define FLD(f) abuf->fields.sfmt_bound_cw.f
3541 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3542 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3546 int UNUSED insn_referenced
= abuf
->written
;
3547 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
3551 int UNUSED insn_referenced
= abuf
->written
;
3552 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3559 model_crisv10_bound_cd (SIM_CPU
*current_cpu
, void *sem_arg
)
3561 #define FLD(f) abuf->fields.sfmt_bound_cd.f
3562 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3563 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3567 int UNUSED insn_referenced
= abuf
->written
;
3568 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
3572 int UNUSED insn_referenced
= abuf
->written
;
3573 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3580 model_crisv10_scc (SIM_CPU
*current_cpu
, void *sem_arg
)
3582 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
3583 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3584 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3588 int UNUSED insn_referenced
= abuf
->written
;
3589 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3596 model_crisv10_lz (SIM_CPU
*current_cpu
, void *sem_arg
)
3598 #define FLD(f) abuf->fields.sfmt_muls_b.f
3599 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3600 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3604 int UNUSED insn_referenced
= abuf
->written
;
3605 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3612 model_crisv10_addoq (SIM_CPU
*current_cpu
, void *sem_arg
)
3614 #define FLD(f) abuf->fields.sfmt_addoq.f
3615 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3616 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3620 int UNUSED insn_referenced
= abuf
->written
;
3621 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3628 model_crisv10_bdapqpc (SIM_CPU
*current_cpu
, void *sem_arg
)
3630 #define FLD(f) abuf->fields.sfmt_addoq.f
3631 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3632 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3636 int UNUSED insn_referenced
= abuf
->written
;
3637 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3644 model_crisv10_addo_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3646 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3647 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3648 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3652 int UNUSED insn_referenced
= abuf
->written
;
3653 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3657 int UNUSED insn_referenced
= abuf
->written
;
3658 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3665 model_crisv10_addo_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3667 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3668 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3669 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3673 int UNUSED insn_referenced
= abuf
->written
;
3674 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3678 int UNUSED insn_referenced
= abuf
->written
;
3679 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3686 model_crisv10_addo_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3688 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3689 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3690 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3694 int UNUSED insn_referenced
= abuf
->written
;
3695 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3699 int UNUSED insn_referenced
= abuf
->written
;
3700 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3707 model_crisv10_addo_cb (SIM_CPU
*current_cpu
, void *sem_arg
)
3709 #define FLD(f) abuf->fields.sfmt_bound_cb.f
3710 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3711 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3715 int UNUSED insn_referenced
= abuf
->written
;
3716 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
3720 int UNUSED insn_referenced
= abuf
->written
;
3721 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3728 model_crisv10_addo_cw (SIM_CPU
*current_cpu
, void *sem_arg
)
3730 #define FLD(f) abuf->fields.sfmt_bound_cw.f
3731 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3732 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3736 int UNUSED insn_referenced
= abuf
->written
;
3737 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
3741 int UNUSED insn_referenced
= abuf
->written
;
3742 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3749 model_crisv10_addo_cd (SIM_CPU
*current_cpu
, void *sem_arg
)
3751 #define FLD(f) abuf->fields.sfmt_bound_cd.f
3752 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3753 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3757 int UNUSED insn_referenced
= abuf
->written
;
3758 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
3762 int UNUSED insn_referenced
= abuf
->written
;
3763 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3770 model_crisv10_dip_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3772 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
3773 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3774 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3778 int UNUSED insn_referenced
= abuf
->written
;
3779 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3783 int UNUSED insn_referenced
= abuf
->written
;
3784 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3791 model_crisv10_dip_c (SIM_CPU
*current_cpu
, void *sem_arg
)
3793 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
3794 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3795 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3799 int UNUSED insn_referenced
= abuf
->written
;
3800 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
3804 int UNUSED insn_referenced
= abuf
->written
;
3805 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3812 model_crisv10_addi_acr_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3814 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3815 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3816 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3820 int UNUSED insn_referenced
= abuf
->written
;
3821 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3828 model_crisv10_addi_acr_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3830 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3831 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3832 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3836 int UNUSED insn_referenced
= abuf
->written
;
3837 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3844 model_crisv10_addi_acr_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3846 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3847 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3848 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3852 int UNUSED insn_referenced
= abuf
->written
;
3853 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3860 model_crisv10_biap_pc_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3862 #define FLD(f) abuf->fields.sfmt_addoq.f
3863 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3864 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3868 int UNUSED insn_referenced
= abuf
->written
;
3869 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3876 model_crisv10_biap_pc_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3878 #define FLD(f) abuf->fields.sfmt_addoq.f
3879 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3880 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3884 int UNUSED insn_referenced
= abuf
->written
;
3885 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3892 model_crisv10_biap_pc_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3894 #define FLD(f) abuf->fields.sfmt_addoq.f
3895 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3896 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3900 int UNUSED insn_referenced
= abuf
->written
;
3901 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3907 /* We assume UNIT_NONE == 0 because the tables don't always terminate
3910 /* Model timing data for `crisv10'. */
3912 static const INSN_TIMING crisv10_timing
[] = {
3913 { CRISV10F_INSN_X_INVALID
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3914 { CRISV10F_INSN_X_AFTER
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3915 { CRISV10F_INSN_X_BEFORE
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3916 { CRISV10F_INSN_X_CTI_CHAIN
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3917 { CRISV10F_INSN_X_CHAIN
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3918 { CRISV10F_INSN_X_BEGIN
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3919 { CRISV10F_INSN_NOP
, model_crisv10_nop
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3920 { CRISV10F_INSN_MOVE_B_R
, model_crisv10_move_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3921 { CRISV10F_INSN_MOVE_W_R
, model_crisv10_move_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3922 { CRISV10F_INSN_MOVE_D_R
, model_crisv10_move_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3923 { CRISV10F_INSN_MOVEPCR
, model_crisv10_movepcr
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3924 { CRISV10F_INSN_MOVEQ
, model_crisv10_moveq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3925 { CRISV10F_INSN_MOVS_B_R
, model_crisv10_movs_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3926 { CRISV10F_INSN_MOVS_W_R
, model_crisv10_movs_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3927 { CRISV10F_INSN_MOVU_B_R
, model_crisv10_movu_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3928 { CRISV10F_INSN_MOVU_W_R
, model_crisv10_movu_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3929 { CRISV10F_INSN_MOVECBR
, model_crisv10_movecbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3930 { CRISV10F_INSN_MOVECWR
, model_crisv10_movecwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3931 { CRISV10F_INSN_MOVECDR
, model_crisv10_movecdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3932 { CRISV10F_INSN_MOVSCBR
, model_crisv10_movscbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3933 { CRISV10F_INSN_MOVSCWR
, model_crisv10_movscwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3934 { CRISV10F_INSN_MOVUCBR
, model_crisv10_movucbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3935 { CRISV10F_INSN_MOVUCWR
, model_crisv10_movucwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3936 { CRISV10F_INSN_ADDQ
, model_crisv10_addq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3937 { CRISV10F_INSN_SUBQ
, model_crisv10_subq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3938 { CRISV10F_INSN_CMP_R_B_R
, model_crisv10_cmp_r_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3939 { CRISV10F_INSN_CMP_R_W_R
, model_crisv10_cmp_r_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3940 { CRISV10F_INSN_CMP_R_D_R
, model_crisv10_cmp_r_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3941 { CRISV10F_INSN_CMP_M_B_M
, model_crisv10_cmp_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3942 { CRISV10F_INSN_CMP_M_W_M
, model_crisv10_cmp_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3943 { CRISV10F_INSN_CMP_M_D_M
, model_crisv10_cmp_m_d_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3944 { CRISV10F_INSN_CMPCBR
, model_crisv10_cmpcbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3945 { CRISV10F_INSN_CMPCWR
, model_crisv10_cmpcwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3946 { CRISV10F_INSN_CMPCDR
, model_crisv10_cmpcdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3947 { CRISV10F_INSN_CMPQ
, model_crisv10_cmpq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3948 { CRISV10F_INSN_CMPS_M_B_M
, model_crisv10_cmps_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3949 { CRISV10F_INSN_CMPS_M_W_M
, model_crisv10_cmps_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3950 { CRISV10F_INSN_CMPSCBR
, model_crisv10_cmpscbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3951 { CRISV10F_INSN_CMPSCWR
, model_crisv10_cmpscwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3952 { CRISV10F_INSN_CMPU_M_B_M
, model_crisv10_cmpu_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3953 { CRISV10F_INSN_CMPU_M_W_M
, model_crisv10_cmpu_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3954 { CRISV10F_INSN_CMPUCBR
, model_crisv10_cmpucbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3955 { CRISV10F_INSN_CMPUCWR
, model_crisv10_cmpucwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3956 { CRISV10F_INSN_MOVE_M_B_M
, model_crisv10_move_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3957 { CRISV10F_INSN_MOVE_M_W_M
, model_crisv10_move_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3958 { CRISV10F_INSN_MOVE_M_D_M
, model_crisv10_move_m_d_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3959 { CRISV10F_INSN_MOVS_M_B_M
, model_crisv10_movs_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3960 { CRISV10F_INSN_MOVS_M_W_M
, model_crisv10_movs_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3961 { CRISV10F_INSN_MOVU_M_B_M
, model_crisv10_movu_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3962 { CRISV10F_INSN_MOVU_M_W_M
, model_crisv10_movu_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3963 { CRISV10F_INSN_MOVE_R_SPRV10
, model_crisv10_move_r_sprv10
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3964 { CRISV10F_INSN_MOVE_SPR_RV10
, model_crisv10_move_spr_rv10
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3965 { CRISV10F_INSN_RET_TYPE
, model_crisv10_ret_type
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3966 { CRISV10F_INSN_MOVE_M_SPRV10
, model_crisv10_move_m_sprv10
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3967 { CRISV10F_INSN_MOVE_C_SPRV10_P0
, model_crisv10_move_c_sprv10_p0
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3968 { CRISV10F_INSN_MOVE_C_SPRV10_P1
, model_crisv10_move_c_sprv10_p1
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3969 { CRISV10F_INSN_MOVE_C_SPRV10_P4
, model_crisv10_move_c_sprv10_p4
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3970 { CRISV10F_INSN_MOVE_C_SPRV10_P5
, model_crisv10_move_c_sprv10_p5
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3971 { CRISV10F_INSN_MOVE_C_SPRV10_P8
, model_crisv10_move_c_sprv10_p8
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3972 { CRISV10F_INSN_MOVE_C_SPRV10_P9
, model_crisv10_move_c_sprv10_p9
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3973 { CRISV10F_INSN_MOVE_C_SPRV10_P10
, model_crisv10_move_c_sprv10_p10
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3974 { CRISV10F_INSN_MOVE_C_SPRV10_P11
, model_crisv10_move_c_sprv10_p11
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3975 { CRISV10F_INSN_MOVE_C_SPRV10_P12
, model_crisv10_move_c_sprv10_p12
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3976 { CRISV10F_INSN_MOVE_C_SPRV10_P13
, model_crisv10_move_c_sprv10_p13
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3977 { CRISV10F_INSN_MOVE_C_SPRV10_P7
, model_crisv10_move_c_sprv10_p7
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3978 { CRISV10F_INSN_MOVE_C_SPRV10_P14
, model_crisv10_move_c_sprv10_p14
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3979 { CRISV10F_INSN_MOVE_C_SPRV10_P15
, model_crisv10_move_c_sprv10_p15
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3980 { CRISV10F_INSN_MOVE_SPR_MV10
, model_crisv10_move_spr_mv10
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3981 { CRISV10F_INSN_SBFS
, model_crisv10_sbfs
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3982 { CRISV10F_INSN_MOVEM_R_M
, model_crisv10_movem_r_m
, { { (int) UNIT_CRISV10_U_MOVEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3983 { CRISV10F_INSN_MOVEM_M_R
, model_crisv10_movem_m_r
, { { (int) UNIT_CRISV10_U_MOVEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3984 { CRISV10F_INSN_MOVEM_M_PC
, model_crisv10_movem_m_pc
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3985 { CRISV10F_INSN_ADD_B_R
, model_crisv10_add_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3986 { CRISV10F_INSN_ADD_W_R
, model_crisv10_add_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3987 { CRISV10F_INSN_ADD_D_R
, model_crisv10_add_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3988 { CRISV10F_INSN_ADD_M_B_M
, model_crisv10_add_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3989 { CRISV10F_INSN_ADD_M_W_M
, model_crisv10_add_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3990 { CRISV10F_INSN_ADD_M_D_M
, model_crisv10_add_m_d_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3991 { CRISV10F_INSN_ADDCBR
, model_crisv10_addcbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3992 { CRISV10F_INSN_ADDCWR
, model_crisv10_addcwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3993 { CRISV10F_INSN_ADDCDR
, model_crisv10_addcdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3994 { CRISV10F_INSN_ADDCPC
, model_crisv10_addcpc
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_STALL
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3995 { CRISV10F_INSN_ADDS_B_R
, model_crisv10_adds_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3996 { CRISV10F_INSN_ADDS_W_R
, model_crisv10_adds_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3997 { CRISV10F_INSN_ADDS_M_B_M
, model_crisv10_adds_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3998 { CRISV10F_INSN_ADDS_M_W_M
, model_crisv10_adds_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3999 { CRISV10F_INSN_ADDSCBR
, model_crisv10_addscbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4000 { CRISV10F_INSN_ADDSCWR
, model_crisv10_addscwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4001 { CRISV10F_INSN_ADDSPCPC
, model_crisv10_addspcpc
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_STALL
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4002 { CRISV10F_INSN_ADDU_B_R
, model_crisv10_addu_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4003 { CRISV10F_INSN_ADDU_W_R
, model_crisv10_addu_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4004 { CRISV10F_INSN_ADDU_M_B_M
, model_crisv10_addu_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4005 { CRISV10F_INSN_ADDU_M_W_M
, model_crisv10_addu_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4006 { CRISV10F_INSN_ADDUCBR
, model_crisv10_adducbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4007 { CRISV10F_INSN_ADDUCWR
, model_crisv10_adducwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4008 { CRISV10F_INSN_SUB_B_R
, model_crisv10_sub_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4009 { CRISV10F_INSN_SUB_W_R
, model_crisv10_sub_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4010 { CRISV10F_INSN_SUB_D_R
, model_crisv10_sub_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4011 { CRISV10F_INSN_SUB_M_B_M
, model_crisv10_sub_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4012 { CRISV10F_INSN_SUB_M_W_M
, model_crisv10_sub_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4013 { CRISV10F_INSN_SUB_M_D_M
, model_crisv10_sub_m_d_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4014 { CRISV10F_INSN_SUBCBR
, model_crisv10_subcbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4015 { CRISV10F_INSN_SUBCWR
, model_crisv10_subcwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4016 { CRISV10F_INSN_SUBCDR
, model_crisv10_subcdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4017 { CRISV10F_INSN_SUBS_B_R
, model_crisv10_subs_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4018 { CRISV10F_INSN_SUBS_W_R
, model_crisv10_subs_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4019 { CRISV10F_INSN_SUBS_M_B_M
, model_crisv10_subs_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4020 { CRISV10F_INSN_SUBS_M_W_M
, model_crisv10_subs_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4021 { CRISV10F_INSN_SUBSCBR
, model_crisv10_subscbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4022 { CRISV10F_INSN_SUBSCWR
, model_crisv10_subscwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4023 { CRISV10F_INSN_SUBU_B_R
, model_crisv10_subu_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4024 { CRISV10F_INSN_SUBU_W_R
, model_crisv10_subu_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4025 { CRISV10F_INSN_SUBU_M_B_M
, model_crisv10_subu_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4026 { CRISV10F_INSN_SUBU_M_W_M
, model_crisv10_subu_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4027 { CRISV10F_INSN_SUBUCBR
, model_crisv10_subucbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4028 { CRISV10F_INSN_SUBUCWR
, model_crisv10_subucwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4029 { CRISV10F_INSN_ADDI_B_R
, model_crisv10_addi_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4030 { CRISV10F_INSN_ADDI_W_R
, model_crisv10_addi_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4031 { CRISV10F_INSN_ADDI_D_R
, model_crisv10_addi_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4032 { CRISV10F_INSN_NEG_B_R
, model_crisv10_neg_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4033 { CRISV10F_INSN_NEG_W_R
, model_crisv10_neg_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4034 { CRISV10F_INSN_NEG_D_R
, model_crisv10_neg_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4035 { CRISV10F_INSN_TEST_M_B_M
, model_crisv10_test_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4036 { CRISV10F_INSN_TEST_M_W_M
, model_crisv10_test_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4037 { CRISV10F_INSN_TEST_M_D_M
, model_crisv10_test_m_d_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4038 { CRISV10F_INSN_MOVE_R_M_B_M
, model_crisv10_move_r_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4039 { CRISV10F_INSN_MOVE_R_M_W_M
, model_crisv10_move_r_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4040 { CRISV10F_INSN_MOVE_R_M_D_M
, model_crisv10_move_r_m_d_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4041 { CRISV10F_INSN_MULS_B
, model_crisv10_muls_b
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4042 { CRISV10F_INSN_MULS_W
, model_crisv10_muls_w
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4043 { CRISV10F_INSN_MULS_D
, model_crisv10_muls_d
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4044 { CRISV10F_INSN_MULU_B
, model_crisv10_mulu_b
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4045 { CRISV10F_INSN_MULU_W
, model_crisv10_mulu_w
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4046 { CRISV10F_INSN_MULU_D
, model_crisv10_mulu_d
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4047 { CRISV10F_INSN_MSTEP
, model_crisv10_mstep
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4048 { CRISV10F_INSN_DSTEP
, model_crisv10_dstep
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4049 { CRISV10F_INSN_ABS
, model_crisv10_abs
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4050 { CRISV10F_INSN_AND_B_R
, model_crisv10_and_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4051 { CRISV10F_INSN_AND_W_R
, model_crisv10_and_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4052 { CRISV10F_INSN_AND_D_R
, model_crisv10_and_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4053 { CRISV10F_INSN_AND_M_B_M
, model_crisv10_and_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4054 { CRISV10F_INSN_AND_M_W_M
, model_crisv10_and_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4055 { CRISV10F_INSN_AND_M_D_M
, model_crisv10_and_m_d_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4056 { CRISV10F_INSN_ANDCBR
, model_crisv10_andcbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4057 { CRISV10F_INSN_ANDCWR
, model_crisv10_andcwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4058 { CRISV10F_INSN_ANDCDR
, model_crisv10_andcdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4059 { CRISV10F_INSN_ANDQ
, model_crisv10_andq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4060 { CRISV10F_INSN_ORR_B_R
, model_crisv10_orr_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4061 { CRISV10F_INSN_ORR_W_R
, model_crisv10_orr_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4062 { CRISV10F_INSN_ORR_D_R
, model_crisv10_orr_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4063 { CRISV10F_INSN_OR_M_B_M
, model_crisv10_or_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4064 { CRISV10F_INSN_OR_M_W_M
, model_crisv10_or_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4065 { CRISV10F_INSN_OR_M_D_M
, model_crisv10_or_m_d_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4066 { CRISV10F_INSN_ORCBR
, model_crisv10_orcbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4067 { CRISV10F_INSN_ORCWR
, model_crisv10_orcwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4068 { CRISV10F_INSN_ORCDR
, model_crisv10_orcdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4069 { CRISV10F_INSN_ORQ
, model_crisv10_orq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4070 { CRISV10F_INSN_XOR
, model_crisv10_xor
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4071 { CRISV10F_INSN_SWAP
, model_crisv10_swap
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4072 { CRISV10F_INSN_ASRR_B_R
, model_crisv10_asrr_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4073 { CRISV10F_INSN_ASRR_W_R
, model_crisv10_asrr_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4074 { CRISV10F_INSN_ASRR_D_R
, model_crisv10_asrr_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4075 { CRISV10F_INSN_ASRQ
, model_crisv10_asrq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4076 { CRISV10F_INSN_LSRR_B_R
, model_crisv10_lsrr_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4077 { CRISV10F_INSN_LSRR_W_R
, model_crisv10_lsrr_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4078 { CRISV10F_INSN_LSRR_D_R
, model_crisv10_lsrr_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4079 { CRISV10F_INSN_LSRQ
, model_crisv10_lsrq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4080 { CRISV10F_INSN_LSLR_B_R
, model_crisv10_lslr_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4081 { CRISV10F_INSN_LSLR_W_R
, model_crisv10_lslr_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4082 { CRISV10F_INSN_LSLR_D_R
, model_crisv10_lslr_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4083 { CRISV10F_INSN_LSLQ
, model_crisv10_lslq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4084 { CRISV10F_INSN_BTST
, model_crisv10_btst
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4085 { CRISV10F_INSN_BTSTQ
, model_crisv10_btstq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4086 { CRISV10F_INSN_SETF
, model_crisv10_setf
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4087 { CRISV10F_INSN_CLEARF
, model_crisv10_clearf
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4088 { CRISV10F_INSN_BCC_B
, model_crisv10_bcc_b
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4089 { CRISV10F_INSN_BA_B
, model_crisv10_ba_b
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4090 { CRISV10F_INSN_BCC_W
, model_crisv10_bcc_w
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4091 { CRISV10F_INSN_BA_W
, model_crisv10_ba_w
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4092 { CRISV10F_INSN_JUMP_R
, model_crisv10_jump_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4093 { CRISV10F_INSN_JUMP_M
, model_crisv10_jump_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4094 { CRISV10F_INSN_JUMP_C
, model_crisv10_jump_c
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4095 { CRISV10F_INSN_BREAK
, model_crisv10_break
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4096 { CRISV10F_INSN_BOUND_R_B_R
, model_crisv10_bound_r_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4097 { CRISV10F_INSN_BOUND_R_W_R
, model_crisv10_bound_r_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4098 { CRISV10F_INSN_BOUND_R_D_R
, model_crisv10_bound_r_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4099 { CRISV10F_INSN_BOUND_M_B_M
, model_crisv10_bound_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4100 { CRISV10F_INSN_BOUND_M_W_M
, model_crisv10_bound_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4101 { CRISV10F_INSN_BOUND_M_D_M
, model_crisv10_bound_m_d_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4102 { CRISV10F_INSN_BOUND_CB
, model_crisv10_bound_cb
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4103 { CRISV10F_INSN_BOUND_CW
, model_crisv10_bound_cw
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4104 { CRISV10F_INSN_BOUND_CD
, model_crisv10_bound_cd
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4105 { CRISV10F_INSN_SCC
, model_crisv10_scc
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4106 { CRISV10F_INSN_LZ
, model_crisv10_lz
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4107 { CRISV10F_INSN_ADDOQ
, model_crisv10_addoq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4108 { CRISV10F_INSN_BDAPQPC
, model_crisv10_bdapqpc
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4109 { CRISV10F_INSN_ADDO_M_B_M
, model_crisv10_addo_m_b_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4110 { CRISV10F_INSN_ADDO_M_W_M
, model_crisv10_addo_m_w_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4111 { CRISV10F_INSN_ADDO_M_D_M
, model_crisv10_addo_m_d_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4112 { CRISV10F_INSN_ADDO_CB
, model_crisv10_addo_cb
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4113 { CRISV10F_INSN_ADDO_CW
, model_crisv10_addo_cw
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4114 { CRISV10F_INSN_ADDO_CD
, model_crisv10_addo_cd
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4115 { CRISV10F_INSN_DIP_M
, model_crisv10_dip_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4116 { CRISV10F_INSN_DIP_C
, model_crisv10_dip_c
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4117 { CRISV10F_INSN_ADDI_ACR_B_R
, model_crisv10_addi_acr_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4118 { CRISV10F_INSN_ADDI_ACR_W_R
, model_crisv10_addi_acr_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4119 { CRISV10F_INSN_ADDI_ACR_D_R
, model_crisv10_addi_acr_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4120 { CRISV10F_INSN_BIAP_PC_B_R
, model_crisv10_biap_pc_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4121 { CRISV10F_INSN_BIAP_PC_W_R
, model_crisv10_biap_pc_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4122 { CRISV10F_INSN_BIAP_PC_D_R
, model_crisv10_biap_pc_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4125 #endif /* WITH_PROFILE_MODEL_P */
4128 crisv10_model_init (SIM_CPU
*cpu
)
4130 CPU_MODEL_DATA (cpu
) = (void *) zalloc (sizeof (MODEL_CRISV10_DATA
));
4133 #if WITH_PROFILE_MODEL_P
4134 #define TIMING_DATA(td) td
4136 #define TIMING_DATA(td) 0
4139 static const MODEL crisv10_models
[] =
4141 { "crisv10", & crisv10_mach
, MODEL_CRISV10
, TIMING_DATA (& crisv10_timing
[0]), crisv10_model_init
},
4145 /* The properties of this cpu's implementation. */
4147 static const MACH_IMP_PROPERTIES crisv10f_imp_properties
=
4159 crisv10f_prepare_run (SIM_CPU
*cpu
)
4161 if (CPU_IDESC (cpu
) == NULL
)
4162 crisv10f_init_idesc_table (cpu
);
4165 static const CGEN_INSN
*
4166 crisv10f_get_idata (SIM_CPU
*cpu
, int inum
)
4168 return CPU_IDESC (cpu
) [inum
].idata
;
4172 crisv10_init_cpu (SIM_CPU
*cpu
)
4174 CPU_REG_FETCH (cpu
) = crisv10f_fetch_register
;
4175 CPU_REG_STORE (cpu
) = crisv10f_store_register
;
4176 CPU_PC_FETCH (cpu
) = crisv10f_h_pc_get
;
4177 CPU_PC_STORE (cpu
) = crisv10f_h_pc_set
;
4178 CPU_GET_IDATA (cpu
) = crisv10f_get_idata
;
4179 CPU_MAX_INSNS (cpu
) = CRISV10F_INSN__MAX
;
4180 CPU_INSN_NAME (cpu
) = cgen_insn_name
;
4181 CPU_FULL_ENGINE_FN (cpu
) = crisv10f_engine_run_full
;
4183 CPU_FAST_ENGINE_FN (cpu
) = crisv10f_engine_run_fast
;
4185 CPU_FAST_ENGINE_FN (cpu
) = crisv10f_engine_run_full
;
4189 const MACH crisv10_mach
=
4191 "crisv10", "cris", MACH_CRISV10
,
4192 32, 32, & crisv10_models
[0], & crisv10f_imp_properties
,
4194 crisv10f_prepare_run