1 /* Simulator model support for crisv10f.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996-2019 Free Software Foundation, Inc.
7 This file is part of the GNU simulators.
9 This file is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, see <http://www.gnu.org/licenses/>.
24 #define WANT_CPU crisv10f
25 #define WANT_CPU_CRISV10F
29 /* The profiling data is recorded here, but is accessed via the profiling
30 mechanism. After all, this is information for profiling. */
32 #if WITH_PROFILE_MODEL_P
34 /* Model handlers for each insn. */
37 model_crisv10_nop (SIM_CPU
*current_cpu
, void *sem_arg
)
39 #define FLD(f) abuf->fields.sfmt_empty.f
40 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
41 const IDESC
* UNUSED idesc
= abuf
->idesc
;
45 int UNUSED insn_referenced
= abuf
->written
;
46 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
53 model_crisv10_move_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
55 #define FLD(f) abuf->fields.sfmt_add_b_r.f
56 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
57 const IDESC
* UNUSED idesc
= abuf
->idesc
;
61 int UNUSED insn_referenced
= abuf
->written
;
62 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
69 model_crisv10_move_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
71 #define FLD(f) abuf->fields.sfmt_add_b_r.f
72 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
73 const IDESC
* UNUSED idesc
= abuf
->idesc
;
77 int UNUSED insn_referenced
= abuf
->written
;
78 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
85 model_crisv10_move_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
87 #define FLD(f) abuf->fields.sfmt_add_b_r.f
88 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
89 const IDESC
* UNUSED idesc
= abuf
->idesc
;
93 int UNUSED insn_referenced
= abuf
->written
;
94 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
101 model_crisv10_movepcr (SIM_CPU
*current_cpu
, void *sem_arg
)
103 #define FLD(f) abuf->fields.sfmt_moveq.f
104 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
105 const IDESC
* UNUSED idesc
= abuf
->idesc
;
109 int UNUSED insn_referenced
= abuf
->written
;
110 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
117 model_crisv10_moveq (SIM_CPU
*current_cpu
, void *sem_arg
)
119 #define FLD(f) abuf->fields.sfmt_moveq.f
120 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
121 const IDESC
* UNUSED idesc
= abuf
->idesc
;
125 int UNUSED insn_referenced
= abuf
->written
;
126 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
133 model_crisv10_movs_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
135 #define FLD(f) abuf->fields.sfmt_muls_b.f
136 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
137 const IDESC
* UNUSED idesc
= abuf
->idesc
;
141 int UNUSED insn_referenced
= abuf
->written
;
142 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
149 model_crisv10_movs_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
151 #define FLD(f) abuf->fields.sfmt_muls_b.f
152 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
153 const IDESC
* UNUSED idesc
= abuf
->idesc
;
157 int UNUSED insn_referenced
= abuf
->written
;
158 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
165 model_crisv10_movu_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
167 #define FLD(f) abuf->fields.sfmt_muls_b.f
168 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
169 const IDESC
* UNUSED idesc
= abuf
->idesc
;
173 int UNUSED insn_referenced
= abuf
->written
;
174 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
181 model_crisv10_movu_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
183 #define FLD(f) abuf->fields.sfmt_muls_b.f
184 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
185 const IDESC
* UNUSED idesc
= abuf
->idesc
;
189 int UNUSED insn_referenced
= abuf
->written
;
190 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
197 model_crisv10_movecbr (SIM_CPU
*current_cpu
, void *sem_arg
)
199 #define FLD(f) abuf->fields.sfmt_addcbr.f
200 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
201 const IDESC
* UNUSED idesc
= abuf
->idesc
;
205 int UNUSED insn_referenced
= abuf
->written
;
206 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
210 int UNUSED insn_referenced
= abuf
->written
;
211 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
218 model_crisv10_movecwr (SIM_CPU
*current_cpu
, void *sem_arg
)
220 #define FLD(f) abuf->fields.sfmt_addcwr.f
221 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
222 const IDESC
* UNUSED idesc
= abuf
->idesc
;
226 int UNUSED insn_referenced
= abuf
->written
;
227 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
231 int UNUSED insn_referenced
= abuf
->written
;
232 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
239 model_crisv10_movecdr (SIM_CPU
*current_cpu
, void *sem_arg
)
241 #define FLD(f) abuf->fields.sfmt_bound_cd.f
242 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
243 const IDESC
* UNUSED idesc
= abuf
->idesc
;
247 int UNUSED insn_referenced
= abuf
->written
;
248 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
252 int UNUSED insn_referenced
= abuf
->written
;
253 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
260 model_crisv10_movscbr (SIM_CPU
*current_cpu
, void *sem_arg
)
262 #define FLD(f) abuf->fields.sfmt_bound_cb.f
263 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
264 const IDESC
* UNUSED idesc
= abuf
->idesc
;
268 int UNUSED insn_referenced
= abuf
->written
;
269 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
273 int UNUSED insn_referenced
= abuf
->written
;
274 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
281 model_crisv10_movscwr (SIM_CPU
*current_cpu
, void *sem_arg
)
283 #define FLD(f) abuf->fields.sfmt_bound_cw.f
284 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
285 const IDESC
* UNUSED idesc
= abuf
->idesc
;
289 int UNUSED insn_referenced
= abuf
->written
;
290 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
294 int UNUSED insn_referenced
= abuf
->written
;
295 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
302 model_crisv10_movucbr (SIM_CPU
*current_cpu
, void *sem_arg
)
304 #define FLD(f) abuf->fields.sfmt_bound_cb.f
305 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
306 const IDESC
* UNUSED idesc
= abuf
->idesc
;
310 int UNUSED insn_referenced
= abuf
->written
;
311 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
315 int UNUSED insn_referenced
= abuf
->written
;
316 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
323 model_crisv10_movucwr (SIM_CPU
*current_cpu
, void *sem_arg
)
325 #define FLD(f) abuf->fields.sfmt_bound_cw.f
326 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
327 const IDESC
* UNUSED idesc
= abuf
->idesc
;
331 int UNUSED insn_referenced
= abuf
->written
;
332 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
336 int UNUSED insn_referenced
= abuf
->written
;
337 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
344 model_crisv10_addq (SIM_CPU
*current_cpu
, void *sem_arg
)
346 #define FLD(f) abuf->fields.sfmt_addq.f
347 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
348 const IDESC
* UNUSED idesc
= abuf
->idesc
;
352 int UNUSED insn_referenced
= abuf
->written
;
353 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
360 model_crisv10_subq (SIM_CPU
*current_cpu
, void *sem_arg
)
362 #define FLD(f) abuf->fields.sfmt_addq.f
363 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
364 const IDESC
* UNUSED idesc
= abuf
->idesc
;
368 int UNUSED insn_referenced
= abuf
->written
;
369 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
376 model_crisv10_cmp_r_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
378 #define FLD(f) abuf->fields.sfmt_add_b_r.f
379 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
380 const IDESC
* UNUSED idesc
= abuf
->idesc
;
384 int UNUSED insn_referenced
= abuf
->written
;
385 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
392 model_crisv10_cmp_r_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
394 #define FLD(f) abuf->fields.sfmt_add_b_r.f
395 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
396 const IDESC
* UNUSED idesc
= abuf
->idesc
;
400 int UNUSED insn_referenced
= abuf
->written
;
401 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
408 model_crisv10_cmp_r_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
410 #define FLD(f) abuf->fields.sfmt_add_b_r.f
411 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
412 const IDESC
* UNUSED idesc
= abuf
->idesc
;
416 int UNUSED insn_referenced
= abuf
->written
;
417 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
424 model_crisv10_cmp_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
426 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
427 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
428 const IDESC
* UNUSED idesc
= abuf
->idesc
;
432 int UNUSED insn_referenced
= abuf
->written
;
433 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
437 int UNUSED insn_referenced
= abuf
->written
;
438 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
445 model_crisv10_cmp_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
447 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
448 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
449 const IDESC
* UNUSED idesc
= abuf
->idesc
;
453 int UNUSED insn_referenced
= abuf
->written
;
454 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
458 int UNUSED insn_referenced
= abuf
->written
;
459 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
466 model_crisv10_cmp_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
468 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
469 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
470 const IDESC
* UNUSED idesc
= abuf
->idesc
;
474 int UNUSED insn_referenced
= abuf
->written
;
475 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
479 int UNUSED insn_referenced
= abuf
->written
;
480 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
487 model_crisv10_cmpcbr (SIM_CPU
*current_cpu
, void *sem_arg
)
489 #define FLD(f) abuf->fields.sfmt_bound_cb.f
490 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
491 const IDESC
* UNUSED idesc
= abuf
->idesc
;
495 int UNUSED insn_referenced
= abuf
->written
;
496 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
500 int UNUSED insn_referenced
= abuf
->written
;
501 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
508 model_crisv10_cmpcwr (SIM_CPU
*current_cpu
, void *sem_arg
)
510 #define FLD(f) abuf->fields.sfmt_bound_cw.f
511 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
512 const IDESC
* UNUSED idesc
= abuf
->idesc
;
516 int UNUSED insn_referenced
= abuf
->written
;
517 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
521 int UNUSED insn_referenced
= abuf
->written
;
522 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
529 model_crisv10_cmpcdr (SIM_CPU
*current_cpu
, void *sem_arg
)
531 #define FLD(f) abuf->fields.sfmt_bound_cd.f
532 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
533 const IDESC
* UNUSED idesc
= abuf
->idesc
;
537 int UNUSED insn_referenced
= abuf
->written
;
538 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
542 int UNUSED insn_referenced
= abuf
->written
;
543 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
550 model_crisv10_cmpq (SIM_CPU
*current_cpu
, void *sem_arg
)
552 #define FLD(f) abuf->fields.sfmt_andq.f
553 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
554 const IDESC
* UNUSED idesc
= abuf
->idesc
;
558 int UNUSED insn_referenced
= abuf
->written
;
559 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
566 model_crisv10_cmps_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
568 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
569 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
570 const IDESC
* UNUSED idesc
= abuf
->idesc
;
574 int UNUSED insn_referenced
= abuf
->written
;
575 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
579 int UNUSED insn_referenced
= abuf
->written
;
580 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
587 model_crisv10_cmps_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
589 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
590 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
591 const IDESC
* UNUSED idesc
= abuf
->idesc
;
595 int UNUSED insn_referenced
= abuf
->written
;
596 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
600 int UNUSED insn_referenced
= abuf
->written
;
601 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
608 model_crisv10_cmpscbr (SIM_CPU
*current_cpu
, void *sem_arg
)
610 #define FLD(f) abuf->fields.sfmt_bound_cb.f
611 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
612 const IDESC
* UNUSED idesc
= abuf
->idesc
;
616 int UNUSED insn_referenced
= abuf
->written
;
617 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
621 int UNUSED insn_referenced
= abuf
->written
;
622 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
629 model_crisv10_cmpscwr (SIM_CPU
*current_cpu
, void *sem_arg
)
631 #define FLD(f) abuf->fields.sfmt_bound_cw.f
632 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
633 const IDESC
* UNUSED idesc
= abuf
->idesc
;
637 int UNUSED insn_referenced
= abuf
->written
;
638 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
642 int UNUSED insn_referenced
= abuf
->written
;
643 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
650 model_crisv10_cmpu_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
652 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
653 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
654 const IDESC
* UNUSED idesc
= abuf
->idesc
;
658 int UNUSED insn_referenced
= abuf
->written
;
659 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
663 int UNUSED insn_referenced
= abuf
->written
;
664 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
671 model_crisv10_cmpu_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
673 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
674 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
675 const IDESC
* UNUSED idesc
= abuf
->idesc
;
679 int UNUSED insn_referenced
= abuf
->written
;
680 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
684 int UNUSED insn_referenced
= abuf
->written
;
685 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
692 model_crisv10_cmpucbr (SIM_CPU
*current_cpu
, void *sem_arg
)
694 #define FLD(f) abuf->fields.sfmt_bound_cb.f
695 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
696 const IDESC
* UNUSED idesc
= abuf
->idesc
;
700 int UNUSED insn_referenced
= abuf
->written
;
701 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
705 int UNUSED insn_referenced
= abuf
->written
;
706 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
713 model_crisv10_cmpucwr (SIM_CPU
*current_cpu
, void *sem_arg
)
715 #define FLD(f) abuf->fields.sfmt_bound_cw.f
716 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
717 const IDESC
* UNUSED idesc
= abuf
->idesc
;
721 int UNUSED insn_referenced
= abuf
->written
;
722 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
726 int UNUSED insn_referenced
= abuf
->written
;
727 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
734 model_crisv10_move_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
736 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
737 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
738 const IDESC
* UNUSED idesc
= abuf
->idesc
;
742 int UNUSED insn_referenced
= abuf
->written
;
743 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
747 int UNUSED insn_referenced
= abuf
->written
;
748 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
755 model_crisv10_move_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
757 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
758 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
759 const IDESC
* UNUSED idesc
= abuf
->idesc
;
763 int UNUSED insn_referenced
= abuf
->written
;
764 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
768 int UNUSED insn_referenced
= abuf
->written
;
769 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
776 model_crisv10_move_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
778 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
779 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
780 const IDESC
* UNUSED idesc
= abuf
->idesc
;
784 int UNUSED insn_referenced
= abuf
->written
;
785 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
789 int UNUSED insn_referenced
= abuf
->written
;
790 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
797 model_crisv10_movs_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
799 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
800 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
801 const IDESC
* UNUSED idesc
= abuf
->idesc
;
805 int UNUSED insn_referenced
= abuf
->written
;
806 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
810 int UNUSED insn_referenced
= abuf
->written
;
811 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
818 model_crisv10_movs_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
820 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
821 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
822 const IDESC
* UNUSED idesc
= abuf
->idesc
;
826 int UNUSED insn_referenced
= abuf
->written
;
827 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
831 int UNUSED insn_referenced
= abuf
->written
;
832 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
839 model_crisv10_movu_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
841 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
842 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
843 const IDESC
* UNUSED idesc
= abuf
->idesc
;
847 int UNUSED insn_referenced
= abuf
->written
;
848 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
852 int UNUSED insn_referenced
= abuf
->written
;
853 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
860 model_crisv10_movu_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
862 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
863 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
864 const IDESC
* UNUSED idesc
= abuf
->idesc
;
868 int UNUSED insn_referenced
= abuf
->written
;
869 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
873 int UNUSED insn_referenced
= abuf
->written
;
874 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
881 model_crisv10_move_r_sprv10 (SIM_CPU
*current_cpu
, void *sem_arg
)
883 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
884 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
885 const IDESC
* UNUSED idesc
= abuf
->idesc
;
889 int UNUSED insn_referenced
= abuf
->written
;
890 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
897 model_crisv10_move_spr_rv10 (SIM_CPU
*current_cpu
, void *sem_arg
)
899 #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f
900 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
901 const IDESC
* UNUSED idesc
= abuf
->idesc
;
905 int UNUSED insn_referenced
= abuf
->written
;
906 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
913 model_crisv10_ret_type (SIM_CPU
*current_cpu
, void *sem_arg
)
915 #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f
916 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
917 const IDESC
* UNUSED idesc
= abuf
->idesc
;
921 int UNUSED insn_referenced
= abuf
->written
;
922 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
929 model_crisv10_move_m_sprv10 (SIM_CPU
*current_cpu
, void *sem_arg
)
931 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
932 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
933 const IDESC
* UNUSED idesc
= abuf
->idesc
;
937 int UNUSED insn_referenced
= abuf
->written
;
938 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
942 int UNUSED insn_referenced
= abuf
->written
;
943 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
950 model_crisv10_move_c_sprv10_p5 (SIM_CPU
*current_cpu
, void *sem_arg
)
952 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p5.f
953 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
954 const IDESC
* UNUSED idesc
= abuf
->idesc
;
958 int UNUSED insn_referenced
= abuf
->written
;
959 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
963 int UNUSED insn_referenced
= abuf
->written
;
964 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
971 model_crisv10_move_c_sprv10_p9 (SIM_CPU
*current_cpu
, void *sem_arg
)
973 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
974 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
975 const IDESC
* UNUSED idesc
= abuf
->idesc
;
979 int UNUSED insn_referenced
= abuf
->written
;
980 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
984 int UNUSED insn_referenced
= abuf
->written
;
985 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
992 model_crisv10_move_c_sprv10_p10 (SIM_CPU
*current_cpu
, void *sem_arg
)
994 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
995 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
996 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1000 int UNUSED insn_referenced
= abuf
->written
;
1001 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1005 int UNUSED insn_referenced
= abuf
->written
;
1006 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1013 model_crisv10_move_c_sprv10_p11 (SIM_CPU
*current_cpu
, void *sem_arg
)
1015 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
1016 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1017 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1021 int UNUSED insn_referenced
= abuf
->written
;
1022 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1026 int UNUSED insn_referenced
= abuf
->written
;
1027 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1034 model_crisv10_move_c_sprv10_p12 (SIM_CPU
*current_cpu
, void *sem_arg
)
1036 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
1037 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1038 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1042 int UNUSED insn_referenced
= abuf
->written
;
1043 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1047 int UNUSED insn_referenced
= abuf
->written
;
1048 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1055 model_crisv10_move_c_sprv10_p13 (SIM_CPU
*current_cpu
, void *sem_arg
)
1057 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
1058 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1059 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1063 int UNUSED insn_referenced
= abuf
->written
;
1064 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1068 int UNUSED insn_referenced
= abuf
->written
;
1069 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1076 model_crisv10_move_c_sprv10_p7 (SIM_CPU
*current_cpu
, void *sem_arg
)
1078 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
1079 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1080 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1084 int UNUSED insn_referenced
= abuf
->written
;
1085 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1089 int UNUSED insn_referenced
= abuf
->written
;
1090 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1097 model_crisv10_move_c_sprv10_p14 (SIM_CPU
*current_cpu
, void *sem_arg
)
1099 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
1100 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1101 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1105 int UNUSED insn_referenced
= abuf
->written
;
1106 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1110 int UNUSED insn_referenced
= abuf
->written
;
1111 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1118 model_crisv10_move_c_sprv10_p15 (SIM_CPU
*current_cpu
, void *sem_arg
)
1120 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
1121 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1122 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1126 int UNUSED insn_referenced
= abuf
->written
;
1127 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1131 int UNUSED insn_referenced
= abuf
->written
;
1132 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1139 model_crisv10_move_spr_mv10 (SIM_CPU
*current_cpu
, void *sem_arg
)
1141 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
1142 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1143 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1147 int UNUSED insn_referenced
= abuf
->written
;
1148 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1152 int UNUSED insn_referenced
= abuf
->written
;
1153 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1160 model_crisv10_sbfs (SIM_CPU
*current_cpu
, void *sem_arg
)
1162 #define FLD(f) abuf->fields.sfmt_empty.f
1163 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1164 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1168 int UNUSED insn_referenced
= abuf
->written
;
1169 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1176 model_crisv10_movem_r_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1178 #define FLD(f) abuf->fields.sfmt_movem_r_m.f
1179 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1180 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1184 int UNUSED insn_referenced
= abuf
->written
;
1186 in_Rd
= FLD (in_Rd
);
1187 referenced
|= 1 << 0;
1188 cycles
+= crisv10f_model_crisv10_u_movem (current_cpu
, idesc
, 0, referenced
, in_Rd
);
1192 int UNUSED insn_referenced
= abuf
->written
;
1193 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1200 model_crisv10_movem_m_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1202 #define FLD(f) abuf->fields.sfmt_movem_m_r.f
1203 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1204 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1208 int UNUSED insn_referenced
= abuf
->written
;
1210 in_Rd
= FLD (in_Rd
);
1211 referenced
|= 1 << 0;
1212 cycles
+= crisv10f_model_crisv10_u_movem (current_cpu
, idesc
, 0, referenced
, in_Rd
);
1216 int UNUSED insn_referenced
= abuf
->written
;
1217 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1224 model_crisv10_movem_m_pc (SIM_CPU
*current_cpu
, void *sem_arg
)
1226 #define FLD(f) abuf->fields.sfmt_movem_m_r.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_add_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1247 #define FLD(f) abuf->fields.sfmt_add_b_r.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_add_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1263 #define FLD(f) abuf->fields.sfmt_add_b_r.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
;
1270 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1277 model_crisv10_add_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1279 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1280 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1281 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1285 int UNUSED insn_referenced
= abuf
->written
;
1286 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1293 model_crisv10_add_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1295 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1296 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1297 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1301 int UNUSED insn_referenced
= abuf
->written
;
1302 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1306 int UNUSED insn_referenced
= abuf
->written
;
1307 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1314 model_crisv10_add_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1316 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1317 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1318 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1322 int UNUSED insn_referenced
= abuf
->written
;
1323 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1327 int UNUSED insn_referenced
= abuf
->written
;
1328 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1335 model_crisv10_add_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1337 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1338 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1339 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1343 int UNUSED insn_referenced
= abuf
->written
;
1344 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1348 int UNUSED insn_referenced
= abuf
->written
;
1349 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1356 model_crisv10_addcbr (SIM_CPU
*current_cpu
, void *sem_arg
)
1358 #define FLD(f) abuf->fields.sfmt_addcbr.f
1359 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1360 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1364 int UNUSED insn_referenced
= abuf
->written
;
1365 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1369 int UNUSED insn_referenced
= abuf
->written
;
1370 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1377 model_crisv10_addcwr (SIM_CPU
*current_cpu
, void *sem_arg
)
1379 #define FLD(f) abuf->fields.sfmt_addcwr.f
1380 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1381 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1385 int UNUSED insn_referenced
= abuf
->written
;
1386 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1390 int UNUSED insn_referenced
= abuf
->written
;
1391 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1398 model_crisv10_addcdr (SIM_CPU
*current_cpu
, void *sem_arg
)
1400 #define FLD(f) abuf->fields.sfmt_addcdr.f
1401 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1402 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1406 int UNUSED insn_referenced
= abuf
->written
;
1407 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1411 int UNUSED insn_referenced
= abuf
->written
;
1412 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1419 model_crisv10_addcpc (SIM_CPU
*current_cpu
, void *sem_arg
)
1421 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
1422 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1423 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1427 int UNUSED insn_referenced
= abuf
->written
;
1428 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1432 int UNUSED insn_referenced
= abuf
->written
;
1433 cycles
+= crisv10f_model_crisv10_u_stall (current_cpu
, idesc
, 1, referenced
);
1437 int UNUSED insn_referenced
= abuf
->written
;
1438 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 2, referenced
);
1445 model_crisv10_adds_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1447 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1448 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1449 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1453 int UNUSED insn_referenced
= abuf
->written
;
1454 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1461 model_crisv10_adds_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1463 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1464 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1465 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1469 int UNUSED insn_referenced
= abuf
->written
;
1470 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1477 model_crisv10_adds_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1479 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1480 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1481 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1485 int UNUSED insn_referenced
= abuf
->written
;
1486 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1490 int UNUSED insn_referenced
= abuf
->written
;
1491 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1498 model_crisv10_adds_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1500 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1501 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1502 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1506 int UNUSED insn_referenced
= abuf
->written
;
1507 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1511 int UNUSED insn_referenced
= abuf
->written
;
1512 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1519 model_crisv10_addscbr (SIM_CPU
*current_cpu
, void *sem_arg
)
1521 #define FLD(f) abuf->fields.sfmt_addcbr.f
1522 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1523 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1527 int UNUSED insn_referenced
= abuf
->written
;
1528 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1532 int UNUSED insn_referenced
= abuf
->written
;
1533 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1540 model_crisv10_addscwr (SIM_CPU
*current_cpu
, void *sem_arg
)
1542 #define FLD(f) abuf->fields.sfmt_addcwr.f
1543 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1544 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1548 int UNUSED insn_referenced
= abuf
->written
;
1549 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1553 int UNUSED insn_referenced
= abuf
->written
;
1554 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1561 model_crisv10_addspcpc (SIM_CPU
*current_cpu
, void *sem_arg
)
1563 #define FLD(f) abuf->fields.sfmt_empty.f
1564 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1565 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1569 int UNUSED insn_referenced
= abuf
->written
;
1570 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1574 int UNUSED insn_referenced
= abuf
->written
;
1575 cycles
+= crisv10f_model_crisv10_u_stall (current_cpu
, idesc
, 1, referenced
);
1579 int UNUSED insn_referenced
= abuf
->written
;
1580 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 2, referenced
);
1587 model_crisv10_addu_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1589 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1590 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1591 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1595 int UNUSED insn_referenced
= abuf
->written
;
1596 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1603 model_crisv10_addu_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1605 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1606 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1607 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1611 int UNUSED insn_referenced
= abuf
->written
;
1612 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1619 model_crisv10_addu_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1621 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1622 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1623 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1627 int UNUSED insn_referenced
= abuf
->written
;
1628 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1632 int UNUSED insn_referenced
= abuf
->written
;
1633 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1640 model_crisv10_addu_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1642 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1643 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1644 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1648 int UNUSED insn_referenced
= abuf
->written
;
1649 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1653 int UNUSED insn_referenced
= abuf
->written
;
1654 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1661 model_crisv10_adducbr (SIM_CPU
*current_cpu
, void *sem_arg
)
1663 #define FLD(f) abuf->fields.sfmt_addcbr.f
1664 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1665 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1669 int UNUSED insn_referenced
= abuf
->written
;
1670 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1674 int UNUSED insn_referenced
= abuf
->written
;
1675 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1682 model_crisv10_adducwr (SIM_CPU
*current_cpu
, void *sem_arg
)
1684 #define FLD(f) abuf->fields.sfmt_addcwr.f
1685 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1686 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1690 int UNUSED insn_referenced
= abuf
->written
;
1691 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1695 int UNUSED insn_referenced
= abuf
->written
;
1696 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1703 model_crisv10_sub_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1705 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1706 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1707 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1711 int UNUSED insn_referenced
= abuf
->written
;
1712 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1719 model_crisv10_sub_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1721 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1722 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1723 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1727 int UNUSED insn_referenced
= abuf
->written
;
1728 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1735 model_crisv10_sub_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1737 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1738 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1739 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1743 int UNUSED insn_referenced
= abuf
->written
;
1744 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1751 model_crisv10_sub_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1753 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1754 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1755 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1759 int UNUSED insn_referenced
= abuf
->written
;
1760 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1764 int UNUSED insn_referenced
= abuf
->written
;
1765 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1772 model_crisv10_sub_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1774 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1775 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1776 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1780 int UNUSED insn_referenced
= abuf
->written
;
1781 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1785 int UNUSED insn_referenced
= abuf
->written
;
1786 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1793 model_crisv10_sub_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1795 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1796 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1797 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1801 int UNUSED insn_referenced
= abuf
->written
;
1802 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1806 int UNUSED insn_referenced
= abuf
->written
;
1807 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1814 model_crisv10_subcbr (SIM_CPU
*current_cpu
, void *sem_arg
)
1816 #define FLD(f) abuf->fields.sfmt_addcbr.f
1817 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1818 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1822 int UNUSED insn_referenced
= abuf
->written
;
1823 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1827 int UNUSED insn_referenced
= abuf
->written
;
1828 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1835 model_crisv10_subcwr (SIM_CPU
*current_cpu
, void *sem_arg
)
1837 #define FLD(f) abuf->fields.sfmt_addcwr.f
1838 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1839 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1843 int UNUSED insn_referenced
= abuf
->written
;
1844 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1848 int UNUSED insn_referenced
= abuf
->written
;
1849 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1856 model_crisv10_subcdr (SIM_CPU
*current_cpu
, void *sem_arg
)
1858 #define FLD(f) abuf->fields.sfmt_addcdr.f
1859 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1860 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1864 int UNUSED insn_referenced
= abuf
->written
;
1865 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
1869 int UNUSED insn_referenced
= abuf
->written
;
1870 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1877 model_crisv10_subs_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1879 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1880 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1881 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1885 int UNUSED insn_referenced
= abuf
->written
;
1886 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1893 model_crisv10_subs_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1895 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1896 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1897 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1901 int UNUSED insn_referenced
= abuf
->written
;
1902 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
1909 model_crisv10_subs_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1911 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1912 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1913 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1917 int UNUSED insn_referenced
= abuf
->written
;
1918 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1922 int UNUSED insn_referenced
= abuf
->written
;
1923 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1930 model_crisv10_subs_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
1932 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
1933 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1934 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1938 int UNUSED insn_referenced
= abuf
->written
;
1939 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
1943 int UNUSED insn_referenced
= abuf
->written
;
1944 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1951 model_crisv10_subscbr (SIM_CPU
*current_cpu
, void *sem_arg
)
1953 #define FLD(f) abuf->fields.sfmt_addcbr.f
1954 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1955 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1959 int UNUSED insn_referenced
= abuf
->written
;
1960 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1964 int UNUSED insn_referenced
= abuf
->written
;
1965 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1972 model_crisv10_subscwr (SIM_CPU
*current_cpu
, void *sem_arg
)
1974 #define FLD(f) abuf->fields.sfmt_addcwr.f
1975 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1976 const IDESC
* UNUSED idesc
= abuf
->idesc
;
1980 int UNUSED insn_referenced
= abuf
->written
;
1981 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
1985 int UNUSED insn_referenced
= abuf
->written
;
1986 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
1993 model_crisv10_subu_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
1995 #define FLD(f) abuf->fields.sfmt_add_b_r.f
1996 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
1997 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2001 int UNUSED insn_referenced
= abuf
->written
;
2002 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2009 model_crisv10_subu_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2011 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2012 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2013 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2017 int UNUSED insn_referenced
= abuf
->written
;
2018 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2025 model_crisv10_subu_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2027 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2028 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2029 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2033 int UNUSED insn_referenced
= abuf
->written
;
2034 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2038 int UNUSED insn_referenced
= abuf
->written
;
2039 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2046 model_crisv10_subu_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2048 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2049 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2050 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2054 int UNUSED insn_referenced
= abuf
->written
;
2055 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2059 int UNUSED insn_referenced
= abuf
->written
;
2060 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2067 model_crisv10_subucbr (SIM_CPU
*current_cpu
, void *sem_arg
)
2069 #define FLD(f) abuf->fields.sfmt_addcbr.f
2070 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2071 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2075 int UNUSED insn_referenced
= abuf
->written
;
2076 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2080 int UNUSED insn_referenced
= abuf
->written
;
2081 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2088 model_crisv10_subucwr (SIM_CPU
*current_cpu
, void *sem_arg
)
2090 #define FLD(f) abuf->fields.sfmt_addcwr.f
2091 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2092 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2096 int UNUSED insn_referenced
= abuf
->written
;
2097 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2101 int UNUSED insn_referenced
= abuf
->written
;
2102 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2109 model_crisv10_addi_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2111 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2112 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2113 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2117 int UNUSED insn_referenced
= abuf
->written
;
2118 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2125 model_crisv10_addi_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2127 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2128 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2129 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2133 int UNUSED insn_referenced
= abuf
->written
;
2134 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2141 model_crisv10_addi_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2143 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2144 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2145 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2149 int UNUSED insn_referenced
= abuf
->written
;
2150 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2157 model_crisv10_neg_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2159 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2160 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2161 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2165 int UNUSED insn_referenced
= abuf
->written
;
2166 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2173 model_crisv10_neg_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2175 #define FLD(f) abuf->fields.sfmt_add_b_r.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_exec (current_cpu
, idesc
, 0, referenced
);
2189 model_crisv10_neg_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2191 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2192 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2193 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2197 int UNUSED insn_referenced
= abuf
->written
;
2198 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2205 model_crisv10_test_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2207 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
2208 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2209 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2213 int UNUSED insn_referenced
= abuf
->written
;
2214 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2218 int UNUSED insn_referenced
= abuf
->written
;
2219 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2226 model_crisv10_test_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2228 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.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_mem (current_cpu
, idesc
, 0, referenced
);
2239 int UNUSED insn_referenced
= abuf
->written
;
2240 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2247 model_crisv10_test_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2249 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
2250 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2251 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2255 int UNUSED insn_referenced
= abuf
->written
;
2256 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2260 int UNUSED insn_referenced
= abuf
->written
;
2261 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2268 model_crisv10_move_r_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2270 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2271 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2272 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2276 int UNUSED insn_referenced
= abuf
->written
;
2277 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2281 int UNUSED insn_referenced
= abuf
->written
;
2282 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2289 model_crisv10_move_r_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2291 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2292 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2293 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2297 int UNUSED insn_referenced
= abuf
->written
;
2298 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2302 int UNUSED insn_referenced
= abuf
->written
;
2303 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2310 model_crisv10_move_r_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2312 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2313 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2314 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2318 int UNUSED insn_referenced
= abuf
->written
;
2319 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2323 int UNUSED insn_referenced
= abuf
->written
;
2324 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2331 model_crisv10_muls_b (SIM_CPU
*current_cpu
, void *sem_arg
)
2333 #define FLD(f) abuf->fields.sfmt_muls_b.f
2334 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2335 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2339 int UNUSED insn_referenced
= abuf
->written
;
2340 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2344 int UNUSED insn_referenced
= abuf
->written
;
2345 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2352 model_crisv10_muls_w (SIM_CPU
*current_cpu
, void *sem_arg
)
2354 #define FLD(f) abuf->fields.sfmt_muls_b.f
2355 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2356 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2360 int UNUSED insn_referenced
= abuf
->written
;
2361 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2365 int UNUSED insn_referenced
= abuf
->written
;
2366 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2373 model_crisv10_muls_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2375 #define FLD(f) abuf->fields.sfmt_muls_b.f
2376 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2377 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2381 int UNUSED insn_referenced
= abuf
->written
;
2382 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2386 int UNUSED insn_referenced
= abuf
->written
;
2387 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2394 model_crisv10_mulu_b (SIM_CPU
*current_cpu
, void *sem_arg
)
2396 #define FLD(f) abuf->fields.sfmt_muls_b.f
2397 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2398 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2402 int UNUSED insn_referenced
= abuf
->written
;
2403 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2407 int UNUSED insn_referenced
= abuf
->written
;
2408 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2415 model_crisv10_mulu_w (SIM_CPU
*current_cpu
, void *sem_arg
)
2417 #define FLD(f) abuf->fields.sfmt_muls_b.f
2418 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2419 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2423 int UNUSED insn_referenced
= abuf
->written
;
2424 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2428 int UNUSED insn_referenced
= abuf
->written
;
2429 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2436 model_crisv10_mulu_d (SIM_CPU
*current_cpu
, void *sem_arg
)
2438 #define FLD(f) abuf->fields.sfmt_muls_b.f
2439 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2440 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2444 int UNUSED insn_referenced
= abuf
->written
;
2445 cycles
+= crisv10f_model_crisv10_u_multiply (current_cpu
, idesc
, 0, referenced
);
2449 int UNUSED insn_referenced
= abuf
->written
;
2450 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2457 model_crisv10_mstep (SIM_CPU
*current_cpu
, void *sem_arg
)
2459 #define FLD(f) abuf->fields.sfmt_muls_b.f
2460 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2461 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2465 int UNUSED insn_referenced
= abuf
->written
;
2466 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2473 model_crisv10_dstep (SIM_CPU
*current_cpu
, void *sem_arg
)
2475 #define FLD(f) abuf->fields.sfmt_muls_b.f
2476 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2477 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2481 int UNUSED insn_referenced
= abuf
->written
;
2482 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2489 model_crisv10_abs (SIM_CPU
*current_cpu
, void *sem_arg
)
2491 #define FLD(f) abuf->fields.sfmt_muls_b.f
2492 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2493 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2497 int UNUSED insn_referenced
= abuf
->written
;
2498 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2505 model_crisv10_and_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2507 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2508 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2509 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2513 int UNUSED insn_referenced
= abuf
->written
;
2514 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2521 model_crisv10_and_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2523 #define FLD(f) abuf->fields.sfmt_add_b_r.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_exec (current_cpu
, idesc
, 0, referenced
);
2537 model_crisv10_and_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2539 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2540 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2541 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2545 int UNUSED insn_referenced
= abuf
->written
;
2546 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2553 model_crisv10_and_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2555 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2556 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2557 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2561 int UNUSED insn_referenced
= abuf
->written
;
2562 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2566 int UNUSED insn_referenced
= abuf
->written
;
2567 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2574 model_crisv10_and_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2576 #define FLD(f) abuf->fields.sfmt_add_m_b_m.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_mem (current_cpu
, idesc
, 0, referenced
);
2587 int UNUSED insn_referenced
= abuf
->written
;
2588 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2595 model_crisv10_and_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2597 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2598 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2599 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2603 int UNUSED insn_referenced
= abuf
->written
;
2604 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2608 int UNUSED insn_referenced
= abuf
->written
;
2609 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2616 model_crisv10_andcbr (SIM_CPU
*current_cpu
, void *sem_arg
)
2618 #define FLD(f) abuf->fields.sfmt_addcbr.f
2619 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2620 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2624 int UNUSED insn_referenced
= abuf
->written
;
2625 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2629 int UNUSED insn_referenced
= abuf
->written
;
2630 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2637 model_crisv10_andcwr (SIM_CPU
*current_cpu
, void *sem_arg
)
2639 #define FLD(f) abuf->fields.sfmt_addcwr.f
2640 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2641 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2645 int UNUSED insn_referenced
= abuf
->written
;
2646 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2650 int UNUSED insn_referenced
= abuf
->written
;
2651 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2658 model_crisv10_andcdr (SIM_CPU
*current_cpu
, void *sem_arg
)
2660 #define FLD(f) abuf->fields.sfmt_addcdr.f
2661 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2662 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2666 int UNUSED insn_referenced
= abuf
->written
;
2667 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
2671 int UNUSED insn_referenced
= abuf
->written
;
2672 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2679 model_crisv10_andq (SIM_CPU
*current_cpu
, void *sem_arg
)
2681 #define FLD(f) abuf->fields.sfmt_andq.f
2682 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2683 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2687 int UNUSED insn_referenced
= abuf
->written
;
2688 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2695 model_crisv10_orr_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2697 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2698 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2699 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2703 int UNUSED insn_referenced
= abuf
->written
;
2704 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2711 model_crisv10_orr_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2713 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2714 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2715 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2719 int UNUSED insn_referenced
= abuf
->written
;
2720 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2727 model_crisv10_orr_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2729 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2730 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2731 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2735 int UNUSED insn_referenced
= abuf
->written
;
2736 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2743 model_crisv10_or_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2745 #define FLD(f) abuf->fields.sfmt_add_m_b_m.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_mem (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_or_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2766 #define FLD(f) abuf->fields.sfmt_add_m_b_m.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_mem (current_cpu
, idesc
, 0, referenced
);
2777 int UNUSED insn_referenced
= abuf
->written
;
2778 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2785 model_crisv10_or_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
2787 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2788 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2789 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2793 int UNUSED insn_referenced
= abuf
->written
;
2794 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
2798 int UNUSED insn_referenced
= abuf
->written
;
2799 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2806 model_crisv10_orcbr (SIM_CPU
*current_cpu
, void *sem_arg
)
2808 #define FLD(f) abuf->fields.sfmt_addcbr.f
2809 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2810 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2814 int UNUSED insn_referenced
= abuf
->written
;
2815 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2819 int UNUSED insn_referenced
= abuf
->written
;
2820 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2827 model_crisv10_orcwr (SIM_CPU
*current_cpu
, void *sem_arg
)
2829 #define FLD(f) abuf->fields.sfmt_addcwr.f
2830 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2831 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2835 int UNUSED insn_referenced
= abuf
->written
;
2836 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
2840 int UNUSED insn_referenced
= abuf
->written
;
2841 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2848 model_crisv10_orcdr (SIM_CPU
*current_cpu
, void *sem_arg
)
2850 #define FLD(f) abuf->fields.sfmt_addcdr.f
2851 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2852 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2856 int UNUSED insn_referenced
= abuf
->written
;
2857 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
2861 int UNUSED insn_referenced
= abuf
->written
;
2862 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
2869 model_crisv10_orq (SIM_CPU
*current_cpu
, void *sem_arg
)
2871 #define FLD(f) abuf->fields.sfmt_andq.f
2872 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2873 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2877 int UNUSED insn_referenced
= abuf
->written
;
2878 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2885 model_crisv10_xor (SIM_CPU
*current_cpu
, void *sem_arg
)
2887 #define FLD(f) abuf->fields.sfmt_muls_b.f
2888 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2889 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2893 int UNUSED insn_referenced
= abuf
->written
;
2894 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2901 model_crisv10_swap (SIM_CPU
*current_cpu
, void *sem_arg
)
2903 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
2904 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2905 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2909 int UNUSED insn_referenced
= abuf
->written
;
2910 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2917 model_crisv10_asrr_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2919 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2920 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2921 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2925 int UNUSED insn_referenced
= abuf
->written
;
2926 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2933 model_crisv10_asrr_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2935 #define FLD(f) abuf->fields.sfmt_add_b_r.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_exec (current_cpu
, idesc
, 0, referenced
);
2949 model_crisv10_asrr_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2951 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2952 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2953 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2957 int UNUSED insn_referenced
= abuf
->written
;
2958 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2965 model_crisv10_asrq (SIM_CPU
*current_cpu
, void *sem_arg
)
2967 #define FLD(f) abuf->fields.sfmt_asrq.f
2968 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2969 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2973 int UNUSED insn_referenced
= abuf
->written
;
2974 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2981 model_crisv10_lsrr_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2983 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2984 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
2985 const IDESC
* UNUSED idesc
= abuf
->idesc
;
2989 int UNUSED insn_referenced
= abuf
->written
;
2990 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
2997 model_crisv10_lsrr_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
2999 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3000 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3001 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3005 int UNUSED insn_referenced
= abuf
->written
;
3006 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3013 model_crisv10_lsrr_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3015 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3016 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3017 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3021 int UNUSED insn_referenced
= abuf
->written
;
3022 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3029 model_crisv10_lsrq (SIM_CPU
*current_cpu
, void *sem_arg
)
3031 #define FLD(f) abuf->fields.sfmt_asrq.f
3032 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3033 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3037 int UNUSED insn_referenced
= abuf
->written
;
3038 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3045 model_crisv10_lslr_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3047 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3048 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3049 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3053 int UNUSED insn_referenced
= abuf
->written
;
3054 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3061 model_crisv10_lslr_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3063 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3064 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3065 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3069 int UNUSED insn_referenced
= abuf
->written
;
3070 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3077 model_crisv10_lslr_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3079 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3080 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3081 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3085 int UNUSED insn_referenced
= abuf
->written
;
3086 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3093 model_crisv10_lslq (SIM_CPU
*current_cpu
, void *sem_arg
)
3095 #define FLD(f) abuf->fields.sfmt_asrq.f
3096 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3097 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3101 int UNUSED insn_referenced
= abuf
->written
;
3102 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3109 model_crisv10_btst (SIM_CPU
*current_cpu
, void *sem_arg
)
3111 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3112 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3113 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3117 int UNUSED insn_referenced
= abuf
->written
;
3118 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3125 model_crisv10_btstq (SIM_CPU
*current_cpu
, void *sem_arg
)
3127 #define FLD(f) abuf->fields.sfmt_asrq.f
3128 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3129 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3133 int UNUSED insn_referenced
= abuf
->written
;
3134 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3141 model_crisv10_setf (SIM_CPU
*current_cpu
, void *sem_arg
)
3143 #define FLD(f) abuf->fields.sfmt_setf.f
3144 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3145 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3149 int UNUSED insn_referenced
= abuf
->written
;
3150 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3157 model_crisv10_clearf (SIM_CPU
*current_cpu
, void *sem_arg
)
3159 #define FLD(f) abuf->fields.sfmt_setf.f
3160 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3161 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3165 int UNUSED insn_referenced
= abuf
->written
;
3166 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3173 model_crisv10_bcc_b (SIM_CPU
*current_cpu
, void *sem_arg
)
3175 #define FLD(f) abuf->fields.sfmt_bcc_b.f
3176 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3177 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3181 int UNUSED insn_referenced
= abuf
->written
;
3182 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3189 model_crisv10_ba_b (SIM_CPU
*current_cpu
, void *sem_arg
)
3191 #define FLD(f) abuf->fields.sfmt_bcc_b.f
3192 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3193 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3197 int UNUSED insn_referenced
= abuf
->written
;
3198 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3205 model_crisv10_bcc_w (SIM_CPU
*current_cpu
, void *sem_arg
)
3207 #define FLD(f) abuf->fields.sfmt_bcc_w.f
3208 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3209 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3213 int UNUSED insn_referenced
= abuf
->written
;
3214 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
3218 int UNUSED insn_referenced
= abuf
->written
;
3219 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3226 model_crisv10_ba_w (SIM_CPU
*current_cpu
, void *sem_arg
)
3228 #define FLD(f) abuf->fields.sfmt_bcc_w.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_const16 (current_cpu
, idesc
, 0, referenced
);
3239 int UNUSED insn_referenced
= abuf
->written
;
3240 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3247 model_crisv10_jump_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3249 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
3250 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3251 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3255 int UNUSED insn_referenced
= abuf
->written
;
3256 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3263 model_crisv10_jump_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3265 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
3266 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3267 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3271 int UNUSED insn_referenced
= abuf
->written
;
3272 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3276 int UNUSED insn_referenced
= abuf
->written
;
3277 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3284 model_crisv10_jump_c (SIM_CPU
*current_cpu
, void *sem_arg
)
3286 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
3287 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3288 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3292 int UNUSED insn_referenced
= abuf
->written
;
3293 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
3297 int UNUSED insn_referenced
= abuf
->written
;
3298 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3305 model_crisv10_break (SIM_CPU
*current_cpu
, void *sem_arg
)
3307 #define FLD(f) abuf->fields.sfmt_break.f
3308 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3309 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3313 int UNUSED insn_referenced
= abuf
->written
;
3314 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3321 model_crisv10_bound_r_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3323 #define FLD(f) abuf->fields.sfmt_muls_b.f
3324 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3325 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3329 int UNUSED insn_referenced
= abuf
->written
;
3330 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3337 model_crisv10_bound_r_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3339 #define FLD(f) abuf->fields.sfmt_muls_b.f
3340 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3341 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3345 int UNUSED insn_referenced
= abuf
->written
;
3346 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3353 model_crisv10_bound_r_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3355 #define FLD(f) abuf->fields.sfmt_muls_b.f
3356 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3357 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3361 int UNUSED insn_referenced
= abuf
->written
;
3362 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3369 model_crisv10_bound_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3371 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3372 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3373 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3377 int UNUSED insn_referenced
= abuf
->written
;
3378 cycles
+= crisv10f_model_crisv10_u_mem (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_bound_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3392 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.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_mem (current_cpu
, idesc
, 0, referenced
);
3403 int UNUSED insn_referenced
= abuf
->written
;
3404 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3411 model_crisv10_bound_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3413 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3414 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3415 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3419 int UNUSED insn_referenced
= abuf
->written
;
3420 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3424 int UNUSED insn_referenced
= abuf
->written
;
3425 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3432 model_crisv10_bound_cb (SIM_CPU
*current_cpu
, void *sem_arg
)
3434 #define FLD(f) abuf->fields.sfmt_bound_cb.f
3435 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3436 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3440 int UNUSED insn_referenced
= abuf
->written
;
3441 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
3445 int UNUSED insn_referenced
= abuf
->written
;
3446 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3453 model_crisv10_bound_cw (SIM_CPU
*current_cpu
, void *sem_arg
)
3455 #define FLD(f) abuf->fields.sfmt_bound_cw.f
3456 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3457 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3461 int UNUSED insn_referenced
= abuf
->written
;
3462 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
3466 int UNUSED insn_referenced
= abuf
->written
;
3467 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3474 model_crisv10_bound_cd (SIM_CPU
*current_cpu
, void *sem_arg
)
3476 #define FLD(f) abuf->fields.sfmt_bound_cd.f
3477 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3478 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3482 int UNUSED insn_referenced
= abuf
->written
;
3483 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
3487 int UNUSED insn_referenced
= abuf
->written
;
3488 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3495 model_crisv10_scc (SIM_CPU
*current_cpu
, void *sem_arg
)
3497 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
3498 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3499 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3503 int UNUSED insn_referenced
= abuf
->written
;
3504 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3511 model_crisv10_lz (SIM_CPU
*current_cpu
, void *sem_arg
)
3513 #define FLD(f) abuf->fields.sfmt_muls_b.f
3514 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3515 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3519 int UNUSED insn_referenced
= abuf
->written
;
3520 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3527 model_crisv10_addoq (SIM_CPU
*current_cpu
, void *sem_arg
)
3529 #define FLD(f) abuf->fields.sfmt_addoq.f
3530 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3531 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3535 int UNUSED insn_referenced
= abuf
->written
;
3536 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3543 model_crisv10_bdapqpc (SIM_CPU
*current_cpu
, void *sem_arg
)
3545 #define FLD(f) abuf->fields.sfmt_addoq.f
3546 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3547 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3551 int UNUSED insn_referenced
= abuf
->written
;
3552 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3559 model_crisv10_bdap_32_pc (SIM_CPU
*current_cpu
, void *sem_arg
)
3561 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.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_move_m_pcplus_p0 (SIM_CPU
*current_cpu
, void *sem_arg
)
3582 #define FLD(f) abuf->fields.sfmt_move_m_spplus_p8.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_mem (current_cpu
, idesc
, 0, referenced
);
3593 int UNUSED insn_referenced
= abuf
->written
;
3594 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3601 model_crisv10_move_m_spplus_p8 (SIM_CPU
*current_cpu
, void *sem_arg
)
3603 #define FLD(f) abuf->fields.sfmt_move_m_spplus_p8.f
3604 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3605 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3609 int UNUSED insn_referenced
= abuf
->written
;
3610 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3614 int UNUSED insn_referenced
= abuf
->written
;
3615 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3622 model_crisv10_addo_m_b_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3624 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3625 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3626 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3630 int UNUSED insn_referenced
= abuf
->written
;
3631 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3635 int UNUSED insn_referenced
= abuf
->written
;
3636 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3643 model_crisv10_addo_m_w_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3645 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3646 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3647 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3651 int UNUSED insn_referenced
= abuf
->written
;
3652 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3656 int UNUSED insn_referenced
= abuf
->written
;
3657 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3664 model_crisv10_addo_m_d_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3666 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3667 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3668 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3672 int UNUSED insn_referenced
= abuf
->written
;
3673 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3677 int UNUSED insn_referenced
= abuf
->written
;
3678 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3685 model_crisv10_addo_cb (SIM_CPU
*current_cpu
, void *sem_arg
)
3687 #define FLD(f) abuf->fields.sfmt_bound_cb.f
3688 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3689 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3693 int UNUSED insn_referenced
= abuf
->written
;
3694 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
3698 int UNUSED insn_referenced
= abuf
->written
;
3699 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3706 model_crisv10_addo_cw (SIM_CPU
*current_cpu
, void *sem_arg
)
3708 #define FLD(f) abuf->fields.sfmt_bound_cw.f
3709 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3710 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3714 int UNUSED insn_referenced
= abuf
->written
;
3715 cycles
+= crisv10f_model_crisv10_u_const16 (current_cpu
, idesc
, 0, referenced
);
3719 int UNUSED insn_referenced
= abuf
->written
;
3720 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3727 model_crisv10_addo_cd (SIM_CPU
*current_cpu
, void *sem_arg
)
3729 #define FLD(f) abuf->fields.sfmt_bound_cd.f
3730 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3731 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3735 int UNUSED insn_referenced
= abuf
->written
;
3736 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
3740 int UNUSED insn_referenced
= abuf
->written
;
3741 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3748 model_crisv10_dip_m (SIM_CPU
*current_cpu
, void *sem_arg
)
3750 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
3751 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3752 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3756 int UNUSED insn_referenced
= abuf
->written
;
3757 cycles
+= crisv10f_model_crisv10_u_mem (current_cpu
, idesc
, 0, referenced
);
3761 int UNUSED insn_referenced
= abuf
->written
;
3762 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3769 model_crisv10_dip_c (SIM_CPU
*current_cpu
, void *sem_arg
)
3771 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
3772 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3773 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3777 int UNUSED insn_referenced
= abuf
->written
;
3778 cycles
+= crisv10f_model_crisv10_u_const32 (current_cpu
, idesc
, 0, referenced
);
3782 int UNUSED insn_referenced
= abuf
->written
;
3783 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 1, referenced
);
3790 model_crisv10_addi_acr_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3792 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3793 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3794 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3798 int UNUSED insn_referenced
= abuf
->written
;
3799 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3806 model_crisv10_addi_acr_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3808 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3809 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3810 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3814 int UNUSED insn_referenced
= abuf
->written
;
3815 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3822 model_crisv10_addi_acr_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3824 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3825 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3826 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3830 int UNUSED insn_referenced
= abuf
->written
;
3831 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3838 model_crisv10_biap_pc_b_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3840 #define FLD(f) abuf->fields.sfmt_addoq.f
3841 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3842 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3846 int UNUSED insn_referenced
= abuf
->written
;
3847 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3854 model_crisv10_biap_pc_w_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3856 #define FLD(f) abuf->fields.sfmt_addoq.f
3857 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3858 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3862 int UNUSED insn_referenced
= abuf
->written
;
3863 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3870 model_crisv10_biap_pc_d_r (SIM_CPU
*current_cpu
, void *sem_arg
)
3872 #define FLD(f) abuf->fields.sfmt_addoq.f
3873 const ARGBUF
* UNUSED abuf
= SEM_ARGBUF ((SEM_ARG
) sem_arg
);
3874 const IDESC
* UNUSED idesc
= abuf
->idesc
;
3878 int UNUSED insn_referenced
= abuf
->written
;
3879 cycles
+= crisv10f_model_crisv10_u_exec (current_cpu
, idesc
, 0, referenced
);
3885 /* We assume UNIT_NONE == 0 because the tables don't always terminate
3888 /* Model timing data for `crisv10'. */
3890 static const INSN_TIMING crisv10_timing
[] = {
3891 { CRISV10F_INSN_X_INVALID
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3892 { CRISV10F_INSN_X_AFTER
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3893 { CRISV10F_INSN_X_BEFORE
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3894 { CRISV10F_INSN_X_CTI_CHAIN
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3895 { CRISV10F_INSN_X_CHAIN
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3896 { CRISV10F_INSN_X_BEGIN
, 0, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3897 { CRISV10F_INSN_NOP
, model_crisv10_nop
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3898 { CRISV10F_INSN_MOVE_B_R
, model_crisv10_move_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3899 { CRISV10F_INSN_MOVE_W_R
, model_crisv10_move_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3900 { CRISV10F_INSN_MOVE_D_R
, model_crisv10_move_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3901 { CRISV10F_INSN_MOVEPCR
, model_crisv10_movepcr
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3902 { CRISV10F_INSN_MOVEQ
, model_crisv10_moveq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3903 { CRISV10F_INSN_MOVS_B_R
, model_crisv10_movs_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3904 { CRISV10F_INSN_MOVS_W_R
, model_crisv10_movs_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3905 { CRISV10F_INSN_MOVU_B_R
, model_crisv10_movu_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3906 { CRISV10F_INSN_MOVU_W_R
, model_crisv10_movu_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3907 { CRISV10F_INSN_MOVECBR
, model_crisv10_movecbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3908 { CRISV10F_INSN_MOVECWR
, model_crisv10_movecwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3909 { CRISV10F_INSN_MOVECDR
, model_crisv10_movecdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3910 { CRISV10F_INSN_MOVSCBR
, model_crisv10_movscbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3911 { CRISV10F_INSN_MOVSCWR
, model_crisv10_movscwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3912 { CRISV10F_INSN_MOVUCBR
, model_crisv10_movucbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3913 { CRISV10F_INSN_MOVUCWR
, model_crisv10_movucwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3914 { CRISV10F_INSN_ADDQ
, model_crisv10_addq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3915 { CRISV10F_INSN_SUBQ
, model_crisv10_subq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3916 { CRISV10F_INSN_CMP_R_B_R
, model_crisv10_cmp_r_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3917 { CRISV10F_INSN_CMP_R_W_R
, model_crisv10_cmp_r_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3918 { CRISV10F_INSN_CMP_R_D_R
, model_crisv10_cmp_r_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3919 { 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 } } },
3920 { 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 } } },
3921 { 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 } } },
3922 { CRISV10F_INSN_CMPCBR
, model_crisv10_cmpcbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3923 { CRISV10F_INSN_CMPCWR
, model_crisv10_cmpcwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3924 { CRISV10F_INSN_CMPCDR
, model_crisv10_cmpcdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3925 { CRISV10F_INSN_CMPQ
, model_crisv10_cmpq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3926 { 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 } } },
3927 { 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 } } },
3928 { CRISV10F_INSN_CMPSCBR
, model_crisv10_cmpscbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3929 { CRISV10F_INSN_CMPSCWR
, model_crisv10_cmpscwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3930 { 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 } } },
3931 { 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 } } },
3932 { CRISV10F_INSN_CMPUCBR
, model_crisv10_cmpucbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3933 { CRISV10F_INSN_CMPUCWR
, model_crisv10_cmpucwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3934 { 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 } } },
3935 { 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 } } },
3936 { 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 } } },
3937 { 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 } } },
3938 { 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 } } },
3939 { 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 } } },
3940 { 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 } } },
3941 { CRISV10F_INSN_MOVE_R_SPRV10
, model_crisv10_move_r_sprv10
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3942 { CRISV10F_INSN_MOVE_SPR_RV10
, model_crisv10_move_spr_rv10
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3943 { CRISV10F_INSN_RET_TYPE
, model_crisv10_ret_type
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3944 { CRISV10F_INSN_MOVE_M_SPRV10
, model_crisv10_move_m_sprv10
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3945 { 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 } } },
3946 { 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 } } },
3947 { 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 } } },
3948 { 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 } } },
3949 { 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 } } },
3950 { 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 } } },
3951 { 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 } } },
3952 { 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 } } },
3953 { 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 } } },
3954 { CRISV10F_INSN_MOVE_SPR_MV10
, model_crisv10_move_spr_mv10
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3955 { CRISV10F_INSN_SBFS
, model_crisv10_sbfs
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3956 { CRISV10F_INSN_MOVEM_R_M
, model_crisv10_movem_r_m
, { { (int) UNIT_CRISV10_U_MOVEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3957 { CRISV10F_INSN_MOVEM_M_R
, model_crisv10_movem_m_r
, { { (int) UNIT_CRISV10_U_MOVEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3958 { CRISV10F_INSN_MOVEM_M_PC
, model_crisv10_movem_m_pc
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3959 { CRISV10F_INSN_ADD_B_R
, model_crisv10_add_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3960 { CRISV10F_INSN_ADD_W_R
, model_crisv10_add_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3961 { CRISV10F_INSN_ADD_D_R
, model_crisv10_add_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3962 { 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 } } },
3963 { 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 } } },
3964 { 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 } } },
3965 { CRISV10F_INSN_ADDCBR
, model_crisv10_addcbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3966 { CRISV10F_INSN_ADDCWR
, model_crisv10_addcwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3967 { CRISV10F_INSN_ADDCDR
, model_crisv10_addcdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3968 { 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 } } },
3969 { CRISV10F_INSN_ADDS_B_R
, model_crisv10_adds_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3970 { CRISV10F_INSN_ADDS_W_R
, model_crisv10_adds_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3971 { 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 } } },
3972 { 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 } } },
3973 { CRISV10F_INSN_ADDSCBR
, model_crisv10_addscbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3974 { CRISV10F_INSN_ADDSCWR
, model_crisv10_addscwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3975 { 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 } } },
3976 { CRISV10F_INSN_ADDU_B_R
, model_crisv10_addu_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3977 { CRISV10F_INSN_ADDU_W_R
, model_crisv10_addu_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3978 { 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 } } },
3979 { 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 } } },
3980 { CRISV10F_INSN_ADDUCBR
, model_crisv10_adducbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3981 { CRISV10F_INSN_ADDUCWR
, model_crisv10_adducwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3982 { CRISV10F_INSN_SUB_B_R
, model_crisv10_sub_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3983 { CRISV10F_INSN_SUB_W_R
, model_crisv10_sub_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3984 { CRISV10F_INSN_SUB_D_R
, model_crisv10_sub_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3985 { 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 } } },
3986 { 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 } } },
3987 { 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 } } },
3988 { CRISV10F_INSN_SUBCBR
, model_crisv10_subcbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3989 { CRISV10F_INSN_SUBCWR
, model_crisv10_subcwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3990 { CRISV10F_INSN_SUBCDR
, model_crisv10_subcdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3991 { CRISV10F_INSN_SUBS_B_R
, model_crisv10_subs_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3992 { CRISV10F_INSN_SUBS_W_R
, model_crisv10_subs_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3993 { 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 } } },
3994 { 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 } } },
3995 { CRISV10F_INSN_SUBSCBR
, model_crisv10_subscbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3996 { CRISV10F_INSN_SUBSCWR
, model_crisv10_subscwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3997 { CRISV10F_INSN_SUBU_B_R
, model_crisv10_subu_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3998 { CRISV10F_INSN_SUBU_W_R
, model_crisv10_subu_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
3999 { 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 } } },
4000 { 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 } } },
4001 { CRISV10F_INSN_SUBUCBR
, model_crisv10_subucbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4002 { CRISV10F_INSN_SUBUCWR
, model_crisv10_subucwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4003 { CRISV10F_INSN_ADDI_B_R
, model_crisv10_addi_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4004 { CRISV10F_INSN_ADDI_W_R
, model_crisv10_addi_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4005 { CRISV10F_INSN_ADDI_D_R
, model_crisv10_addi_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4006 { CRISV10F_INSN_NEG_B_R
, model_crisv10_neg_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4007 { CRISV10F_INSN_NEG_W_R
, model_crisv10_neg_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4008 { CRISV10F_INSN_NEG_D_R
, model_crisv10_neg_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4009 { 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 } } },
4010 { 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 } } },
4011 { 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 } } },
4012 { 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 } } },
4013 { 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 } } },
4014 { 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 } } },
4015 { CRISV10F_INSN_MULS_B
, model_crisv10_muls_b
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4016 { CRISV10F_INSN_MULS_W
, model_crisv10_muls_w
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4017 { CRISV10F_INSN_MULS_D
, model_crisv10_muls_d
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4018 { CRISV10F_INSN_MULU_B
, model_crisv10_mulu_b
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4019 { CRISV10F_INSN_MULU_W
, model_crisv10_mulu_w
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4020 { CRISV10F_INSN_MULU_D
, model_crisv10_mulu_d
, { { (int) UNIT_CRISV10_U_MULTIPLY
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4021 { CRISV10F_INSN_MSTEP
, model_crisv10_mstep
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4022 { CRISV10F_INSN_DSTEP
, model_crisv10_dstep
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4023 { CRISV10F_INSN_ABS
, model_crisv10_abs
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4024 { CRISV10F_INSN_AND_B_R
, model_crisv10_and_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4025 { CRISV10F_INSN_AND_W_R
, model_crisv10_and_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4026 { CRISV10F_INSN_AND_D_R
, model_crisv10_and_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4027 { 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 } } },
4028 { 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 } } },
4029 { 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 } } },
4030 { CRISV10F_INSN_ANDCBR
, model_crisv10_andcbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4031 { CRISV10F_INSN_ANDCWR
, model_crisv10_andcwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4032 { CRISV10F_INSN_ANDCDR
, model_crisv10_andcdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4033 { CRISV10F_INSN_ANDQ
, model_crisv10_andq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4034 { CRISV10F_INSN_ORR_B_R
, model_crisv10_orr_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4035 { CRISV10F_INSN_ORR_W_R
, model_crisv10_orr_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4036 { CRISV10F_INSN_ORR_D_R
, model_crisv10_orr_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4037 { 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 } } },
4038 { 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 } } },
4039 { 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 } } },
4040 { CRISV10F_INSN_ORCBR
, model_crisv10_orcbr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4041 { CRISV10F_INSN_ORCWR
, model_crisv10_orcwr
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4042 { CRISV10F_INSN_ORCDR
, model_crisv10_orcdr
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4043 { CRISV10F_INSN_ORQ
, model_crisv10_orq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4044 { CRISV10F_INSN_XOR
, model_crisv10_xor
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4045 { CRISV10F_INSN_SWAP
, model_crisv10_swap
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4046 { CRISV10F_INSN_ASRR_B_R
, model_crisv10_asrr_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4047 { CRISV10F_INSN_ASRR_W_R
, model_crisv10_asrr_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4048 { CRISV10F_INSN_ASRR_D_R
, model_crisv10_asrr_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4049 { CRISV10F_INSN_ASRQ
, model_crisv10_asrq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4050 { CRISV10F_INSN_LSRR_B_R
, model_crisv10_lsrr_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4051 { CRISV10F_INSN_LSRR_W_R
, model_crisv10_lsrr_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4052 { CRISV10F_INSN_LSRR_D_R
, model_crisv10_lsrr_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4053 { CRISV10F_INSN_LSRQ
, model_crisv10_lsrq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4054 { CRISV10F_INSN_LSLR_B_R
, model_crisv10_lslr_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4055 { CRISV10F_INSN_LSLR_W_R
, model_crisv10_lslr_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4056 { CRISV10F_INSN_LSLR_D_R
, model_crisv10_lslr_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4057 { CRISV10F_INSN_LSLQ
, model_crisv10_lslq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4058 { CRISV10F_INSN_BTST
, model_crisv10_btst
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4059 { CRISV10F_INSN_BTSTQ
, model_crisv10_btstq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4060 { CRISV10F_INSN_SETF
, model_crisv10_setf
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4061 { CRISV10F_INSN_CLEARF
, model_crisv10_clearf
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4062 { CRISV10F_INSN_BCC_B
, model_crisv10_bcc_b
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4063 { CRISV10F_INSN_BA_B
, model_crisv10_ba_b
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4064 { CRISV10F_INSN_BCC_W
, model_crisv10_bcc_w
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4065 { CRISV10F_INSN_BA_W
, model_crisv10_ba_w
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4066 { CRISV10F_INSN_JUMP_R
, model_crisv10_jump_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4067 { CRISV10F_INSN_JUMP_M
, model_crisv10_jump_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4068 { CRISV10F_INSN_JUMP_C
, model_crisv10_jump_c
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4069 { CRISV10F_INSN_BREAK
, model_crisv10_break
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4070 { CRISV10F_INSN_BOUND_R_B_R
, model_crisv10_bound_r_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4071 { CRISV10F_INSN_BOUND_R_W_R
, model_crisv10_bound_r_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4072 { CRISV10F_INSN_BOUND_R_D_R
, model_crisv10_bound_r_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4073 { 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 } } },
4074 { 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 } } },
4075 { 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 } } },
4076 { CRISV10F_INSN_BOUND_CB
, model_crisv10_bound_cb
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4077 { CRISV10F_INSN_BOUND_CW
, model_crisv10_bound_cw
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4078 { CRISV10F_INSN_BOUND_CD
, model_crisv10_bound_cd
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4079 { CRISV10F_INSN_SCC
, model_crisv10_scc
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4080 { CRISV10F_INSN_LZ
, model_crisv10_lz
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4081 { CRISV10F_INSN_ADDOQ
, model_crisv10_addoq
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4082 { CRISV10F_INSN_BDAPQPC
, model_crisv10_bdapqpc
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4083 { CRISV10F_INSN_BDAP_32_PC
, model_crisv10_bdap_32_pc
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4084 { CRISV10F_INSN_MOVE_M_PCPLUS_P0
, model_crisv10_move_m_pcplus_p0
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4085 { CRISV10F_INSN_MOVE_M_SPPLUS_P8
, model_crisv10_move_m_spplus_p8
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4086 { 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 } } },
4087 { 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 } } },
4088 { 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 } } },
4089 { CRISV10F_INSN_ADDO_CB
, model_crisv10_addo_cb
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4090 { CRISV10F_INSN_ADDO_CW
, model_crisv10_addo_cw
, { { (int) UNIT_CRISV10_U_CONST16
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4091 { CRISV10F_INSN_ADDO_CD
, model_crisv10_addo_cd
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4092 { CRISV10F_INSN_DIP_M
, model_crisv10_dip_m
, { { (int) UNIT_CRISV10_U_MEM
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4093 { CRISV10F_INSN_DIP_C
, model_crisv10_dip_c
, { { (int) UNIT_CRISV10_U_CONST32
, 1, 1 }, { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4094 { CRISV10F_INSN_ADDI_ACR_B_R
, model_crisv10_addi_acr_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4095 { CRISV10F_INSN_ADDI_ACR_W_R
, model_crisv10_addi_acr_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4096 { CRISV10F_INSN_ADDI_ACR_D_R
, model_crisv10_addi_acr_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4097 { CRISV10F_INSN_BIAP_PC_B_R
, model_crisv10_biap_pc_b_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4098 { CRISV10F_INSN_BIAP_PC_W_R
, model_crisv10_biap_pc_w_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4099 { CRISV10F_INSN_BIAP_PC_D_R
, model_crisv10_biap_pc_d_r
, { { (int) UNIT_CRISV10_U_EXEC
, 1, 1 } } },
4102 #endif /* WITH_PROFILE_MODEL_P */
4105 crisv10_model_init (SIM_CPU
*cpu
)
4107 CPU_MODEL_DATA (cpu
) = (void *) zalloc (sizeof (MODEL_CRISV10_DATA
));
4110 #if WITH_PROFILE_MODEL_P
4111 #define TIMING_DATA(td) td
4113 #define TIMING_DATA(td) 0
4116 static const SIM_MODEL crisv10_models
[] =
4118 { "crisv10", & crisv10_mach
, MODEL_CRISV10
, TIMING_DATA (& crisv10_timing
[0]), crisv10_model_init
},
4122 /* The properties of this cpu's implementation. */
4124 static const SIM_MACH_IMP_PROPERTIES crisv10f_imp_properties
=
4136 crisv10f_prepare_run (SIM_CPU
*cpu
)
4138 if (CPU_IDESC (cpu
) == NULL
)
4139 crisv10f_init_idesc_table (cpu
);
4142 static const CGEN_INSN
*
4143 crisv10f_get_idata (SIM_CPU
*cpu
, int inum
)
4145 return CPU_IDESC (cpu
) [inum
].idata
;
4149 crisv10_init_cpu (SIM_CPU
*cpu
)
4151 CPU_REG_FETCH (cpu
) = crisv10f_fetch_register
;
4152 CPU_REG_STORE (cpu
) = crisv10f_store_register
;
4153 CPU_PC_FETCH (cpu
) = crisv10f_h_pc_get
;
4154 CPU_PC_STORE (cpu
) = crisv10f_h_pc_set
;
4155 CPU_GET_IDATA (cpu
) = crisv10f_get_idata
;
4156 CPU_MAX_INSNS (cpu
) = CRISV10F_INSN__MAX
;
4157 CPU_INSN_NAME (cpu
) = cgen_insn_name
;
4158 CPU_FULL_ENGINE_FN (cpu
) = crisv10f_engine_run_full
;
4160 CPU_FAST_ENGINE_FN (cpu
) = crisv10f_engine_run_fast
;
4162 CPU_FAST_ENGINE_FN (cpu
) = crisv10f_engine_run_full
;
4166 const SIM_MACH crisv10_mach
=
4168 "crisv10", "cris", MACH_CRISV10
,
4169 32, 32, & crisv10_models
[0], & crisv10f_imp_properties
,
4171 crisv10f_prepare_run