Update copyright year range in all GDB files.
[deliverable/binutils-gdb.git] / sim / m32r / model.c
CommitLineData
c906108c
SS
1/* Simulator model support for m32rbf.
2
3THIS FILE IS MACHINE GENERATED WITH CGEN.
4
b811d2c2 5Copyright 1996-2020 Free Software Foundation, Inc.
c906108c 6
378af1d6 7This file is part of the GNU simulators.
c906108c 8
e9c60591
DE
9 This file is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
12 any later version.
c906108c 13
e9c60591
DE
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
c906108c 18
e9c60591 19 You should have received a copy of the GNU General Public License along
51b318de 20 with this program; if not, see <http://www.gnu.org/licenses/>.
c906108c
SS
21
22*/
23
24#define WANT_CPU m32rbf
25#define WANT_CPU_M32RBF
26
27#include "sim-main.h"
28
29/* The profiling data is recorded here, but is accessed via the profiling
30 mechanism. After all, this is information for profiling. */
31
32#if WITH_PROFILE_MODEL_P
33
34/* Model handlers for each insn. */
35
36static int
37model_m32r_d_add (SIM_CPU *current_cpu, void *sem_arg)
38{
96baa820 39#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
40 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
41 const IDESC * UNUSED idesc = abuf->idesc;
42 int cycles = 0;
43 {
44 int referenced = 0;
45 int UNUSED insn_referenced = abuf->written;
46 INT in_sr = -1;
47 INT in_dr = -1;
48 INT out_dr = -1;
49 in_sr = FLD (in_sr);
50 in_dr = FLD (in_dr);
51 out_dr = FLD (out_dr);
52 referenced |= 1 << 0;
53 referenced |= 1 << 1;
54 referenced |= 1 << 2;
55 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
56 }
57 return cycles;
58#undef FLD
59}
60
61static int
62model_m32r_d_add3 (SIM_CPU *current_cpu, void *sem_arg)
63{
96baa820 64#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
65 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
66 const IDESC * UNUSED idesc = abuf->idesc;
67 int cycles = 0;
68 {
69 int referenced = 0;
70 int UNUSED insn_referenced = abuf->written;
71 INT in_sr = -1;
72 INT in_dr = -1;
73 INT out_dr = -1;
74 in_sr = FLD (in_sr);
75 out_dr = FLD (out_dr);
76 referenced |= 1 << 0;
77 referenced |= 1 << 2;
78 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
79 }
80 return cycles;
81#undef FLD
82}
83
84static int
85model_m32r_d_and (SIM_CPU *current_cpu, void *sem_arg)
86{
96baa820 87#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
88 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
89 const IDESC * UNUSED idesc = abuf->idesc;
90 int cycles = 0;
91 {
92 int referenced = 0;
93 int UNUSED insn_referenced = abuf->written;
94 INT in_sr = -1;
95 INT in_dr = -1;
96 INT out_dr = -1;
97 in_sr = FLD (in_sr);
98 in_dr = FLD (in_dr);
99 out_dr = FLD (out_dr);
100 referenced |= 1 << 0;
101 referenced |= 1 << 1;
102 referenced |= 1 << 2;
103 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
104 }
105 return cycles;
106#undef FLD
107}
108
109static int
110model_m32r_d_and3 (SIM_CPU *current_cpu, void *sem_arg)
111{
96baa820 112#define FLD(f) abuf->fields.sfmt_and3.f
c906108c
SS
113 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
114 const IDESC * UNUSED idesc = abuf->idesc;
115 int cycles = 0;
116 {
117 int referenced = 0;
118 int UNUSED insn_referenced = abuf->written;
119 INT in_sr = -1;
120 INT in_dr = -1;
121 INT out_dr = -1;
122 in_sr = FLD (in_sr);
123 out_dr = FLD (out_dr);
124 referenced |= 1 << 0;
125 referenced |= 1 << 2;
126 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
127 }
128 return cycles;
129#undef FLD
130}
131
132static int
133model_m32r_d_or (SIM_CPU *current_cpu, void *sem_arg)
134{
96baa820 135#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
136 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
137 const IDESC * UNUSED idesc = abuf->idesc;
138 int cycles = 0;
139 {
140 int referenced = 0;
141 int UNUSED insn_referenced = abuf->written;
142 INT in_sr = -1;
143 INT in_dr = -1;
144 INT out_dr = -1;
145 in_sr = FLD (in_sr);
146 in_dr = FLD (in_dr);
147 out_dr = FLD (out_dr);
148 referenced |= 1 << 0;
149 referenced |= 1 << 1;
150 referenced |= 1 << 2;
151 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
152 }
153 return cycles;
154#undef FLD
155}
156
157static int
158model_m32r_d_or3 (SIM_CPU *current_cpu, void *sem_arg)
159{
96baa820 160#define FLD(f) abuf->fields.sfmt_and3.f
c906108c
SS
161 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
162 const IDESC * UNUSED idesc = abuf->idesc;
163 int cycles = 0;
164 {
165 int referenced = 0;
166 int UNUSED insn_referenced = abuf->written;
167 INT in_sr = -1;
168 INT in_dr = -1;
169 INT out_dr = -1;
170 in_sr = FLD (in_sr);
171 out_dr = FLD (out_dr);
172 referenced |= 1 << 0;
173 referenced |= 1 << 2;
174 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
175 }
176 return cycles;
177#undef FLD
178}
179
180static int
181model_m32r_d_xor (SIM_CPU *current_cpu, void *sem_arg)
182{
96baa820 183#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
184 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
185 const IDESC * UNUSED idesc = abuf->idesc;
186 int cycles = 0;
187 {
188 int referenced = 0;
189 int UNUSED insn_referenced = abuf->written;
190 INT in_sr = -1;
191 INT in_dr = -1;
192 INT out_dr = -1;
193 in_sr = FLD (in_sr);
194 in_dr = FLD (in_dr);
195 out_dr = FLD (out_dr);
196 referenced |= 1 << 0;
197 referenced |= 1 << 1;
198 referenced |= 1 << 2;
199 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
200 }
201 return cycles;
202#undef FLD
203}
204
205static int
206model_m32r_d_xor3 (SIM_CPU *current_cpu, void *sem_arg)
207{
96baa820 208#define FLD(f) abuf->fields.sfmt_and3.f
c906108c
SS
209 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
210 const IDESC * UNUSED idesc = abuf->idesc;
211 int cycles = 0;
212 {
213 int referenced = 0;
214 int UNUSED insn_referenced = abuf->written;
215 INT in_sr = -1;
216 INT in_dr = -1;
217 INT out_dr = -1;
218 in_sr = FLD (in_sr);
219 out_dr = FLD (out_dr);
220 referenced |= 1 << 0;
221 referenced |= 1 << 2;
222 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
223 }
224 return cycles;
225#undef FLD
226}
227
228static int
229model_m32r_d_addi (SIM_CPU *current_cpu, void *sem_arg)
230{
96baa820 231#define FLD(f) abuf->fields.sfmt_addi.f
c906108c
SS
232 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
233 const IDESC * UNUSED idesc = abuf->idesc;
234 int cycles = 0;
235 {
236 int referenced = 0;
237 int UNUSED insn_referenced = abuf->written;
238 INT in_sr = -1;
239 INT in_dr = -1;
240 INT out_dr = -1;
241 in_dr = FLD (in_dr);
242 out_dr = FLD (out_dr);
243 referenced |= 1 << 1;
244 referenced |= 1 << 2;
245 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
246 }
247 return cycles;
248#undef FLD
249}
250
251static int
252model_m32r_d_addv (SIM_CPU *current_cpu, void *sem_arg)
253{
96baa820 254#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
255 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
256 const IDESC * UNUSED idesc = abuf->idesc;
257 int cycles = 0;
258 {
259 int referenced = 0;
260 int UNUSED insn_referenced = abuf->written;
261 INT in_sr = -1;
262 INT in_dr = -1;
263 INT out_dr = -1;
264 in_sr = FLD (in_sr);
265 in_dr = FLD (in_dr);
266 out_dr = FLD (out_dr);
267 referenced |= 1 << 0;
268 referenced |= 1 << 1;
269 referenced |= 1 << 2;
270 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
271 }
272 return cycles;
273#undef FLD
274}
275
276static int
277model_m32r_d_addv3 (SIM_CPU *current_cpu, void *sem_arg)
278{
96baa820 279#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
280 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
281 const IDESC * UNUSED idesc = abuf->idesc;
282 int cycles = 0;
283 {
284 int referenced = 0;
285 int UNUSED insn_referenced = abuf->written;
286 INT in_sr = -1;
287 INT in_dr = -1;
288 INT out_dr = -1;
289 in_sr = FLD (in_sr);
290 out_dr = FLD (out_dr);
291 referenced |= 1 << 0;
292 referenced |= 1 << 2;
293 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
294 }
295 return cycles;
296#undef FLD
297}
298
299static int
300model_m32r_d_addx (SIM_CPU *current_cpu, void *sem_arg)
301{
96baa820 302#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
303 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
304 const IDESC * UNUSED idesc = abuf->idesc;
305 int cycles = 0;
306 {
307 int referenced = 0;
308 int UNUSED insn_referenced = abuf->written;
309 INT in_sr = -1;
310 INT in_dr = -1;
311 INT out_dr = -1;
312 in_sr = FLD (in_sr);
313 in_dr = FLD (in_dr);
314 out_dr = FLD (out_dr);
315 referenced |= 1 << 0;
316 referenced |= 1 << 1;
317 referenced |= 1 << 2;
318 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
319 }
320 return cycles;
321#undef FLD
322}
323
324static int
325model_m32r_d_bc8 (SIM_CPU *current_cpu, void *sem_arg)
326{
96baa820 327#define FLD(f) abuf->fields.sfmt_bl8.f
c906108c
SS
328 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
329 const IDESC * UNUSED idesc = abuf->idesc;
330 int cycles = 0;
331 {
332 int referenced = 0;
333 int UNUSED insn_referenced = abuf->written;
334 INT in_sr = -1;
335 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
336 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
337 }
338 return cycles;
339#undef FLD
340}
341
342static int
343model_m32r_d_bc24 (SIM_CPU *current_cpu, void *sem_arg)
344{
96baa820 345#define FLD(f) abuf->fields.sfmt_bl24.f
c906108c
SS
346 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
347 const IDESC * UNUSED idesc = abuf->idesc;
348 int cycles = 0;
349 {
350 int referenced = 0;
351 int UNUSED insn_referenced = abuf->written;
352 INT in_sr = -1;
353 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
354 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
355 }
356 return cycles;
357#undef FLD
358}
359
360static int
361model_m32r_d_beq (SIM_CPU *current_cpu, void *sem_arg)
362{
96baa820 363#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
364 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
365 const IDESC * UNUSED idesc = abuf->idesc;
366 int cycles = 0;
367 {
368 int referenced = 0;
369 int UNUSED insn_referenced = abuf->written;
370 INT in_sr = -1;
371 if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
372 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
373 }
374 {
375 int referenced = 0;
376 int UNUSED insn_referenced = abuf->written;
377 INT in_src1 = -1;
378 INT in_src2 = -1;
379 in_src1 = FLD (in_src1);
380 in_src2 = FLD (in_src2);
381 referenced |= 1 << 0;
382 referenced |= 1 << 1;
383 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
384 }
385 return cycles;
386#undef FLD
387}
388
389static int
390model_m32r_d_beqz (SIM_CPU *current_cpu, void *sem_arg)
391{
96baa820 392#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
393 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
394 const IDESC * UNUSED idesc = abuf->idesc;
395 int cycles = 0;
396 {
397 int referenced = 0;
398 int UNUSED insn_referenced = abuf->written;
399 INT in_sr = -1;
400 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
401 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
402 }
403 {
404 int referenced = 0;
405 int UNUSED insn_referenced = abuf->written;
406 INT in_src1 = -1;
407 INT in_src2 = -1;
408 in_src2 = FLD (in_src2);
409 referenced |= 1 << 1;
410 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
411 }
412 return cycles;
413#undef FLD
414}
415
416static int
417model_m32r_d_bgez (SIM_CPU *current_cpu, void *sem_arg)
418{
96baa820 419#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
420 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
421 const IDESC * UNUSED idesc = abuf->idesc;
422 int cycles = 0;
423 {
424 int referenced = 0;
425 int UNUSED insn_referenced = abuf->written;
426 INT in_sr = -1;
427 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
428 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
429 }
430 {
431 int referenced = 0;
432 int UNUSED insn_referenced = abuf->written;
433 INT in_src1 = -1;
434 INT in_src2 = -1;
435 in_src2 = FLD (in_src2);
436 referenced |= 1 << 1;
437 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
438 }
439 return cycles;
440#undef FLD
441}
442
443static int
444model_m32r_d_bgtz (SIM_CPU *current_cpu, void *sem_arg)
445{
96baa820 446#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
447 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
448 const IDESC * UNUSED idesc = abuf->idesc;
449 int cycles = 0;
450 {
451 int referenced = 0;
452 int UNUSED insn_referenced = abuf->written;
453 INT in_sr = -1;
454 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
455 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
456 }
457 {
458 int referenced = 0;
459 int UNUSED insn_referenced = abuf->written;
460 INT in_src1 = -1;
461 INT in_src2 = -1;
462 in_src2 = FLD (in_src2);
463 referenced |= 1 << 1;
464 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
465 }
466 return cycles;
467#undef FLD
468}
469
470static int
471model_m32r_d_blez (SIM_CPU *current_cpu, void *sem_arg)
472{
96baa820 473#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
474 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
475 const IDESC * UNUSED idesc = abuf->idesc;
476 int cycles = 0;
477 {
478 int referenced = 0;
479 int UNUSED insn_referenced = abuf->written;
480 INT in_sr = -1;
481 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
482 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
483 }
484 {
485 int referenced = 0;
486 int UNUSED insn_referenced = abuf->written;
487 INT in_src1 = -1;
488 INT in_src2 = -1;
489 in_src2 = FLD (in_src2);
490 referenced |= 1 << 1;
491 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
492 }
493 return cycles;
494#undef FLD
495}
496
497static int
498model_m32r_d_bltz (SIM_CPU *current_cpu, void *sem_arg)
499{
96baa820 500#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
501 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
502 const IDESC * UNUSED idesc = abuf->idesc;
503 int cycles = 0;
504 {
505 int referenced = 0;
506 int UNUSED insn_referenced = abuf->written;
507 INT in_sr = -1;
508 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
509 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
510 }
511 {
512 int referenced = 0;
513 int UNUSED insn_referenced = abuf->written;
514 INT in_src1 = -1;
515 INT in_src2 = -1;
516 in_src2 = FLD (in_src2);
517 referenced |= 1 << 1;
518 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
519 }
520 return cycles;
521#undef FLD
522}
523
524static int
525model_m32r_d_bnez (SIM_CPU *current_cpu, void *sem_arg)
526{
96baa820 527#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
528 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
529 const IDESC * UNUSED idesc = abuf->idesc;
530 int cycles = 0;
531 {
532 int referenced = 0;
533 int UNUSED insn_referenced = abuf->written;
534 INT in_sr = -1;
535 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
536 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
537 }
538 {
539 int referenced = 0;
540 int UNUSED insn_referenced = abuf->written;
541 INT in_src1 = -1;
542 INT in_src2 = -1;
543 in_src2 = FLD (in_src2);
544 referenced |= 1 << 1;
545 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
546 }
547 return cycles;
548#undef FLD
549}
550
551static int
552model_m32r_d_bl8 (SIM_CPU *current_cpu, void *sem_arg)
553{
96baa820 554#define FLD(f) abuf->fields.sfmt_bl8.f
c906108c
SS
555 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
556 const IDESC * UNUSED idesc = abuf->idesc;
557 int cycles = 0;
558 {
559 int referenced = 0;
560 int UNUSED insn_referenced = abuf->written;
561 INT in_sr = -1;
562 referenced |= 1 << 1;
563 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
564 }
565 return cycles;
566#undef FLD
567}
568
569static int
570model_m32r_d_bl24 (SIM_CPU *current_cpu, void *sem_arg)
571{
96baa820 572#define FLD(f) abuf->fields.sfmt_bl24.f
c906108c
SS
573 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
574 const IDESC * UNUSED idesc = abuf->idesc;
575 int cycles = 0;
576 {
577 int referenced = 0;
578 int UNUSED insn_referenced = abuf->written;
579 INT in_sr = -1;
580 referenced |= 1 << 1;
581 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
582 }
583 return cycles;
584#undef FLD
585}
586
587static int
588model_m32r_d_bnc8 (SIM_CPU *current_cpu, void *sem_arg)
589{
96baa820 590#define FLD(f) abuf->fields.sfmt_bl8.f
c906108c
SS
591 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
592 const IDESC * UNUSED idesc = abuf->idesc;
593 int cycles = 0;
594 {
595 int referenced = 0;
596 int UNUSED insn_referenced = abuf->written;
597 INT in_sr = -1;
598 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
599 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
600 }
601 return cycles;
602#undef FLD
603}
604
605static int
606model_m32r_d_bnc24 (SIM_CPU *current_cpu, void *sem_arg)
607{
96baa820 608#define FLD(f) abuf->fields.sfmt_bl24.f
c906108c
SS
609 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
610 const IDESC * UNUSED idesc = abuf->idesc;
611 int cycles = 0;
612 {
613 int referenced = 0;
614 int UNUSED insn_referenced = abuf->written;
615 INT in_sr = -1;
616 if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
617 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
618 }
619 return cycles;
620#undef FLD
621}
622
623static int
624model_m32r_d_bne (SIM_CPU *current_cpu, void *sem_arg)
625{
96baa820 626#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
627 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
628 const IDESC * UNUSED idesc = abuf->idesc;
629 int cycles = 0;
630 {
631 int referenced = 0;
632 int UNUSED insn_referenced = abuf->written;
633 INT in_sr = -1;
634 if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
635 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
636 }
637 {
638 int referenced = 0;
639 int UNUSED insn_referenced = abuf->written;
640 INT in_src1 = -1;
641 INT in_src2 = -1;
642 in_src1 = FLD (in_src1);
643 in_src2 = FLD (in_src2);
644 referenced |= 1 << 0;
645 referenced |= 1 << 1;
646 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
647 }
648 return cycles;
649#undef FLD
650}
651
652static int
653model_m32r_d_bra8 (SIM_CPU *current_cpu, void *sem_arg)
654{
96baa820 655#define FLD(f) abuf->fields.sfmt_bl8.f
c906108c
SS
656 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
657 const IDESC * UNUSED idesc = abuf->idesc;
658 int cycles = 0;
659 {
660 int referenced = 0;
661 int UNUSED insn_referenced = abuf->written;
662 INT in_sr = -1;
663 referenced |= 1 << 1;
664 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
665 }
666 return cycles;
667#undef FLD
668}
669
670static int
671model_m32r_d_bra24 (SIM_CPU *current_cpu, void *sem_arg)
672{
96baa820 673#define FLD(f) abuf->fields.sfmt_bl24.f
c906108c
SS
674 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
675 const IDESC * UNUSED idesc = abuf->idesc;
676 int cycles = 0;
677 {
678 int referenced = 0;
679 int UNUSED insn_referenced = abuf->written;
680 INT in_sr = -1;
681 referenced |= 1 << 1;
682 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
683 }
684 return cycles;
685#undef FLD
686}
687
688static int
689model_m32r_d_cmp (SIM_CPU *current_cpu, void *sem_arg)
690{
96baa820 691#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
692 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
693 const IDESC * UNUSED idesc = abuf->idesc;
694 int cycles = 0;
695 {
696 int referenced = 0;
697 int UNUSED insn_referenced = abuf->written;
698 INT in_src1 = -1;
699 INT in_src2 = -1;
700 in_src1 = FLD (in_src1);
701 in_src2 = FLD (in_src2);
702 referenced |= 1 << 0;
703 referenced |= 1 << 1;
704 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, in_src1, in_src2);
705 }
706 return cycles;
707#undef FLD
708}
709
710static int
711model_m32r_d_cmpi (SIM_CPU *current_cpu, void *sem_arg)
712{
96baa820 713#define FLD(f) abuf->fields.sfmt_st_d.f
c906108c
SS
714 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
715 const IDESC * UNUSED idesc = abuf->idesc;
716 int cycles = 0;
717 {
718 int referenced = 0;
719 int UNUSED insn_referenced = abuf->written;
720 INT in_src1 = -1;
721 INT in_src2 = -1;
722 in_src2 = FLD (in_src2);
723 referenced |= 1 << 1;
724 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, in_src1, in_src2);
725 }
726 return cycles;
727#undef FLD
728}
729
730static int
731model_m32r_d_cmpu (SIM_CPU *current_cpu, void *sem_arg)
732{
96baa820 733#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
734 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
735 const IDESC * UNUSED idesc = abuf->idesc;
736 int cycles = 0;
737 {
738 int referenced = 0;
739 int UNUSED insn_referenced = abuf->written;
740 INT in_src1 = -1;
741 INT in_src2 = -1;
742 in_src1 = FLD (in_src1);
743 in_src2 = FLD (in_src2);
744 referenced |= 1 << 0;
745 referenced |= 1 << 1;
746 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, in_src1, in_src2);
747 }
748 return cycles;
749#undef FLD
750}
751
752static int
753model_m32r_d_cmpui (SIM_CPU *current_cpu, void *sem_arg)
754{
96baa820 755#define FLD(f) abuf->fields.sfmt_st_d.f
c906108c
SS
756 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
757 const IDESC * UNUSED idesc = abuf->idesc;
758 int cycles = 0;
759 {
760 int referenced = 0;
761 int UNUSED insn_referenced = abuf->written;
762 INT in_src1 = -1;
763 INT in_src2 = -1;
764 in_src2 = FLD (in_src2);
765 referenced |= 1 << 1;
766 cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, in_src1, in_src2);
767 }
768 return cycles;
769#undef FLD
770}
771
772static int
773model_m32r_d_div (SIM_CPU *current_cpu, void *sem_arg)
774{
96baa820 775#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
776 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
777 const IDESC * UNUSED idesc = abuf->idesc;
778 int cycles = 0;
779 {
780 int referenced = 0;
781 int UNUSED insn_referenced = abuf->written;
782 INT in_sr = -1;
783 INT in_dr = -1;
784 INT out_dr = -1;
785 in_sr = FLD (in_sr);
786 in_dr = FLD (in_dr);
787 out_dr = FLD (out_dr);
788 referenced |= 1 << 0;
789 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
790 if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
791 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
792 }
793 return cycles;
794#undef FLD
795}
796
797static int
798model_m32r_d_divu (SIM_CPU *current_cpu, void *sem_arg)
799{
96baa820 800#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
801 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
802 const IDESC * UNUSED idesc = abuf->idesc;
803 int cycles = 0;
804 {
805 int referenced = 0;
806 int UNUSED insn_referenced = abuf->written;
807 INT in_sr = -1;
808 INT in_dr = -1;
809 INT out_dr = -1;
810 in_sr = FLD (in_sr);
811 in_dr = FLD (in_dr);
812 out_dr = FLD (out_dr);
813 referenced |= 1 << 0;
814 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
815 if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
816 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
817 }
818 return cycles;
819#undef FLD
820}
821
822static int
823model_m32r_d_rem (SIM_CPU *current_cpu, void *sem_arg)
824{
96baa820 825#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
826 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
827 const IDESC * UNUSED idesc = abuf->idesc;
828 int cycles = 0;
829 {
830 int referenced = 0;
831 int UNUSED insn_referenced = abuf->written;
832 INT in_sr = -1;
833 INT in_dr = -1;
834 INT out_dr = -1;
835 in_sr = FLD (in_sr);
836 in_dr = FLD (in_dr);
837 out_dr = FLD (out_dr);
838 referenced |= 1 << 0;
839 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
840 if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
841 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
842 }
843 return cycles;
844#undef FLD
845}
846
847static int
848model_m32r_d_remu (SIM_CPU *current_cpu, void *sem_arg)
849{
96baa820 850#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
851 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
852 const IDESC * UNUSED idesc = abuf->idesc;
853 int cycles = 0;
854 {
855 int referenced = 0;
856 int UNUSED insn_referenced = abuf->written;
857 INT in_sr = -1;
858 INT in_dr = -1;
859 INT out_dr = -1;
860 in_sr = FLD (in_sr);
861 in_dr = FLD (in_dr);
862 out_dr = FLD (out_dr);
863 referenced |= 1 << 0;
864 if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
865 if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
866 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
867 }
868 return cycles;
869#undef FLD
870}
871
872static int
873model_m32r_d_jl (SIM_CPU *current_cpu, void *sem_arg)
874{
96baa820 875#define FLD(f) abuf->fields.sfmt_jl.f
c906108c
SS
876 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
877 const IDESC * UNUSED idesc = abuf->idesc;
878 int cycles = 0;
879 {
880 int referenced = 0;
881 int UNUSED insn_referenced = abuf->written;
882 INT in_sr = -1;
883 in_sr = FLD (in_sr);
884 referenced |= 1 << 0;
885 referenced |= 1 << 1;
886 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
887 }
888 return cycles;
889#undef FLD
890}
891
892static int
893model_m32r_d_jmp (SIM_CPU *current_cpu, void *sem_arg)
894{
de8f5985 895#define FLD(f) abuf->fields.sfmt_jl.f
c906108c
SS
896 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
897 const IDESC * UNUSED idesc = abuf->idesc;
898 int cycles = 0;
899 {
900 int referenced = 0;
901 int UNUSED insn_referenced = abuf->written;
902 INT in_sr = -1;
903 in_sr = FLD (in_sr);
904 referenced |= 1 << 0;
905 referenced |= 1 << 1;
906 cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
907 }
908 return cycles;
909#undef FLD
910}
911
912static int
913model_m32r_d_ld (SIM_CPU *current_cpu, void *sem_arg)
914{
96baa820 915#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
916 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
917 const IDESC * UNUSED idesc = abuf->idesc;
918 int cycles = 0;
919 {
920 int referenced = 0;
921 int UNUSED insn_referenced = abuf->written;
922 INT in_sr = 0;
923 INT out_dr = 0;
924 in_sr = FLD (in_sr);
925 out_dr = FLD (out_dr);
926 referenced |= 1 << 0;
927 referenced |= 1 << 1;
928 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
929 }
930 return cycles;
931#undef FLD
932}
933
934static int
935model_m32r_d_ld_d (SIM_CPU *current_cpu, void *sem_arg)
936{
96baa820 937#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
938 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
939 const IDESC * UNUSED idesc = abuf->idesc;
940 int cycles = 0;
941 {
942 int referenced = 0;
943 int UNUSED insn_referenced = abuf->written;
944 INT in_sr = 0;
945 INT out_dr = 0;
946 in_sr = FLD (in_sr);
947 out_dr = FLD (out_dr);
948 referenced |= 1 << 0;
949 referenced |= 1 << 1;
950 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
951 }
952 return cycles;
953#undef FLD
954}
955
956static int
957model_m32r_d_ldb (SIM_CPU *current_cpu, void *sem_arg)
958{
96baa820 959#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
960 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
961 const IDESC * UNUSED idesc = abuf->idesc;
962 int cycles = 0;
963 {
964 int referenced = 0;
965 int UNUSED insn_referenced = abuf->written;
966 INT in_sr = 0;
967 INT out_dr = 0;
968 in_sr = FLD (in_sr);
969 out_dr = FLD (out_dr);
970 referenced |= 1 << 0;
971 referenced |= 1 << 1;
972 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
973 }
974 return cycles;
975#undef FLD
976}
977
978static int
979model_m32r_d_ldb_d (SIM_CPU *current_cpu, void *sem_arg)
980{
96baa820 981#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
982 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
983 const IDESC * UNUSED idesc = abuf->idesc;
984 int cycles = 0;
985 {
986 int referenced = 0;
987 int UNUSED insn_referenced = abuf->written;
988 INT in_sr = 0;
989 INT out_dr = 0;
990 in_sr = FLD (in_sr);
991 out_dr = FLD (out_dr);
992 referenced |= 1 << 0;
993 referenced |= 1 << 1;
994 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
995 }
996 return cycles;
997#undef FLD
998}
999
1000static int
1001model_m32r_d_ldh (SIM_CPU *current_cpu, void *sem_arg)
1002{
96baa820 1003#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
1004 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1005 const IDESC * UNUSED idesc = abuf->idesc;
1006 int cycles = 0;
1007 {
1008 int referenced = 0;
1009 int UNUSED insn_referenced = abuf->written;
1010 INT in_sr = 0;
1011 INT out_dr = 0;
1012 in_sr = FLD (in_sr);
1013 out_dr = FLD (out_dr);
1014 referenced |= 1 << 0;
1015 referenced |= 1 << 1;
1016 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
1017 }
1018 return cycles;
1019#undef FLD
1020}
1021
1022static int
1023model_m32r_d_ldh_d (SIM_CPU *current_cpu, void *sem_arg)
1024{
96baa820 1025#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
1026 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1027 const IDESC * UNUSED idesc = abuf->idesc;
1028 int cycles = 0;
1029 {
1030 int referenced = 0;
1031 int UNUSED insn_referenced = abuf->written;
1032 INT in_sr = 0;
1033 INT out_dr = 0;
1034 in_sr = FLD (in_sr);
1035 out_dr = FLD (out_dr);
1036 referenced |= 1 << 0;
1037 referenced |= 1 << 1;
1038 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
1039 }
1040 return cycles;
1041#undef FLD
1042}
1043
1044static int
1045model_m32r_d_ldub (SIM_CPU *current_cpu, void *sem_arg)
1046{
96baa820 1047#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
1048 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1049 const IDESC * UNUSED idesc = abuf->idesc;
1050 int cycles = 0;
1051 {
1052 int referenced = 0;
1053 int UNUSED insn_referenced = abuf->written;
1054 INT in_sr = 0;
1055 INT out_dr = 0;
1056 in_sr = FLD (in_sr);
1057 out_dr = FLD (out_dr);
1058 referenced |= 1 << 0;
1059 referenced |= 1 << 1;
1060 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
1061 }
1062 return cycles;
1063#undef FLD
1064}
1065
1066static int
1067model_m32r_d_ldub_d (SIM_CPU *current_cpu, void *sem_arg)
1068{
96baa820 1069#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
1070 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1071 const IDESC * UNUSED idesc = abuf->idesc;
1072 int cycles = 0;
1073 {
1074 int referenced = 0;
1075 int UNUSED insn_referenced = abuf->written;
1076 INT in_sr = 0;
1077 INT out_dr = 0;
1078 in_sr = FLD (in_sr);
1079 out_dr = FLD (out_dr);
1080 referenced |= 1 << 0;
1081 referenced |= 1 << 1;
1082 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
1083 }
1084 return cycles;
1085#undef FLD
1086}
1087
1088static int
1089model_m32r_d_lduh (SIM_CPU *current_cpu, void *sem_arg)
1090{
96baa820 1091#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
1092 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1093 const IDESC * UNUSED idesc = abuf->idesc;
1094 int cycles = 0;
1095 {
1096 int referenced = 0;
1097 int UNUSED insn_referenced = abuf->written;
1098 INT in_sr = 0;
1099 INT out_dr = 0;
1100 in_sr = FLD (in_sr);
1101 out_dr = FLD (out_dr);
1102 referenced |= 1 << 0;
1103 referenced |= 1 << 1;
1104 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
1105 }
1106 return cycles;
1107#undef FLD
1108}
1109
1110static int
1111model_m32r_d_lduh_d (SIM_CPU *current_cpu, void *sem_arg)
1112{
96baa820 1113#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
1114 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1115 const IDESC * UNUSED idesc = abuf->idesc;
1116 int cycles = 0;
1117 {
1118 int referenced = 0;
1119 int UNUSED insn_referenced = abuf->written;
1120 INT in_sr = 0;
1121 INT out_dr = 0;
1122 in_sr = FLD (in_sr);
1123 out_dr = FLD (out_dr);
1124 referenced |= 1 << 0;
1125 referenced |= 1 << 1;
1126 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
1127 }
1128 return cycles;
1129#undef FLD
1130}
1131
1132static int
1133model_m32r_d_ld_plus (SIM_CPU *current_cpu, void *sem_arg)
1134{
96baa820 1135#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
1136 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1137 const IDESC * UNUSED idesc = abuf->idesc;
1138 int cycles = 0;
1139 {
1140 int referenced = 0;
1141 int UNUSED insn_referenced = abuf->written;
1142 INT in_sr = 0;
1143 INT out_dr = 0;
1144 in_sr = FLD (in_sr);
1145 out_dr = FLD (out_dr);
1146 referenced |= 1 << 0;
1147 referenced |= 1 << 1;
1148 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
1149 }
1150 {
1151 int referenced = 0;
1152 int UNUSED insn_referenced = abuf->written;
1153 INT in_sr = -1;
1154 INT in_dr = -1;
1155 INT out_dr = -1;
1156 in_dr = FLD (in_sr);
1157 out_dr = FLD (out_sr);
1158 referenced |= 1 << 0;
1159 referenced |= 1 << 2;
1160 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 1, referenced, in_sr, in_dr, out_dr);
1161 }
1162 return cycles;
1163#undef FLD
1164}
1165
1166static int
1167model_m32r_d_ld24 (SIM_CPU *current_cpu, void *sem_arg)
1168{
96baa820 1169#define FLD(f) abuf->fields.sfmt_ld24.f
c906108c
SS
1170 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1171 const IDESC * UNUSED idesc = abuf->idesc;
1172 int cycles = 0;
1173 {
1174 int referenced = 0;
1175 int UNUSED insn_referenced = abuf->written;
1176 INT in_sr = -1;
1177 INT in_dr = -1;
1178 INT out_dr = -1;
1179 out_dr = FLD (out_dr);
1180 referenced |= 1 << 2;
1181 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1182 }
1183 return cycles;
1184#undef FLD
1185}
1186
1187static int
1188model_m32r_d_ldi8 (SIM_CPU *current_cpu, void *sem_arg)
1189{
96baa820 1190#define FLD(f) abuf->fields.sfmt_addi.f
c906108c
SS
1191 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1192 const IDESC * UNUSED idesc = abuf->idesc;
1193 int cycles = 0;
1194 {
1195 int referenced = 0;
1196 int UNUSED insn_referenced = abuf->written;
1197 INT in_sr = -1;
1198 INT in_dr = -1;
1199 INT out_dr = -1;
1200 out_dr = FLD (out_dr);
1201 referenced |= 1 << 2;
1202 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1203 }
1204 return cycles;
1205#undef FLD
1206}
1207
1208static int
1209model_m32r_d_ldi16 (SIM_CPU *current_cpu, void *sem_arg)
1210{
96baa820 1211#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
1212 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1213 const IDESC * UNUSED idesc = abuf->idesc;
1214 int cycles = 0;
1215 {
1216 int referenced = 0;
1217 int UNUSED insn_referenced = abuf->written;
1218 INT in_sr = -1;
1219 INT in_dr = -1;
1220 INT out_dr = -1;
1221 out_dr = FLD (out_dr);
1222 referenced |= 1 << 2;
1223 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1224 }
1225 return cycles;
1226#undef FLD
1227}
1228
1229static int
1230model_m32r_d_lock (SIM_CPU *current_cpu, void *sem_arg)
1231{
96baa820 1232#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
1233 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1234 const IDESC * UNUSED idesc = abuf->idesc;
1235 int cycles = 0;
1236 {
1237 int referenced = 0;
1238 int UNUSED insn_referenced = abuf->written;
1239 INT in_sr = 0;
1240 INT out_dr = 0;
1241 in_sr = FLD (in_sr);
1242 out_dr = FLD (out_dr);
1243 referenced |= 1 << 0;
1244 referenced |= 1 << 1;
1245 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
1246 }
1247 return cycles;
1248#undef FLD
1249}
1250
1251static int
1252model_m32r_d_machi (SIM_CPU *current_cpu, void *sem_arg)
1253{
96baa820 1254#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
1255 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1256 const IDESC * UNUSED idesc = abuf->idesc;
1257 int cycles = 0;
1258 {
1259 int referenced = 0;
1260 int UNUSED insn_referenced = abuf->written;
1261 INT in_src1 = -1;
1262 INT in_src2 = -1;
1263 in_src1 = FLD (in_src1);
1264 in_src2 = FLD (in_src2);
1265 referenced |= 1 << 0;
1266 referenced |= 1 << 1;
1267 cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
1268 }
1269 return cycles;
1270#undef FLD
1271}
1272
1273static int
1274model_m32r_d_maclo (SIM_CPU *current_cpu, void *sem_arg)
1275{
96baa820 1276#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
1277 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1278 const IDESC * UNUSED idesc = abuf->idesc;
1279 int cycles = 0;
1280 {
1281 int referenced = 0;
1282 int UNUSED insn_referenced = abuf->written;
1283 INT in_src1 = -1;
1284 INT in_src2 = -1;
1285 in_src1 = FLD (in_src1);
1286 in_src2 = FLD (in_src2);
1287 referenced |= 1 << 0;
1288 referenced |= 1 << 1;
1289 cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
1290 }
1291 return cycles;
1292#undef FLD
1293}
1294
1295static int
1296model_m32r_d_macwhi (SIM_CPU *current_cpu, void *sem_arg)
1297{
96baa820 1298#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
1299 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1300 const IDESC * UNUSED idesc = abuf->idesc;
1301 int cycles = 0;
1302 {
1303 int referenced = 0;
1304 int UNUSED insn_referenced = abuf->written;
1305 INT in_src1 = -1;
1306 INT in_src2 = -1;
1307 in_src1 = FLD (in_src1);
1308 in_src2 = FLD (in_src2);
1309 referenced |= 1 << 0;
1310 referenced |= 1 << 1;
1311 cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
1312 }
1313 return cycles;
1314#undef FLD
1315}
1316
1317static int
1318model_m32r_d_macwlo (SIM_CPU *current_cpu, void *sem_arg)
1319{
96baa820 1320#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
1321 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1322 const IDESC * UNUSED idesc = abuf->idesc;
1323 int cycles = 0;
1324 {
1325 int referenced = 0;
1326 int UNUSED insn_referenced = abuf->written;
1327 INT in_src1 = -1;
1328 INT in_src2 = -1;
1329 in_src1 = FLD (in_src1);
1330 in_src2 = FLD (in_src2);
1331 referenced |= 1 << 0;
1332 referenced |= 1 << 1;
1333 cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
1334 }
1335 return cycles;
1336#undef FLD
1337}
1338
1339static int
1340model_m32r_d_mul (SIM_CPU *current_cpu, void *sem_arg)
1341{
96baa820 1342#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
1343 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1344 const IDESC * UNUSED idesc = abuf->idesc;
1345 int cycles = 0;
1346 {
1347 int referenced = 0;
1348 int UNUSED insn_referenced = abuf->written;
1349 INT in_sr = -1;
1350 INT in_dr = -1;
1351 INT out_dr = -1;
1352 in_sr = FLD (in_sr);
1353 in_dr = FLD (in_dr);
1354 out_dr = FLD (out_dr);
1355 referenced |= 1 << 0;
1356 referenced |= 1 << 1;
1357 referenced |= 1 << 2;
1358 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1359 }
1360 return cycles;
1361#undef FLD
1362}
1363
1364static int
1365model_m32r_d_mulhi (SIM_CPU *current_cpu, void *sem_arg)
1366{
96baa820 1367#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
1368 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1369 const IDESC * UNUSED idesc = abuf->idesc;
1370 int cycles = 0;
1371 {
1372 int referenced = 0;
1373 int UNUSED insn_referenced = abuf->written;
1374 INT in_src1 = -1;
1375 INT in_src2 = -1;
1376 in_src1 = FLD (in_src1);
1377 in_src2 = FLD (in_src2);
1378 referenced |= 1 << 0;
1379 referenced |= 1 << 1;
1380 cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
1381 }
1382 return cycles;
1383#undef FLD
1384}
1385
1386static int
1387model_m32r_d_mullo (SIM_CPU *current_cpu, void *sem_arg)
1388{
96baa820 1389#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
1390 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1391 const IDESC * UNUSED idesc = abuf->idesc;
1392 int cycles = 0;
1393 {
1394 int referenced = 0;
1395 int UNUSED insn_referenced = abuf->written;
1396 INT in_src1 = -1;
1397 INT in_src2 = -1;
1398 in_src1 = FLD (in_src1);
1399 in_src2 = FLD (in_src2);
1400 referenced |= 1 << 0;
1401 referenced |= 1 << 1;
1402 cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
1403 }
1404 return cycles;
1405#undef FLD
1406}
1407
1408static int
1409model_m32r_d_mulwhi (SIM_CPU *current_cpu, void *sem_arg)
1410{
96baa820 1411#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
1412 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1413 const IDESC * UNUSED idesc = abuf->idesc;
1414 int cycles = 0;
1415 {
1416 int referenced = 0;
1417 int UNUSED insn_referenced = abuf->written;
1418 INT in_src1 = -1;
1419 INT in_src2 = -1;
1420 in_src1 = FLD (in_src1);
1421 in_src2 = FLD (in_src2);
1422 referenced |= 1 << 0;
1423 referenced |= 1 << 1;
1424 cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
1425 }
1426 return cycles;
1427#undef FLD
1428}
1429
1430static int
1431model_m32r_d_mulwlo (SIM_CPU *current_cpu, void *sem_arg)
1432{
96baa820 1433#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
1434 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1435 const IDESC * UNUSED idesc = abuf->idesc;
1436 int cycles = 0;
1437 {
1438 int referenced = 0;
1439 int UNUSED insn_referenced = abuf->written;
1440 INT in_src1 = -1;
1441 INT in_src2 = -1;
1442 in_src1 = FLD (in_src1);
1443 in_src2 = FLD (in_src2);
1444 referenced |= 1 << 0;
1445 referenced |= 1 << 1;
1446 cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
1447 }
1448 return cycles;
1449#undef FLD
1450}
1451
1452static int
1453model_m32r_d_mv (SIM_CPU *current_cpu, void *sem_arg)
1454{
96baa820 1455#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
1456 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1457 const IDESC * UNUSED idesc = abuf->idesc;
1458 int cycles = 0;
1459 {
1460 int referenced = 0;
1461 int UNUSED insn_referenced = abuf->written;
1462 INT in_sr = -1;
1463 INT in_dr = -1;
1464 INT out_dr = -1;
1465 in_sr = FLD (in_sr);
1466 out_dr = FLD (out_dr);
1467 referenced |= 1 << 0;
1468 referenced |= 1 << 2;
1469 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1470 }
1471 return cycles;
1472#undef FLD
1473}
1474
1475static int
1476model_m32r_d_mvfachi (SIM_CPU *current_cpu, void *sem_arg)
1477{
96baa820 1478#define FLD(f) abuf->fields.sfmt_seth.f
c906108c
SS
1479 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1480 const IDESC * UNUSED idesc = abuf->idesc;
1481 int cycles = 0;
1482 {
1483 int referenced = 0;
1484 int UNUSED insn_referenced = abuf->written;
1485 INT in_sr = -1;
1486 INT in_dr = -1;
1487 INT out_dr = -1;
1488 out_dr = FLD (out_dr);
1489 referenced |= 1 << 2;
1490 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1491 }
1492 return cycles;
1493#undef FLD
1494}
1495
1496static int
1497model_m32r_d_mvfaclo (SIM_CPU *current_cpu, void *sem_arg)
1498{
96baa820 1499#define FLD(f) abuf->fields.sfmt_seth.f
c906108c
SS
1500 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1501 const IDESC * UNUSED idesc = abuf->idesc;
1502 int cycles = 0;
1503 {
1504 int referenced = 0;
1505 int UNUSED insn_referenced = abuf->written;
1506 INT in_sr = -1;
1507 INT in_dr = -1;
1508 INT out_dr = -1;
1509 out_dr = FLD (out_dr);
1510 referenced |= 1 << 2;
1511 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1512 }
1513 return cycles;
1514#undef FLD
1515}
1516
1517static int
1518model_m32r_d_mvfacmi (SIM_CPU *current_cpu, void *sem_arg)
1519{
96baa820 1520#define FLD(f) abuf->fields.sfmt_seth.f
c906108c
SS
1521 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1522 const IDESC * UNUSED idesc = abuf->idesc;
1523 int cycles = 0;
1524 {
1525 int referenced = 0;
1526 int UNUSED insn_referenced = abuf->written;
1527 INT in_sr = -1;
1528 INT in_dr = -1;
1529 INT out_dr = -1;
1530 out_dr = FLD (out_dr);
1531 referenced |= 1 << 2;
1532 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1533 }
1534 return cycles;
1535#undef FLD
1536}
1537
1538static int
1539model_m32r_d_mvfc (SIM_CPU *current_cpu, void *sem_arg)
1540{
de8f5985 1541#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
1542 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1543 const IDESC * UNUSED idesc = abuf->idesc;
1544 int cycles = 0;
1545 {
1546 int referenced = 0;
1547 int UNUSED insn_referenced = abuf->written;
1548 INT in_sr = -1;
1549 INT in_dr = -1;
1550 INT out_dr = -1;
1551 out_dr = FLD (out_dr);
1552 referenced |= 1 << 2;
1553 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1554 }
1555 return cycles;
1556#undef FLD
1557}
1558
1559static int
1560model_m32r_d_mvtachi (SIM_CPU *current_cpu, void *sem_arg)
1561{
96baa820 1562#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
1563 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1564 const IDESC * UNUSED idesc = abuf->idesc;
1565 int cycles = 0;
1566 {
1567 int referenced = 0;
1568 int UNUSED insn_referenced = abuf->written;
1569 INT in_sr = -1;
1570 INT in_dr = -1;
1571 INT out_dr = -1;
1572 in_sr = FLD (in_src1);
1573 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1574 }
1575 return cycles;
1576#undef FLD
1577}
1578
1579static int
1580model_m32r_d_mvtaclo (SIM_CPU *current_cpu, void *sem_arg)
1581{
96baa820 1582#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
1583 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1584 const IDESC * UNUSED idesc = abuf->idesc;
1585 int cycles = 0;
1586 {
1587 int referenced = 0;
1588 int UNUSED insn_referenced = abuf->written;
1589 INT in_sr = -1;
1590 INT in_dr = -1;
1591 INT out_dr = -1;
1592 in_sr = FLD (in_src1);
1593 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1594 }
1595 return cycles;
1596#undef FLD
1597}
1598
1599static int
1600model_m32r_d_mvtc (SIM_CPU *current_cpu, void *sem_arg)
1601{
de8f5985 1602#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
1603 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1604 const IDESC * UNUSED idesc = abuf->idesc;
1605 int cycles = 0;
1606 {
1607 int referenced = 0;
1608 int UNUSED insn_referenced = abuf->written;
1609 INT in_sr = -1;
1610 INT in_dr = -1;
1611 INT out_dr = -1;
1612 in_sr = FLD (in_sr);
1613 referenced |= 1 << 0;
1614 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1615 }
1616 return cycles;
1617#undef FLD
1618}
1619
1620static int
1621model_m32r_d_neg (SIM_CPU *current_cpu, void *sem_arg)
1622{
96baa820 1623#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
1624 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1625 const IDESC * UNUSED idesc = abuf->idesc;
1626 int cycles = 0;
1627 {
1628 int referenced = 0;
1629 int UNUSED insn_referenced = abuf->written;
1630 INT in_sr = -1;
1631 INT in_dr = -1;
1632 INT out_dr = -1;
1633 in_sr = FLD (in_sr);
1634 out_dr = FLD (out_dr);
1635 referenced |= 1 << 0;
1636 referenced |= 1 << 2;
1637 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1638 }
1639 return cycles;
1640#undef FLD
1641}
1642
1643static int
1644model_m32r_d_nop (SIM_CPU *current_cpu, void *sem_arg)
1645{
2310652a 1646#define FLD(f) abuf->fields.sfmt_empty.f
c906108c
SS
1647 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1648 const IDESC * UNUSED idesc = abuf->idesc;
1649 int cycles = 0;
1650 {
1651 int referenced = 0;
1652 int UNUSED insn_referenced = abuf->written;
1653 INT in_sr = -1;
1654 INT in_dr = -1;
1655 INT out_dr = -1;
1656 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1657 }
1658 return cycles;
1659#undef FLD
1660}
1661
1662static int
1663model_m32r_d_not (SIM_CPU *current_cpu, void *sem_arg)
1664{
96baa820 1665#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
1666 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1667 const IDESC * UNUSED idesc = abuf->idesc;
1668 int cycles = 0;
1669 {
1670 int referenced = 0;
1671 int UNUSED insn_referenced = abuf->written;
1672 INT in_sr = -1;
1673 INT in_dr = -1;
1674 INT out_dr = -1;
1675 in_sr = FLD (in_sr);
1676 out_dr = FLD (out_dr);
1677 referenced |= 1 << 0;
1678 referenced |= 1 << 2;
1679 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1680 }
1681 return cycles;
1682#undef FLD
1683}
1684
1685static int
1686model_m32r_d_rac (SIM_CPU *current_cpu, void *sem_arg)
1687{
2310652a 1688#define FLD(f) abuf->fields.sfmt_empty.f
c906108c
SS
1689 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1690 const IDESC * UNUSED idesc = abuf->idesc;
1691 int cycles = 0;
1692 {
1693 int referenced = 0;
1694 int UNUSED insn_referenced = abuf->written;
1695 INT in_src1 = -1;
1696 INT in_src2 = -1;
1697 cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
1698 }
1699 return cycles;
1700#undef FLD
1701}
1702
1703static int
1704model_m32r_d_rach (SIM_CPU *current_cpu, void *sem_arg)
1705{
2310652a 1706#define FLD(f) abuf->fields.sfmt_empty.f
c906108c
SS
1707 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1708 const IDESC * UNUSED idesc = abuf->idesc;
1709 int cycles = 0;
1710 {
1711 int referenced = 0;
1712 int UNUSED insn_referenced = abuf->written;
1713 INT in_src1 = -1;
1714 INT in_src2 = -1;
1715 cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
1716 }
1717 return cycles;
1718#undef FLD
1719}
1720
1721static int
1722model_m32r_d_rte (SIM_CPU *current_cpu, void *sem_arg)
1723{
2310652a 1724#define FLD(f) abuf->fields.sfmt_empty.f
c906108c
SS
1725 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1726 const IDESC * UNUSED idesc = abuf->idesc;
1727 int cycles = 0;
1728 {
1729 int referenced = 0;
1730 int UNUSED insn_referenced = abuf->written;
1731 INT in_sr = -1;
1732 INT in_dr = -1;
1733 INT out_dr = -1;
1734 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1735 }
1736 return cycles;
1737#undef FLD
1738}
1739
1740static int
1741model_m32r_d_seth (SIM_CPU *current_cpu, void *sem_arg)
1742{
96baa820 1743#define FLD(f) abuf->fields.sfmt_seth.f
c906108c
SS
1744 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1745 const IDESC * UNUSED idesc = abuf->idesc;
1746 int cycles = 0;
1747 {
1748 int referenced = 0;
1749 int UNUSED insn_referenced = abuf->written;
1750 INT in_sr = -1;
1751 INT in_dr = -1;
1752 INT out_dr = -1;
1753 out_dr = FLD (out_dr);
1754 referenced |= 1 << 2;
1755 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1756 }
1757 return cycles;
1758#undef FLD
1759}
1760
1761static int
1762model_m32r_d_sll (SIM_CPU *current_cpu, void *sem_arg)
1763{
96baa820 1764#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
1765 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1766 const IDESC * UNUSED idesc = abuf->idesc;
1767 int cycles = 0;
1768 {
1769 int referenced = 0;
1770 int UNUSED insn_referenced = abuf->written;
1771 INT in_sr = -1;
1772 INT in_dr = -1;
1773 INT out_dr = -1;
1774 in_sr = FLD (in_sr);
1775 in_dr = FLD (in_dr);
1776 out_dr = FLD (out_dr);
1777 referenced |= 1 << 0;
1778 referenced |= 1 << 1;
1779 referenced |= 1 << 2;
1780 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1781 }
1782 return cycles;
1783#undef FLD
1784}
1785
1786static int
1787model_m32r_d_sll3 (SIM_CPU *current_cpu, void *sem_arg)
1788{
96baa820 1789#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
1790 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1791 const IDESC * UNUSED idesc = abuf->idesc;
1792 int cycles = 0;
1793 {
1794 int referenced = 0;
1795 int UNUSED insn_referenced = abuf->written;
1796 INT in_sr = -1;
1797 INT in_dr = -1;
1798 INT out_dr = -1;
1799 in_sr = FLD (in_sr);
1800 out_dr = FLD (out_dr);
1801 referenced |= 1 << 0;
1802 referenced |= 1 << 2;
1803 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1804 }
1805 return cycles;
1806#undef FLD
1807}
1808
1809static int
1810model_m32r_d_slli (SIM_CPU *current_cpu, void *sem_arg)
1811{
96baa820 1812#define FLD(f) abuf->fields.sfmt_slli.f
c906108c
SS
1813 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1814 const IDESC * UNUSED idesc = abuf->idesc;
1815 int cycles = 0;
1816 {
1817 int referenced = 0;
1818 int UNUSED insn_referenced = abuf->written;
1819 INT in_sr = -1;
1820 INT in_dr = -1;
1821 INT out_dr = -1;
1822 in_dr = FLD (in_dr);
1823 out_dr = FLD (out_dr);
1824 referenced |= 1 << 1;
1825 referenced |= 1 << 2;
1826 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1827 }
1828 return cycles;
1829#undef FLD
1830}
1831
1832static int
1833model_m32r_d_sra (SIM_CPU *current_cpu, void *sem_arg)
1834{
96baa820 1835#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
1836 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1837 const IDESC * UNUSED idesc = abuf->idesc;
1838 int cycles = 0;
1839 {
1840 int referenced = 0;
1841 int UNUSED insn_referenced = abuf->written;
1842 INT in_sr = -1;
1843 INT in_dr = -1;
1844 INT out_dr = -1;
1845 in_sr = FLD (in_sr);
1846 in_dr = FLD (in_dr);
1847 out_dr = FLD (out_dr);
1848 referenced |= 1 << 0;
1849 referenced |= 1 << 1;
1850 referenced |= 1 << 2;
1851 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1852 }
1853 return cycles;
1854#undef FLD
1855}
1856
1857static int
1858model_m32r_d_sra3 (SIM_CPU *current_cpu, void *sem_arg)
1859{
96baa820 1860#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
1861 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1862 const IDESC * UNUSED idesc = abuf->idesc;
1863 int cycles = 0;
1864 {
1865 int referenced = 0;
1866 int UNUSED insn_referenced = abuf->written;
1867 INT in_sr = -1;
1868 INT in_dr = -1;
1869 INT out_dr = -1;
1870 in_sr = FLD (in_sr);
1871 out_dr = FLD (out_dr);
1872 referenced |= 1 << 0;
1873 referenced |= 1 << 2;
1874 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1875 }
1876 return cycles;
1877#undef FLD
1878}
1879
1880static int
1881model_m32r_d_srai (SIM_CPU *current_cpu, void *sem_arg)
1882{
96baa820 1883#define FLD(f) abuf->fields.sfmt_slli.f
c906108c
SS
1884 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1885 const IDESC * UNUSED idesc = abuf->idesc;
1886 int cycles = 0;
1887 {
1888 int referenced = 0;
1889 int UNUSED insn_referenced = abuf->written;
1890 INT in_sr = -1;
1891 INT in_dr = -1;
1892 INT out_dr = -1;
1893 in_dr = FLD (in_dr);
1894 out_dr = FLD (out_dr);
1895 referenced |= 1 << 1;
1896 referenced |= 1 << 2;
1897 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1898 }
1899 return cycles;
1900#undef FLD
1901}
1902
1903static int
1904model_m32r_d_srl (SIM_CPU *current_cpu, void *sem_arg)
1905{
96baa820 1906#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
1907 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1908 const IDESC * UNUSED idesc = abuf->idesc;
1909 int cycles = 0;
1910 {
1911 int referenced = 0;
1912 int UNUSED insn_referenced = abuf->written;
1913 INT in_sr = -1;
1914 INT in_dr = -1;
1915 INT out_dr = -1;
1916 in_sr = FLD (in_sr);
1917 in_dr = FLD (in_dr);
1918 out_dr = FLD (out_dr);
1919 referenced |= 1 << 0;
1920 referenced |= 1 << 1;
1921 referenced |= 1 << 2;
1922 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1923 }
1924 return cycles;
1925#undef FLD
1926}
1927
1928static int
1929model_m32r_d_srl3 (SIM_CPU *current_cpu, void *sem_arg)
1930{
96baa820 1931#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
1932 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1933 const IDESC * UNUSED idesc = abuf->idesc;
1934 int cycles = 0;
1935 {
1936 int referenced = 0;
1937 int UNUSED insn_referenced = abuf->written;
1938 INT in_sr = -1;
1939 INT in_dr = -1;
1940 INT out_dr = -1;
1941 in_sr = FLD (in_sr);
1942 out_dr = FLD (out_dr);
1943 referenced |= 1 << 0;
1944 referenced |= 1 << 2;
1945 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1946 }
1947 return cycles;
1948#undef FLD
1949}
1950
1951static int
1952model_m32r_d_srli (SIM_CPU *current_cpu, void *sem_arg)
1953{
96baa820 1954#define FLD(f) abuf->fields.sfmt_slli.f
c906108c
SS
1955 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1956 const IDESC * UNUSED idesc = abuf->idesc;
1957 int cycles = 0;
1958 {
1959 int referenced = 0;
1960 int UNUSED insn_referenced = abuf->written;
1961 INT in_sr = -1;
1962 INT in_dr = -1;
1963 INT out_dr = -1;
1964 in_dr = FLD (in_dr);
1965 out_dr = FLD (out_dr);
1966 referenced |= 1 << 1;
1967 referenced |= 1 << 2;
1968 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
1969 }
1970 return cycles;
1971#undef FLD
1972}
1973
1974static int
1975model_m32r_d_st (SIM_CPU *current_cpu, void *sem_arg)
1976{
96baa820 1977#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
1978 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1979 const IDESC * UNUSED idesc = abuf->idesc;
1980 int cycles = 0;
1981 {
1982 int referenced = 0;
1983 int UNUSED insn_referenced = abuf->written;
1984 INT in_src1 = 0;
1985 INT in_src2 = 0;
1986 in_src1 = FLD (in_src1);
1987 in_src2 = FLD (in_src2);
1988 referenced |= 1 << 0;
1989 referenced |= 1 << 1;
1990 cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
1991 }
1992 return cycles;
1993#undef FLD
1994}
1995
1996static int
1997model_m32r_d_st_d (SIM_CPU *current_cpu, void *sem_arg)
1998{
96baa820 1999#define FLD(f) abuf->fields.sfmt_st_d.f
c906108c
SS
2000 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2001 const IDESC * UNUSED idesc = abuf->idesc;
2002 int cycles = 0;
2003 {
2004 int referenced = 0;
2005 int UNUSED insn_referenced = abuf->written;
2006 INT in_src1 = 0;
2007 INT in_src2 = 0;
2008 in_src1 = FLD (in_src1);
2009 in_src2 = FLD (in_src2);
2010 referenced |= 1 << 0;
2011 referenced |= 1 << 1;
2012 cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
2013 }
2014 return cycles;
2015#undef FLD
2016}
2017
2018static int
2019model_m32r_d_stb (SIM_CPU *current_cpu, void *sem_arg)
2020{
96baa820 2021#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
2022 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2023 const IDESC * UNUSED idesc = abuf->idesc;
2024 int cycles = 0;
2025 {
2026 int referenced = 0;
2027 int UNUSED insn_referenced = abuf->written;
2028 INT in_src1 = 0;
2029 INT in_src2 = 0;
2030 in_src1 = FLD (in_src1);
2031 in_src2 = FLD (in_src2);
2032 referenced |= 1 << 0;
2033 referenced |= 1 << 1;
2034 cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
2035 }
2036 return cycles;
2037#undef FLD
2038}
2039
2040static int
2041model_m32r_d_stb_d (SIM_CPU *current_cpu, void *sem_arg)
2042{
96baa820 2043#define FLD(f) abuf->fields.sfmt_st_d.f
c906108c
SS
2044 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2045 const IDESC * UNUSED idesc = abuf->idesc;
2046 int cycles = 0;
2047 {
2048 int referenced = 0;
2049 int UNUSED insn_referenced = abuf->written;
2050 INT in_src1 = 0;
2051 INT in_src2 = 0;
2052 in_src1 = FLD (in_src1);
2053 in_src2 = FLD (in_src2);
2054 referenced |= 1 << 0;
2055 referenced |= 1 << 1;
2056 cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
2057 }
2058 return cycles;
2059#undef FLD
2060}
2061
2062static int
2063model_m32r_d_sth (SIM_CPU *current_cpu, void *sem_arg)
2064{
96baa820 2065#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
2066 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2067 const IDESC * UNUSED idesc = abuf->idesc;
2068 int cycles = 0;
2069 {
2070 int referenced = 0;
2071 int UNUSED insn_referenced = abuf->written;
2072 INT in_src1 = 0;
2073 INT in_src2 = 0;
2074 in_src1 = FLD (in_src1);
2075 in_src2 = FLD (in_src2);
2076 referenced |= 1 << 0;
2077 referenced |= 1 << 1;
2078 cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
2079 }
2080 return cycles;
2081#undef FLD
2082}
2083
2084static int
2085model_m32r_d_sth_d (SIM_CPU *current_cpu, void *sem_arg)
2086{
96baa820 2087#define FLD(f) abuf->fields.sfmt_st_d.f
c906108c
SS
2088 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2089 const IDESC * UNUSED idesc = abuf->idesc;
2090 int cycles = 0;
2091 {
2092 int referenced = 0;
2093 int UNUSED insn_referenced = abuf->written;
2094 INT in_src1 = 0;
2095 INT in_src2 = 0;
2096 in_src1 = FLD (in_src1);
2097 in_src2 = FLD (in_src2);
2098 referenced |= 1 << 0;
2099 referenced |= 1 << 1;
2100 cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
2101 }
2102 return cycles;
2103#undef FLD
2104}
2105
2106static int
2107model_m32r_d_st_plus (SIM_CPU *current_cpu, void *sem_arg)
2108{
96baa820 2109#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
2110 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2111 const IDESC * UNUSED idesc = abuf->idesc;
2112 int cycles = 0;
2113 {
2114 int referenced = 0;
2115 int UNUSED insn_referenced = abuf->written;
2116 INT in_src1 = 0;
2117 INT in_src2 = 0;
2118 in_src1 = FLD (in_src1);
2119 in_src2 = FLD (in_src2);
2120 referenced |= 1 << 0;
2121 referenced |= 1 << 1;
2122 cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
2123 }
2124 {
2125 int referenced = 0;
2126 int UNUSED insn_referenced = abuf->written;
2127 INT in_sr = -1;
2128 INT in_dr = -1;
2129 INT out_dr = -1;
2130 in_dr = FLD (in_src2);
2131 out_dr = FLD (out_src2);
2132 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 1, referenced, in_sr, in_dr, out_dr);
2133 }
2134 return cycles;
2135#undef FLD
2136}
2137
2138static int
2139model_m32r_d_st_minus (SIM_CPU *current_cpu, void *sem_arg)
2140{
96baa820 2141#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
2142 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2143 const IDESC * UNUSED idesc = abuf->idesc;
2144 int cycles = 0;
2145 {
2146 int referenced = 0;
2147 int UNUSED insn_referenced = abuf->written;
2148 INT in_src1 = 0;
2149 INT in_src2 = 0;
2150 in_src1 = FLD (in_src1);
2151 in_src2 = FLD (in_src2);
2152 referenced |= 1 << 0;
2153 referenced |= 1 << 1;
2154 cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
2155 }
2156 {
2157 int referenced = 0;
2158 int UNUSED insn_referenced = abuf->written;
2159 INT in_sr = -1;
2160 INT in_dr = -1;
2161 INT out_dr = -1;
2162 in_dr = FLD (in_src2);
2163 out_dr = FLD (out_src2);
2164 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 1, referenced, in_sr, in_dr, out_dr);
2165 }
2166 return cycles;
2167#undef FLD
2168}
2169
2170static int
2171model_m32r_d_sub (SIM_CPU *current_cpu, void *sem_arg)
2172{
96baa820 2173#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2174 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2175 const IDESC * UNUSED idesc = abuf->idesc;
2176 int cycles = 0;
2177 {
2178 int referenced = 0;
2179 int UNUSED insn_referenced = abuf->written;
2180 INT in_sr = -1;
2181 INT in_dr = -1;
2182 INT out_dr = -1;
2183 in_sr = FLD (in_sr);
2184 in_dr = FLD (in_dr);
2185 out_dr = FLD (out_dr);
2186 referenced |= 1 << 0;
2187 referenced |= 1 << 1;
2188 referenced |= 1 << 2;
2189 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
2190 }
2191 return cycles;
2192#undef FLD
2193}
2194
2195static int
2196model_m32r_d_subv (SIM_CPU *current_cpu, void *sem_arg)
2197{
96baa820 2198#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2199 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2200 const IDESC * UNUSED idesc = abuf->idesc;
2201 int cycles = 0;
2202 {
2203 int referenced = 0;
2204 int UNUSED insn_referenced = abuf->written;
2205 INT in_sr = -1;
2206 INT in_dr = -1;
2207 INT out_dr = -1;
2208 in_sr = FLD (in_sr);
2209 in_dr = FLD (in_dr);
2210 out_dr = FLD (out_dr);
2211 referenced |= 1 << 0;
2212 referenced |= 1 << 1;
2213 referenced |= 1 << 2;
2214 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
2215 }
2216 return cycles;
2217#undef FLD
2218}
2219
2220static int
2221model_m32r_d_subx (SIM_CPU *current_cpu, void *sem_arg)
2222{
96baa820 2223#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2224 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2225 const IDESC * UNUSED idesc = abuf->idesc;
2226 int cycles = 0;
2227 {
2228 int referenced = 0;
2229 int UNUSED insn_referenced = abuf->written;
2230 INT in_sr = -1;
2231 INT in_dr = -1;
2232 INT out_dr = -1;
2233 in_sr = FLD (in_sr);
2234 in_dr = FLD (in_dr);
2235 out_dr = FLD (out_dr);
2236 referenced |= 1 << 0;
2237 referenced |= 1 << 1;
2238 referenced |= 1 << 2;
2239 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
2240 }
2241 return cycles;
2242#undef FLD
2243}
2244
2245static int
2246model_m32r_d_trap (SIM_CPU *current_cpu, void *sem_arg)
2247{
96baa820 2248#define FLD(f) abuf->fields.sfmt_trap.f
c906108c
SS
2249 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2250 const IDESC * UNUSED idesc = abuf->idesc;
2251 int cycles = 0;
2252 {
2253 int referenced = 0;
2254 int UNUSED insn_referenced = abuf->written;
2255 INT in_sr = -1;
2256 INT in_dr = -1;
2257 INT out_dr = -1;
2258 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
2259 }
2260 return cycles;
2261#undef FLD
2262}
2263
2264static int
2265model_m32r_d_unlock (SIM_CPU *current_cpu, void *sem_arg)
2266{
96baa820 2267#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
2268 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2269 const IDESC * UNUSED idesc = abuf->idesc;
2270 int cycles = 0;
2271 {
2272 int referenced = 0;
2273 int UNUSED insn_referenced = abuf->written;
2274 INT in_sr = 0;
2275 INT out_dr = 0;
2276 cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
2277 }
2278 return cycles;
2279#undef FLD
2280}
2281
16b47b25
NC
2282static int
2283model_m32r_d_clrpsw (SIM_CPU *current_cpu, void *sem_arg)
2284{
2285#define FLD(f) abuf->fields.sfmt_clrpsw.f
2286 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2287 const IDESC * UNUSED idesc = abuf->idesc;
2288 int cycles = 0;
2289 {
2290 int referenced = 0;
2291 int UNUSED insn_referenced = abuf->written;
2292 INT in_sr = -1;
2293 INT in_dr = -1;
2294 INT out_dr = -1;
2295 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
2296 }
2297 return cycles;
2298#undef FLD
2299}
2300
2301static int
2302model_m32r_d_setpsw (SIM_CPU *current_cpu, void *sem_arg)
2303{
2304#define FLD(f) abuf->fields.sfmt_clrpsw.f
2305 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2306 const IDESC * UNUSED idesc = abuf->idesc;
2307 int cycles = 0;
2308 {
2309 int referenced = 0;
2310 int UNUSED insn_referenced = abuf->written;
2311 INT in_sr = -1;
2312 INT in_dr = -1;
2313 INT out_dr = -1;
2314 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
2315 }
2316 return cycles;
2317#undef FLD
2318}
2319
2320static int
2321model_m32r_d_bset (SIM_CPU *current_cpu, void *sem_arg)
2322{
2323#define FLD(f) abuf->fields.sfmt_bset.f
2324 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2325 const IDESC * UNUSED idesc = abuf->idesc;
2326 int cycles = 0;
2327 {
2328 int referenced = 0;
2329 int UNUSED insn_referenced = abuf->written;
2330 INT in_sr = -1;
2331 INT in_dr = -1;
2332 INT out_dr = -1;
2333 in_sr = FLD (in_sr);
2334 referenced |= 1 << 0;
2335 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
2336 }
2337 return cycles;
2338#undef FLD
2339}
2340
2341static int
2342model_m32r_d_bclr (SIM_CPU *current_cpu, void *sem_arg)
2343{
2344#define FLD(f) abuf->fields.sfmt_bset.f
2345 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2346 const IDESC * UNUSED idesc = abuf->idesc;
2347 int cycles = 0;
2348 {
2349 int referenced = 0;
2350 int UNUSED insn_referenced = abuf->written;
2351 INT in_sr = -1;
2352 INT in_dr = -1;
2353 INT out_dr = -1;
2354 in_sr = FLD (in_sr);
2355 referenced |= 1 << 0;
2356 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
2357 }
2358 return cycles;
2359#undef FLD
2360}
2361
2362static int
2363model_m32r_d_btst (SIM_CPU *current_cpu, void *sem_arg)
2364{
2365#define FLD(f) abuf->fields.sfmt_bset.f
2366 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2367 const IDESC * UNUSED idesc = abuf->idesc;
2368 int cycles = 0;
2369 {
2370 int referenced = 0;
2371 int UNUSED insn_referenced = abuf->written;
2372 INT in_sr = -1;
2373 INT in_dr = -1;
2374 INT out_dr = -1;
2375 in_sr = FLD (in_sr);
2376 referenced |= 1 << 0;
2377 cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
2378 }
2379 return cycles;
2380#undef FLD
2381}
2382
c906108c
SS
2383static int
2384model_test_add (SIM_CPU *current_cpu, void *sem_arg)
2385{
96baa820 2386#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2387 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2388 const IDESC * UNUSED idesc = abuf->idesc;
2389 int cycles = 0;
2390 {
2391 int referenced = 0;
2392 int UNUSED insn_referenced = abuf->written;
2393 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2394 }
2395 return cycles;
2396#undef FLD
2397}
2398
2399static int
2400model_test_add3 (SIM_CPU *current_cpu, void *sem_arg)
2401{
96baa820 2402#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
2403 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2404 const IDESC * UNUSED idesc = abuf->idesc;
2405 int cycles = 0;
2406 {
2407 int referenced = 0;
2408 int UNUSED insn_referenced = abuf->written;
2409 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2410 }
2411 return cycles;
2412#undef FLD
2413}
2414
2415static int
2416model_test_and (SIM_CPU *current_cpu, void *sem_arg)
2417{
96baa820 2418#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2419 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2420 const IDESC * UNUSED idesc = abuf->idesc;
2421 int cycles = 0;
2422 {
2423 int referenced = 0;
2424 int UNUSED insn_referenced = abuf->written;
2425 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2426 }
2427 return cycles;
2428#undef FLD
2429}
2430
2431static int
2432model_test_and3 (SIM_CPU *current_cpu, void *sem_arg)
2433{
96baa820 2434#define FLD(f) abuf->fields.sfmt_and3.f
c906108c
SS
2435 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2436 const IDESC * UNUSED idesc = abuf->idesc;
2437 int cycles = 0;
2438 {
2439 int referenced = 0;
2440 int UNUSED insn_referenced = abuf->written;
2441 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2442 }
2443 return cycles;
2444#undef FLD
2445}
2446
2447static int
2448model_test_or (SIM_CPU *current_cpu, void *sem_arg)
2449{
96baa820 2450#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2451 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2452 const IDESC * UNUSED idesc = abuf->idesc;
2453 int cycles = 0;
2454 {
2455 int referenced = 0;
2456 int UNUSED insn_referenced = abuf->written;
2457 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2458 }
2459 return cycles;
2460#undef FLD
2461}
2462
2463static int
2464model_test_or3 (SIM_CPU *current_cpu, void *sem_arg)
2465{
96baa820 2466#define FLD(f) abuf->fields.sfmt_and3.f
c906108c
SS
2467 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2468 const IDESC * UNUSED idesc = abuf->idesc;
2469 int cycles = 0;
2470 {
2471 int referenced = 0;
2472 int UNUSED insn_referenced = abuf->written;
2473 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2474 }
2475 return cycles;
2476#undef FLD
2477}
2478
2479static int
2480model_test_xor (SIM_CPU *current_cpu, void *sem_arg)
2481{
96baa820 2482#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2483 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2484 const IDESC * UNUSED idesc = abuf->idesc;
2485 int cycles = 0;
2486 {
2487 int referenced = 0;
2488 int UNUSED insn_referenced = abuf->written;
2489 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2490 }
2491 return cycles;
2492#undef FLD
2493}
2494
2495static int
2496model_test_xor3 (SIM_CPU *current_cpu, void *sem_arg)
2497{
96baa820 2498#define FLD(f) abuf->fields.sfmt_and3.f
c906108c
SS
2499 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2500 const IDESC * UNUSED idesc = abuf->idesc;
2501 int cycles = 0;
2502 {
2503 int referenced = 0;
2504 int UNUSED insn_referenced = abuf->written;
2505 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2506 }
2507 return cycles;
2508#undef FLD
2509}
2510
2511static int
2512model_test_addi (SIM_CPU *current_cpu, void *sem_arg)
2513{
96baa820 2514#define FLD(f) abuf->fields.sfmt_addi.f
c906108c
SS
2515 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2516 const IDESC * UNUSED idesc = abuf->idesc;
2517 int cycles = 0;
2518 {
2519 int referenced = 0;
2520 int UNUSED insn_referenced = abuf->written;
2521 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2522 }
2523 return cycles;
2524#undef FLD
2525}
2526
2527static int
2528model_test_addv (SIM_CPU *current_cpu, void *sem_arg)
2529{
96baa820 2530#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2531 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2532 const IDESC * UNUSED idesc = abuf->idesc;
2533 int cycles = 0;
2534 {
2535 int referenced = 0;
2536 int UNUSED insn_referenced = abuf->written;
2537 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2538 }
2539 return cycles;
2540#undef FLD
2541}
2542
2543static int
2544model_test_addv3 (SIM_CPU *current_cpu, void *sem_arg)
2545{
96baa820 2546#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
2547 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2548 const IDESC * UNUSED idesc = abuf->idesc;
2549 int cycles = 0;
2550 {
2551 int referenced = 0;
2552 int UNUSED insn_referenced = abuf->written;
2553 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2554 }
2555 return cycles;
2556#undef FLD
2557}
2558
2559static int
2560model_test_addx (SIM_CPU *current_cpu, void *sem_arg)
2561{
96baa820 2562#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2563 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2564 const IDESC * UNUSED idesc = abuf->idesc;
2565 int cycles = 0;
2566 {
2567 int referenced = 0;
2568 int UNUSED insn_referenced = abuf->written;
2569 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2570 }
2571 return cycles;
2572#undef FLD
2573}
2574
2575static int
2576model_test_bc8 (SIM_CPU *current_cpu, void *sem_arg)
2577{
96baa820 2578#define FLD(f) abuf->fields.sfmt_bl8.f
c906108c
SS
2579 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2580 const IDESC * UNUSED idesc = abuf->idesc;
2581 int cycles = 0;
2582 {
2583 int referenced = 0;
2584 int UNUSED insn_referenced = abuf->written;
2585 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2586 }
2587 return cycles;
2588#undef FLD
2589}
2590
2591static int
2592model_test_bc24 (SIM_CPU *current_cpu, void *sem_arg)
2593{
96baa820 2594#define FLD(f) abuf->fields.sfmt_bl24.f
c906108c
SS
2595 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2596 const IDESC * UNUSED idesc = abuf->idesc;
2597 int cycles = 0;
2598 {
2599 int referenced = 0;
2600 int UNUSED insn_referenced = abuf->written;
2601 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2602 }
2603 return cycles;
2604#undef FLD
2605}
2606
2607static int
2608model_test_beq (SIM_CPU *current_cpu, void *sem_arg)
2609{
96baa820 2610#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
2611 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2612 const IDESC * UNUSED idesc = abuf->idesc;
2613 int cycles = 0;
2614 {
2615 int referenced = 0;
2616 int UNUSED insn_referenced = abuf->written;
2617 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2618 }
2619 return cycles;
2620#undef FLD
2621}
2622
2623static int
2624model_test_beqz (SIM_CPU *current_cpu, void *sem_arg)
2625{
96baa820 2626#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
2627 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2628 const IDESC * UNUSED idesc = abuf->idesc;
2629 int cycles = 0;
2630 {
2631 int referenced = 0;
2632 int UNUSED insn_referenced = abuf->written;
2633 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2634 }
2635 return cycles;
2636#undef FLD
2637}
2638
2639static int
2640model_test_bgez (SIM_CPU *current_cpu, void *sem_arg)
2641{
96baa820 2642#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
2643 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2644 const IDESC * UNUSED idesc = abuf->idesc;
2645 int cycles = 0;
2646 {
2647 int referenced = 0;
2648 int UNUSED insn_referenced = abuf->written;
2649 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2650 }
2651 return cycles;
2652#undef FLD
2653}
2654
2655static int
2656model_test_bgtz (SIM_CPU *current_cpu, void *sem_arg)
2657{
96baa820 2658#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
2659 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2660 const IDESC * UNUSED idesc = abuf->idesc;
2661 int cycles = 0;
2662 {
2663 int referenced = 0;
2664 int UNUSED insn_referenced = abuf->written;
2665 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2666 }
2667 return cycles;
2668#undef FLD
2669}
2670
2671static int
2672model_test_blez (SIM_CPU *current_cpu, void *sem_arg)
2673{
96baa820 2674#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
2675 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2676 const IDESC * UNUSED idesc = abuf->idesc;
2677 int cycles = 0;
2678 {
2679 int referenced = 0;
2680 int UNUSED insn_referenced = abuf->written;
2681 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2682 }
2683 return cycles;
2684#undef FLD
2685}
2686
2687static int
2688model_test_bltz (SIM_CPU *current_cpu, void *sem_arg)
2689{
96baa820 2690#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
2691 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2692 const IDESC * UNUSED idesc = abuf->idesc;
2693 int cycles = 0;
2694 {
2695 int referenced = 0;
2696 int UNUSED insn_referenced = abuf->written;
2697 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2698 }
2699 return cycles;
2700#undef FLD
2701}
2702
2703static int
2704model_test_bnez (SIM_CPU *current_cpu, void *sem_arg)
2705{
96baa820 2706#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
2707 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2708 const IDESC * UNUSED idesc = abuf->idesc;
2709 int cycles = 0;
2710 {
2711 int referenced = 0;
2712 int UNUSED insn_referenced = abuf->written;
2713 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2714 }
2715 return cycles;
2716#undef FLD
2717}
2718
2719static int
2720model_test_bl8 (SIM_CPU *current_cpu, void *sem_arg)
2721{
96baa820 2722#define FLD(f) abuf->fields.sfmt_bl8.f
c906108c
SS
2723 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2724 const IDESC * UNUSED idesc = abuf->idesc;
2725 int cycles = 0;
2726 {
2727 int referenced = 0;
2728 int UNUSED insn_referenced = abuf->written;
2729 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2730 }
2731 return cycles;
2732#undef FLD
2733}
2734
2735static int
2736model_test_bl24 (SIM_CPU *current_cpu, void *sem_arg)
2737{
96baa820 2738#define FLD(f) abuf->fields.sfmt_bl24.f
c906108c
SS
2739 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2740 const IDESC * UNUSED idesc = abuf->idesc;
2741 int cycles = 0;
2742 {
2743 int referenced = 0;
2744 int UNUSED insn_referenced = abuf->written;
2745 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2746 }
2747 return cycles;
2748#undef FLD
2749}
2750
2751static int
2752model_test_bnc8 (SIM_CPU *current_cpu, void *sem_arg)
2753{
96baa820 2754#define FLD(f) abuf->fields.sfmt_bl8.f
c906108c
SS
2755 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2756 const IDESC * UNUSED idesc = abuf->idesc;
2757 int cycles = 0;
2758 {
2759 int referenced = 0;
2760 int UNUSED insn_referenced = abuf->written;
2761 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2762 }
2763 return cycles;
2764#undef FLD
2765}
2766
2767static int
2768model_test_bnc24 (SIM_CPU *current_cpu, void *sem_arg)
2769{
96baa820 2770#define FLD(f) abuf->fields.sfmt_bl24.f
c906108c
SS
2771 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2772 const IDESC * UNUSED idesc = abuf->idesc;
2773 int cycles = 0;
2774 {
2775 int referenced = 0;
2776 int UNUSED insn_referenced = abuf->written;
2777 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2778 }
2779 return cycles;
2780#undef FLD
2781}
2782
2783static int
2784model_test_bne (SIM_CPU *current_cpu, void *sem_arg)
2785{
96baa820 2786#define FLD(f) abuf->fields.sfmt_beq.f
c906108c
SS
2787 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2788 const IDESC * UNUSED idesc = abuf->idesc;
2789 int cycles = 0;
2790 {
2791 int referenced = 0;
2792 int UNUSED insn_referenced = abuf->written;
2793 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2794 }
2795 return cycles;
2796#undef FLD
2797}
2798
2799static int
2800model_test_bra8 (SIM_CPU *current_cpu, void *sem_arg)
2801{
96baa820 2802#define FLD(f) abuf->fields.sfmt_bl8.f
c906108c
SS
2803 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2804 const IDESC * UNUSED idesc = abuf->idesc;
2805 int cycles = 0;
2806 {
2807 int referenced = 0;
2808 int UNUSED insn_referenced = abuf->written;
2809 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2810 }
2811 return cycles;
2812#undef FLD
2813}
2814
2815static int
2816model_test_bra24 (SIM_CPU *current_cpu, void *sem_arg)
2817{
96baa820 2818#define FLD(f) abuf->fields.sfmt_bl24.f
c906108c
SS
2819 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2820 const IDESC * UNUSED idesc = abuf->idesc;
2821 int cycles = 0;
2822 {
2823 int referenced = 0;
2824 int UNUSED insn_referenced = abuf->written;
2825 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2826 }
2827 return cycles;
2828#undef FLD
2829}
2830
2831static int
2832model_test_cmp (SIM_CPU *current_cpu, void *sem_arg)
2833{
96baa820 2834#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
2835 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2836 const IDESC * UNUSED idesc = abuf->idesc;
2837 int cycles = 0;
2838 {
2839 int referenced = 0;
2840 int UNUSED insn_referenced = abuf->written;
2841 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2842 }
2843 return cycles;
2844#undef FLD
2845}
2846
2847static int
2848model_test_cmpi (SIM_CPU *current_cpu, void *sem_arg)
2849{
96baa820 2850#define FLD(f) abuf->fields.sfmt_st_d.f
c906108c
SS
2851 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2852 const IDESC * UNUSED idesc = abuf->idesc;
2853 int cycles = 0;
2854 {
2855 int referenced = 0;
2856 int UNUSED insn_referenced = abuf->written;
2857 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2858 }
2859 return cycles;
2860#undef FLD
2861}
2862
2863static int
2864model_test_cmpu (SIM_CPU *current_cpu, void *sem_arg)
2865{
96baa820 2866#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
2867 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2868 const IDESC * UNUSED idesc = abuf->idesc;
2869 int cycles = 0;
2870 {
2871 int referenced = 0;
2872 int UNUSED insn_referenced = abuf->written;
2873 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2874 }
2875 return cycles;
2876#undef FLD
2877}
2878
2879static int
2880model_test_cmpui (SIM_CPU *current_cpu, void *sem_arg)
2881{
96baa820 2882#define FLD(f) abuf->fields.sfmt_st_d.f
c906108c
SS
2883 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2884 const IDESC * UNUSED idesc = abuf->idesc;
2885 int cycles = 0;
2886 {
2887 int referenced = 0;
2888 int UNUSED insn_referenced = abuf->written;
2889 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2890 }
2891 return cycles;
2892#undef FLD
2893}
2894
2895static int
2896model_test_div (SIM_CPU *current_cpu, void *sem_arg)
2897{
96baa820 2898#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2899 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2900 const IDESC * UNUSED idesc = abuf->idesc;
2901 int cycles = 0;
2902 {
2903 int referenced = 0;
2904 int UNUSED insn_referenced = abuf->written;
2905 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2906 }
2907 return cycles;
2908#undef FLD
2909}
2910
2911static int
2912model_test_divu (SIM_CPU *current_cpu, void *sem_arg)
2913{
96baa820 2914#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2915 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2916 const IDESC * UNUSED idesc = abuf->idesc;
2917 int cycles = 0;
2918 {
2919 int referenced = 0;
2920 int UNUSED insn_referenced = abuf->written;
2921 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2922 }
2923 return cycles;
2924#undef FLD
2925}
2926
2927static int
2928model_test_rem (SIM_CPU *current_cpu, void *sem_arg)
2929{
96baa820 2930#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2931 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2932 const IDESC * UNUSED idesc = abuf->idesc;
2933 int cycles = 0;
2934 {
2935 int referenced = 0;
2936 int UNUSED insn_referenced = abuf->written;
2937 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2938 }
2939 return cycles;
2940#undef FLD
2941}
2942
2943static int
2944model_test_remu (SIM_CPU *current_cpu, void *sem_arg)
2945{
96baa820 2946#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
2947 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2948 const IDESC * UNUSED idesc = abuf->idesc;
2949 int cycles = 0;
2950 {
2951 int referenced = 0;
2952 int UNUSED insn_referenced = abuf->written;
2953 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2954 }
2955 return cycles;
2956#undef FLD
2957}
2958
2959static int
2960model_test_jl (SIM_CPU *current_cpu, void *sem_arg)
2961{
96baa820 2962#define FLD(f) abuf->fields.sfmt_jl.f
c906108c
SS
2963 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2964 const IDESC * UNUSED idesc = abuf->idesc;
2965 int cycles = 0;
2966 {
2967 int referenced = 0;
2968 int UNUSED insn_referenced = abuf->written;
2969 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2970 }
2971 return cycles;
2972#undef FLD
2973}
2974
2975static int
2976model_test_jmp (SIM_CPU *current_cpu, void *sem_arg)
2977{
de8f5985 2978#define FLD(f) abuf->fields.sfmt_jl.f
c906108c
SS
2979 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2980 const IDESC * UNUSED idesc = abuf->idesc;
2981 int cycles = 0;
2982 {
2983 int referenced = 0;
2984 int UNUSED insn_referenced = abuf->written;
2985 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
2986 }
2987 return cycles;
2988#undef FLD
2989}
2990
2991static int
2992model_test_ld (SIM_CPU *current_cpu, void *sem_arg)
2993{
96baa820 2994#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
2995 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2996 const IDESC * UNUSED idesc = abuf->idesc;
2997 int cycles = 0;
2998 {
2999 int referenced = 0;
3000 int UNUSED insn_referenced = abuf->written;
3001 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3002 }
3003 return cycles;
3004#undef FLD
3005}
3006
3007static int
3008model_test_ld_d (SIM_CPU *current_cpu, void *sem_arg)
3009{
96baa820 3010#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
3011 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3012 const IDESC * UNUSED idesc = abuf->idesc;
3013 int cycles = 0;
3014 {
3015 int referenced = 0;
3016 int UNUSED insn_referenced = abuf->written;
3017 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3018 }
3019 return cycles;
3020#undef FLD
3021}
3022
3023static int
3024model_test_ldb (SIM_CPU *current_cpu, void *sem_arg)
3025{
96baa820 3026#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
3027 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3028 const IDESC * UNUSED idesc = abuf->idesc;
3029 int cycles = 0;
3030 {
3031 int referenced = 0;
3032 int UNUSED insn_referenced = abuf->written;
3033 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3034 }
3035 return cycles;
3036#undef FLD
3037}
3038
3039static int
3040model_test_ldb_d (SIM_CPU *current_cpu, void *sem_arg)
3041{
96baa820 3042#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
3043 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3044 const IDESC * UNUSED idesc = abuf->idesc;
3045 int cycles = 0;
3046 {
3047 int referenced = 0;
3048 int UNUSED insn_referenced = abuf->written;
3049 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3050 }
3051 return cycles;
3052#undef FLD
3053}
3054
3055static int
3056model_test_ldh (SIM_CPU *current_cpu, void *sem_arg)
3057{
96baa820 3058#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
3059 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3060 const IDESC * UNUSED idesc = abuf->idesc;
3061 int cycles = 0;
3062 {
3063 int referenced = 0;
3064 int UNUSED insn_referenced = abuf->written;
3065 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3066 }
3067 return cycles;
3068#undef FLD
3069}
3070
3071static int
3072model_test_ldh_d (SIM_CPU *current_cpu, void *sem_arg)
3073{
96baa820 3074#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
3075 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3076 const IDESC * UNUSED idesc = abuf->idesc;
3077 int cycles = 0;
3078 {
3079 int referenced = 0;
3080 int UNUSED insn_referenced = abuf->written;
3081 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3082 }
3083 return cycles;
3084#undef FLD
3085}
3086
3087static int
3088model_test_ldub (SIM_CPU *current_cpu, void *sem_arg)
3089{
96baa820 3090#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
3091 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3092 const IDESC * UNUSED idesc = abuf->idesc;
3093 int cycles = 0;
3094 {
3095 int referenced = 0;
3096 int UNUSED insn_referenced = abuf->written;
3097 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3098 }
3099 return cycles;
3100#undef FLD
3101}
3102
3103static int
3104model_test_ldub_d (SIM_CPU *current_cpu, void *sem_arg)
3105{
96baa820 3106#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
3107 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3108 const IDESC * UNUSED idesc = abuf->idesc;
3109 int cycles = 0;
3110 {
3111 int referenced = 0;
3112 int UNUSED insn_referenced = abuf->written;
3113 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3114 }
3115 return cycles;
3116#undef FLD
3117}
3118
3119static int
3120model_test_lduh (SIM_CPU *current_cpu, void *sem_arg)
3121{
96baa820 3122#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
3123 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3124 const IDESC * UNUSED idesc = abuf->idesc;
3125 int cycles = 0;
3126 {
3127 int referenced = 0;
3128 int UNUSED insn_referenced = abuf->written;
3129 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3130 }
3131 return cycles;
3132#undef FLD
3133}
3134
3135static int
3136model_test_lduh_d (SIM_CPU *current_cpu, void *sem_arg)
3137{
96baa820 3138#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
3139 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3140 const IDESC * UNUSED idesc = abuf->idesc;
3141 int cycles = 0;
3142 {
3143 int referenced = 0;
3144 int UNUSED insn_referenced = abuf->written;
3145 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3146 }
3147 return cycles;
3148#undef FLD
3149}
3150
3151static int
3152model_test_ld_plus (SIM_CPU *current_cpu, void *sem_arg)
3153{
96baa820 3154#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
3155 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3156 const IDESC * UNUSED idesc = abuf->idesc;
3157 int cycles = 0;
3158 {
3159 int referenced = 0;
3160 int UNUSED insn_referenced = abuf->written;
3161 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3162 }
3163 return cycles;
3164#undef FLD
3165}
3166
3167static int
3168model_test_ld24 (SIM_CPU *current_cpu, void *sem_arg)
3169{
96baa820 3170#define FLD(f) abuf->fields.sfmt_ld24.f
c906108c
SS
3171 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3172 const IDESC * UNUSED idesc = abuf->idesc;
3173 int cycles = 0;
3174 {
3175 int referenced = 0;
3176 int UNUSED insn_referenced = abuf->written;
3177 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3178 }
3179 return cycles;
3180#undef FLD
3181}
3182
3183static int
3184model_test_ldi8 (SIM_CPU *current_cpu, void *sem_arg)
3185{
96baa820 3186#define FLD(f) abuf->fields.sfmt_addi.f
c906108c
SS
3187 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3188 const IDESC * UNUSED idesc = abuf->idesc;
3189 int cycles = 0;
3190 {
3191 int referenced = 0;
3192 int UNUSED insn_referenced = abuf->written;
3193 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3194 }
3195 return cycles;
3196#undef FLD
3197}
3198
3199static int
3200model_test_ldi16 (SIM_CPU *current_cpu, void *sem_arg)
3201{
96baa820 3202#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
3203 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3204 const IDESC * UNUSED idesc = abuf->idesc;
3205 int cycles = 0;
3206 {
3207 int referenced = 0;
3208 int UNUSED insn_referenced = abuf->written;
3209 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3210 }
3211 return cycles;
3212#undef FLD
3213}
3214
3215static int
3216model_test_lock (SIM_CPU *current_cpu, void *sem_arg)
3217{
96baa820 3218#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
3219 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3220 const IDESC * UNUSED idesc = abuf->idesc;
3221 int cycles = 0;
3222 {
3223 int referenced = 0;
3224 int UNUSED insn_referenced = abuf->written;
3225 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3226 }
3227 return cycles;
3228#undef FLD
3229}
3230
3231static int
3232model_test_machi (SIM_CPU *current_cpu, void *sem_arg)
3233{
96baa820 3234#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3235 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3236 const IDESC * UNUSED idesc = abuf->idesc;
3237 int cycles = 0;
3238 {
3239 int referenced = 0;
3240 int UNUSED insn_referenced = abuf->written;
3241 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3242 }
3243 return cycles;
3244#undef FLD
3245}
3246
3247static int
3248model_test_maclo (SIM_CPU *current_cpu, void *sem_arg)
3249{
96baa820 3250#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3251 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3252 const IDESC * UNUSED idesc = abuf->idesc;
3253 int cycles = 0;
3254 {
3255 int referenced = 0;
3256 int UNUSED insn_referenced = abuf->written;
3257 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3258 }
3259 return cycles;
3260#undef FLD
3261}
3262
3263static int
3264model_test_macwhi (SIM_CPU *current_cpu, void *sem_arg)
3265{
96baa820 3266#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3267 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3268 const IDESC * UNUSED idesc = abuf->idesc;
3269 int cycles = 0;
3270 {
3271 int referenced = 0;
3272 int UNUSED insn_referenced = abuf->written;
3273 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3274 }
3275 return cycles;
3276#undef FLD
3277}
3278
3279static int
3280model_test_macwlo (SIM_CPU *current_cpu, void *sem_arg)
3281{
96baa820 3282#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3283 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3284 const IDESC * UNUSED idesc = abuf->idesc;
3285 int cycles = 0;
3286 {
3287 int referenced = 0;
3288 int UNUSED insn_referenced = abuf->written;
3289 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3290 }
3291 return cycles;
3292#undef FLD
3293}
3294
3295static int
3296model_test_mul (SIM_CPU *current_cpu, void *sem_arg)
3297{
96baa820 3298#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
3299 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3300 const IDESC * UNUSED idesc = abuf->idesc;
3301 int cycles = 0;
3302 {
3303 int referenced = 0;
3304 int UNUSED insn_referenced = abuf->written;
3305 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3306 }
3307 return cycles;
3308#undef FLD
3309}
3310
3311static int
3312model_test_mulhi (SIM_CPU *current_cpu, void *sem_arg)
3313{
96baa820 3314#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3315 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3316 const IDESC * UNUSED idesc = abuf->idesc;
3317 int cycles = 0;
3318 {
3319 int referenced = 0;
3320 int UNUSED insn_referenced = abuf->written;
3321 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3322 }
3323 return cycles;
3324#undef FLD
3325}
3326
3327static int
3328model_test_mullo (SIM_CPU *current_cpu, void *sem_arg)
3329{
96baa820 3330#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3331 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3332 const IDESC * UNUSED idesc = abuf->idesc;
3333 int cycles = 0;
3334 {
3335 int referenced = 0;
3336 int UNUSED insn_referenced = abuf->written;
3337 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3338 }
3339 return cycles;
3340#undef FLD
3341}
3342
3343static int
3344model_test_mulwhi (SIM_CPU *current_cpu, void *sem_arg)
3345{
96baa820 3346#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3347 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3348 const IDESC * UNUSED idesc = abuf->idesc;
3349 int cycles = 0;
3350 {
3351 int referenced = 0;
3352 int UNUSED insn_referenced = abuf->written;
3353 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3354 }
3355 return cycles;
3356#undef FLD
3357}
3358
3359static int
3360model_test_mulwlo (SIM_CPU *current_cpu, void *sem_arg)
3361{
96baa820 3362#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3363 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3364 const IDESC * UNUSED idesc = abuf->idesc;
3365 int cycles = 0;
3366 {
3367 int referenced = 0;
3368 int UNUSED insn_referenced = abuf->written;
3369 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3370 }
3371 return cycles;
3372#undef FLD
3373}
3374
3375static int
3376model_test_mv (SIM_CPU *current_cpu, void *sem_arg)
3377{
96baa820 3378#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
3379 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3380 const IDESC * UNUSED idesc = abuf->idesc;
3381 int cycles = 0;
3382 {
3383 int referenced = 0;
3384 int UNUSED insn_referenced = abuf->written;
3385 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3386 }
3387 return cycles;
3388#undef FLD
3389}
3390
3391static int
3392model_test_mvfachi (SIM_CPU *current_cpu, void *sem_arg)
3393{
96baa820 3394#define FLD(f) abuf->fields.sfmt_seth.f
c906108c
SS
3395 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3396 const IDESC * UNUSED idesc = abuf->idesc;
3397 int cycles = 0;
3398 {
3399 int referenced = 0;
3400 int UNUSED insn_referenced = abuf->written;
3401 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3402 }
3403 return cycles;
3404#undef FLD
3405}
3406
3407static int
3408model_test_mvfaclo (SIM_CPU *current_cpu, void *sem_arg)
3409{
96baa820 3410#define FLD(f) abuf->fields.sfmt_seth.f
c906108c
SS
3411 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3412 const IDESC * UNUSED idesc = abuf->idesc;
3413 int cycles = 0;
3414 {
3415 int referenced = 0;
3416 int UNUSED insn_referenced = abuf->written;
3417 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3418 }
3419 return cycles;
3420#undef FLD
3421}
3422
3423static int
3424model_test_mvfacmi (SIM_CPU *current_cpu, void *sem_arg)
3425{
96baa820 3426#define FLD(f) abuf->fields.sfmt_seth.f
c906108c
SS
3427 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3428 const IDESC * UNUSED idesc = abuf->idesc;
3429 int cycles = 0;
3430 {
3431 int referenced = 0;
3432 int UNUSED insn_referenced = abuf->written;
3433 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3434 }
3435 return cycles;
3436#undef FLD
3437}
3438
3439static int
3440model_test_mvfc (SIM_CPU *current_cpu, void *sem_arg)
3441{
de8f5985 3442#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
3443 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3444 const IDESC * UNUSED idesc = abuf->idesc;
3445 int cycles = 0;
3446 {
3447 int referenced = 0;
3448 int UNUSED insn_referenced = abuf->written;
3449 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3450 }
3451 return cycles;
3452#undef FLD
3453}
3454
3455static int
3456model_test_mvtachi (SIM_CPU *current_cpu, void *sem_arg)
3457{
96baa820 3458#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3459 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3460 const IDESC * UNUSED idesc = abuf->idesc;
3461 int cycles = 0;
3462 {
3463 int referenced = 0;
3464 int UNUSED insn_referenced = abuf->written;
3465 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3466 }
3467 return cycles;
3468#undef FLD
3469}
3470
3471static int
3472model_test_mvtaclo (SIM_CPU *current_cpu, void *sem_arg)
3473{
96baa820 3474#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3475 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3476 const IDESC * UNUSED idesc = abuf->idesc;
3477 int cycles = 0;
3478 {
3479 int referenced = 0;
3480 int UNUSED insn_referenced = abuf->written;
3481 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3482 }
3483 return cycles;
3484#undef FLD
3485}
3486
3487static int
3488model_test_mvtc (SIM_CPU *current_cpu, void *sem_arg)
3489{
de8f5985 3490#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
3491 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3492 const IDESC * UNUSED idesc = abuf->idesc;
3493 int cycles = 0;
3494 {
3495 int referenced = 0;
3496 int UNUSED insn_referenced = abuf->written;
3497 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3498 }
3499 return cycles;
3500#undef FLD
3501}
3502
3503static int
3504model_test_neg (SIM_CPU *current_cpu, void *sem_arg)
3505{
96baa820 3506#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
3507 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3508 const IDESC * UNUSED idesc = abuf->idesc;
3509 int cycles = 0;
3510 {
3511 int referenced = 0;
3512 int UNUSED insn_referenced = abuf->written;
3513 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3514 }
3515 return cycles;
3516#undef FLD
3517}
3518
3519static int
3520model_test_nop (SIM_CPU *current_cpu, void *sem_arg)
3521{
2310652a 3522#define FLD(f) abuf->fields.sfmt_empty.f
c906108c
SS
3523 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3524 const IDESC * UNUSED idesc = abuf->idesc;
3525 int cycles = 0;
3526 {
3527 int referenced = 0;
3528 int UNUSED insn_referenced = abuf->written;
3529 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3530 }
3531 return cycles;
3532#undef FLD
3533}
3534
3535static int
3536model_test_not (SIM_CPU *current_cpu, void *sem_arg)
3537{
96baa820 3538#define FLD(f) abuf->fields.sfmt_ld_plus.f
c906108c
SS
3539 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3540 const IDESC * UNUSED idesc = abuf->idesc;
3541 int cycles = 0;
3542 {
3543 int referenced = 0;
3544 int UNUSED insn_referenced = abuf->written;
3545 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3546 }
3547 return cycles;
3548#undef FLD
3549}
3550
3551static int
3552model_test_rac (SIM_CPU *current_cpu, void *sem_arg)
3553{
2310652a 3554#define FLD(f) abuf->fields.sfmt_empty.f
c906108c
SS
3555 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3556 const IDESC * UNUSED idesc = abuf->idesc;
3557 int cycles = 0;
3558 {
3559 int referenced = 0;
3560 int UNUSED insn_referenced = abuf->written;
3561 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3562 }
3563 return cycles;
3564#undef FLD
3565}
3566
3567static int
3568model_test_rach (SIM_CPU *current_cpu, void *sem_arg)
3569{
2310652a 3570#define FLD(f) abuf->fields.sfmt_empty.f
c906108c
SS
3571 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3572 const IDESC * UNUSED idesc = abuf->idesc;
3573 int cycles = 0;
3574 {
3575 int referenced = 0;
3576 int UNUSED insn_referenced = abuf->written;
3577 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3578 }
3579 return cycles;
3580#undef FLD
3581}
3582
3583static int
3584model_test_rte (SIM_CPU *current_cpu, void *sem_arg)
3585{
2310652a 3586#define FLD(f) abuf->fields.sfmt_empty.f
c906108c
SS
3587 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3588 const IDESC * UNUSED idesc = abuf->idesc;
3589 int cycles = 0;
3590 {
3591 int referenced = 0;
3592 int UNUSED insn_referenced = abuf->written;
3593 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3594 }
3595 return cycles;
3596#undef FLD
3597}
3598
3599static int
3600model_test_seth (SIM_CPU *current_cpu, void *sem_arg)
3601{
96baa820 3602#define FLD(f) abuf->fields.sfmt_seth.f
c906108c
SS
3603 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3604 const IDESC * UNUSED idesc = abuf->idesc;
3605 int cycles = 0;
3606 {
3607 int referenced = 0;
3608 int UNUSED insn_referenced = abuf->written;
3609 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3610 }
3611 return cycles;
3612#undef FLD
3613}
3614
3615static int
3616model_test_sll (SIM_CPU *current_cpu, void *sem_arg)
3617{
96baa820 3618#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
3619 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3620 const IDESC * UNUSED idesc = abuf->idesc;
3621 int cycles = 0;
3622 {
3623 int referenced = 0;
3624 int UNUSED insn_referenced = abuf->written;
3625 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3626 }
3627 return cycles;
3628#undef FLD
3629}
3630
3631static int
3632model_test_sll3 (SIM_CPU *current_cpu, void *sem_arg)
3633{
96baa820 3634#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
3635 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3636 const IDESC * UNUSED idesc = abuf->idesc;
3637 int cycles = 0;
3638 {
3639 int referenced = 0;
3640 int UNUSED insn_referenced = abuf->written;
3641 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3642 }
3643 return cycles;
3644#undef FLD
3645}
3646
3647static int
3648model_test_slli (SIM_CPU *current_cpu, void *sem_arg)
3649{
96baa820 3650#define FLD(f) abuf->fields.sfmt_slli.f
c906108c
SS
3651 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3652 const IDESC * UNUSED idesc = abuf->idesc;
3653 int cycles = 0;
3654 {
3655 int referenced = 0;
3656 int UNUSED insn_referenced = abuf->written;
3657 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3658 }
3659 return cycles;
3660#undef FLD
3661}
3662
3663static int
3664model_test_sra (SIM_CPU *current_cpu, void *sem_arg)
3665{
96baa820 3666#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
3667 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3668 const IDESC * UNUSED idesc = abuf->idesc;
3669 int cycles = 0;
3670 {
3671 int referenced = 0;
3672 int UNUSED insn_referenced = abuf->written;
3673 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3674 }
3675 return cycles;
3676#undef FLD
3677}
3678
3679static int
3680model_test_sra3 (SIM_CPU *current_cpu, void *sem_arg)
3681{
96baa820 3682#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
3683 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3684 const IDESC * UNUSED idesc = abuf->idesc;
3685 int cycles = 0;
3686 {
3687 int referenced = 0;
3688 int UNUSED insn_referenced = abuf->written;
3689 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3690 }
3691 return cycles;
3692#undef FLD
3693}
3694
3695static int
3696model_test_srai (SIM_CPU *current_cpu, void *sem_arg)
3697{
96baa820 3698#define FLD(f) abuf->fields.sfmt_slli.f
c906108c
SS
3699 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3700 const IDESC * UNUSED idesc = abuf->idesc;
3701 int cycles = 0;
3702 {
3703 int referenced = 0;
3704 int UNUSED insn_referenced = abuf->written;
3705 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3706 }
3707 return cycles;
3708#undef FLD
3709}
3710
3711static int
3712model_test_srl (SIM_CPU *current_cpu, void *sem_arg)
3713{
96baa820 3714#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
3715 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3716 const IDESC * UNUSED idesc = abuf->idesc;
3717 int cycles = 0;
3718 {
3719 int referenced = 0;
3720 int UNUSED insn_referenced = abuf->written;
3721 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3722 }
3723 return cycles;
3724#undef FLD
3725}
3726
3727static int
3728model_test_srl3 (SIM_CPU *current_cpu, void *sem_arg)
3729{
96baa820 3730#define FLD(f) abuf->fields.sfmt_add3.f
c906108c
SS
3731 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3732 const IDESC * UNUSED idesc = abuf->idesc;
3733 int cycles = 0;
3734 {
3735 int referenced = 0;
3736 int UNUSED insn_referenced = abuf->written;
3737 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3738 }
3739 return cycles;
3740#undef FLD
3741}
3742
3743static int
3744model_test_srli (SIM_CPU *current_cpu, void *sem_arg)
3745{
96baa820 3746#define FLD(f) abuf->fields.sfmt_slli.f
c906108c
SS
3747 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3748 const IDESC * UNUSED idesc = abuf->idesc;
3749 int cycles = 0;
3750 {
3751 int referenced = 0;
3752 int UNUSED insn_referenced = abuf->written;
3753 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3754 }
3755 return cycles;
3756#undef FLD
3757}
3758
3759static int
3760model_test_st (SIM_CPU *current_cpu, void *sem_arg)
3761{
96baa820 3762#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3763 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3764 const IDESC * UNUSED idesc = abuf->idesc;
3765 int cycles = 0;
3766 {
3767 int referenced = 0;
3768 int UNUSED insn_referenced = abuf->written;
3769 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3770 }
3771 return cycles;
3772#undef FLD
3773}
3774
3775static int
3776model_test_st_d (SIM_CPU *current_cpu, void *sem_arg)
3777{
96baa820 3778#define FLD(f) abuf->fields.sfmt_st_d.f
c906108c
SS
3779 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3780 const IDESC * UNUSED idesc = abuf->idesc;
3781 int cycles = 0;
3782 {
3783 int referenced = 0;
3784 int UNUSED insn_referenced = abuf->written;
3785 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3786 }
3787 return cycles;
3788#undef FLD
3789}
3790
3791static int
3792model_test_stb (SIM_CPU *current_cpu, void *sem_arg)
3793{
96baa820 3794#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3795 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3796 const IDESC * UNUSED idesc = abuf->idesc;
3797 int cycles = 0;
3798 {
3799 int referenced = 0;
3800 int UNUSED insn_referenced = abuf->written;
3801 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3802 }
3803 return cycles;
3804#undef FLD
3805}
3806
3807static int
3808model_test_stb_d (SIM_CPU *current_cpu, void *sem_arg)
3809{
96baa820 3810#define FLD(f) abuf->fields.sfmt_st_d.f
c906108c
SS
3811 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3812 const IDESC * UNUSED idesc = abuf->idesc;
3813 int cycles = 0;
3814 {
3815 int referenced = 0;
3816 int UNUSED insn_referenced = abuf->written;
3817 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3818 }
3819 return cycles;
3820#undef FLD
3821}
3822
3823static int
3824model_test_sth (SIM_CPU *current_cpu, void *sem_arg)
3825{
96baa820 3826#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3827 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3828 const IDESC * UNUSED idesc = abuf->idesc;
3829 int cycles = 0;
3830 {
3831 int referenced = 0;
3832 int UNUSED insn_referenced = abuf->written;
3833 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3834 }
3835 return cycles;
3836#undef FLD
3837}
3838
3839static int
3840model_test_sth_d (SIM_CPU *current_cpu, void *sem_arg)
3841{
96baa820 3842#define FLD(f) abuf->fields.sfmt_st_d.f
c906108c
SS
3843 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3844 const IDESC * UNUSED idesc = abuf->idesc;
3845 int cycles = 0;
3846 {
3847 int referenced = 0;
3848 int UNUSED insn_referenced = abuf->written;
3849 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3850 }
3851 return cycles;
3852#undef FLD
3853}
3854
3855static int
3856model_test_st_plus (SIM_CPU *current_cpu, void *sem_arg)
3857{
96baa820 3858#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3859 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3860 const IDESC * UNUSED idesc = abuf->idesc;
3861 int cycles = 0;
3862 {
3863 int referenced = 0;
3864 int UNUSED insn_referenced = abuf->written;
3865 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3866 }
3867 return cycles;
3868#undef FLD
3869}
3870
3871static int
3872model_test_st_minus (SIM_CPU *current_cpu, void *sem_arg)
3873{
96baa820 3874#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3875 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3876 const IDESC * UNUSED idesc = abuf->idesc;
3877 int cycles = 0;
3878 {
3879 int referenced = 0;
3880 int UNUSED insn_referenced = abuf->written;
3881 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3882 }
3883 return cycles;
3884#undef FLD
3885}
3886
3887static int
3888model_test_sub (SIM_CPU *current_cpu, void *sem_arg)
3889{
96baa820 3890#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
3891 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3892 const IDESC * UNUSED idesc = abuf->idesc;
3893 int cycles = 0;
3894 {
3895 int referenced = 0;
3896 int UNUSED insn_referenced = abuf->written;
3897 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3898 }
3899 return cycles;
3900#undef FLD
3901}
3902
3903static int
3904model_test_subv (SIM_CPU *current_cpu, void *sem_arg)
3905{
96baa820 3906#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
3907 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3908 const IDESC * UNUSED idesc = abuf->idesc;
3909 int cycles = 0;
3910 {
3911 int referenced = 0;
3912 int UNUSED insn_referenced = abuf->written;
3913 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3914 }
3915 return cycles;
3916#undef FLD
3917}
3918
3919static int
3920model_test_subx (SIM_CPU *current_cpu, void *sem_arg)
3921{
96baa820 3922#define FLD(f) abuf->fields.sfmt_add.f
c906108c
SS
3923 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3924 const IDESC * UNUSED idesc = abuf->idesc;
3925 int cycles = 0;
3926 {
3927 int referenced = 0;
3928 int UNUSED insn_referenced = abuf->written;
3929 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3930 }
3931 return cycles;
3932#undef FLD
3933}
3934
3935static int
3936model_test_trap (SIM_CPU *current_cpu, void *sem_arg)
3937{
96baa820 3938#define FLD(f) abuf->fields.sfmt_trap.f
c906108c
SS
3939 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3940 const IDESC * UNUSED idesc = abuf->idesc;
3941 int cycles = 0;
3942 {
3943 int referenced = 0;
3944 int UNUSED insn_referenced = abuf->written;
3945 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3946 }
3947 return cycles;
3948#undef FLD
3949}
3950
3951static int
3952model_test_unlock (SIM_CPU *current_cpu, void *sem_arg)
3953{
96baa820 3954#define FLD(f) abuf->fields.sfmt_st_plus.f
c906108c
SS
3955 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3956 const IDESC * UNUSED idesc = abuf->idesc;
3957 int cycles = 0;
3958 {
3959 int referenced = 0;
3960 int UNUSED insn_referenced = abuf->written;
3961 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3962 }
3963 return cycles;
3964#undef FLD
3965}
3966
16b47b25
NC
3967static int
3968model_test_clrpsw (SIM_CPU *current_cpu, void *sem_arg)
3969{
3970#define FLD(f) abuf->fields.sfmt_clrpsw.f
3971 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3972 const IDESC * UNUSED idesc = abuf->idesc;
3973 int cycles = 0;
3974 {
3975 int referenced = 0;
3976 int UNUSED insn_referenced = abuf->written;
3977 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3978 }
3979 return cycles;
3980#undef FLD
3981}
3982
3983static int
3984model_test_setpsw (SIM_CPU *current_cpu, void *sem_arg)
3985{
3986#define FLD(f) abuf->fields.sfmt_clrpsw.f
3987 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3988 const IDESC * UNUSED idesc = abuf->idesc;
3989 int cycles = 0;
3990 {
3991 int referenced = 0;
3992 int UNUSED insn_referenced = abuf->written;
3993 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
3994 }
3995 return cycles;
3996#undef FLD
3997}
3998
3999static int
4000model_test_bset (SIM_CPU *current_cpu, void *sem_arg)
4001{
4002#define FLD(f) abuf->fields.sfmt_bset.f
4003 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4004 const IDESC * UNUSED idesc = abuf->idesc;
4005 int cycles = 0;
4006 {
4007 int referenced = 0;
4008 int UNUSED insn_referenced = abuf->written;
4009 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
4010 }
4011 return cycles;
4012#undef FLD
4013}
4014
4015static int
4016model_test_bclr (SIM_CPU *current_cpu, void *sem_arg)
4017{
4018#define FLD(f) abuf->fields.sfmt_bset.f
4019 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4020 const IDESC * UNUSED idesc = abuf->idesc;
4021 int cycles = 0;
4022 {
4023 int referenced = 0;
4024 int UNUSED insn_referenced = abuf->written;
4025 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
4026 }
4027 return cycles;
4028#undef FLD
4029}
4030
4031static int
4032model_test_btst (SIM_CPU *current_cpu, void *sem_arg)
4033{
4034#define FLD(f) abuf->fields.sfmt_bset.f
4035 const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4036 const IDESC * UNUSED idesc = abuf->idesc;
4037 int cycles = 0;
4038 {
4039 int referenced = 0;
4040 int UNUSED insn_referenced = abuf->written;
4041 cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
4042 }
4043 return cycles;
4044#undef FLD
4045}
4046
c906108c
SS
4047/* We assume UNIT_NONE == 0 because the tables don't always terminate
4048 entries with it. */
4049
4050/* Model timing data for `m32r/d'. */
4051
4052static const INSN_TIMING m32r_d_timing[] = {
4053 { M32RBF_INSN_X_INVALID, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4054 { M32RBF_INSN_X_AFTER, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4055 { M32RBF_INSN_X_BEFORE, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4056 { M32RBF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4057 { M32RBF_INSN_X_CHAIN, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4058 { M32RBF_INSN_X_BEGIN, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4059 { M32RBF_INSN_ADD, model_m32r_d_add, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4060 { M32RBF_INSN_ADD3, model_m32r_d_add3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4061 { M32RBF_INSN_AND, model_m32r_d_and, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4062 { M32RBF_INSN_AND3, model_m32r_d_and3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4063 { M32RBF_INSN_OR, model_m32r_d_or, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4064 { M32RBF_INSN_OR3, model_m32r_d_or3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4065 { M32RBF_INSN_XOR, model_m32r_d_xor, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4066 { M32RBF_INSN_XOR3, model_m32r_d_xor3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4067 { M32RBF_INSN_ADDI, model_m32r_d_addi, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4068 { M32RBF_INSN_ADDV, model_m32r_d_addv, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4069 { M32RBF_INSN_ADDV3, model_m32r_d_addv3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4070 { M32RBF_INSN_ADDX, model_m32r_d_addx, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4071 { M32RBF_INSN_BC8, model_m32r_d_bc8, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
4072 { M32RBF_INSN_BC24, model_m32r_d_bc24, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
4073 { M32RBF_INSN_BEQ, model_m32r_d_beq, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
4074 { M32RBF_INSN_BEQZ, model_m32r_d_beqz, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
4075 { M32RBF_INSN_BGEZ, model_m32r_d_bgez, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
4076 { M32RBF_INSN_BGTZ, model_m32r_d_bgtz, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
4077 { M32RBF_INSN_BLEZ, model_m32r_d_blez, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
4078 { M32RBF_INSN_BLTZ, model_m32r_d_bltz, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
4079 { M32RBF_INSN_BNEZ, model_m32r_d_bnez, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
4080 { M32RBF_INSN_BL8, model_m32r_d_bl8, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
4081 { M32RBF_INSN_BL24, model_m32r_d_bl24, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
4082 { M32RBF_INSN_BNC8, model_m32r_d_bnc8, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
4083 { M32RBF_INSN_BNC24, model_m32r_d_bnc24, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
4084 { M32RBF_INSN_BNE, model_m32r_d_bne, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
4085 { M32RBF_INSN_BRA8, model_m32r_d_bra8, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
4086 { M32RBF_INSN_BRA24, model_m32r_d_bra24, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
4087 { M32RBF_INSN_CMP, model_m32r_d_cmp, { { (int) UNIT_M32R_D_U_CMP, 1, 1 } } },
4088 { M32RBF_INSN_CMPI, model_m32r_d_cmpi, { { (int) UNIT_M32R_D_U_CMP, 1, 1 } } },
4089 { M32RBF_INSN_CMPU, model_m32r_d_cmpu, { { (int) UNIT_M32R_D_U_CMP, 1, 1 } } },
4090 { M32RBF_INSN_CMPUI, model_m32r_d_cmpui, { { (int) UNIT_M32R_D_U_CMP, 1, 1 } } },
4091 { M32RBF_INSN_DIV, model_m32r_d_div, { { (int) UNIT_M32R_D_U_EXEC, 1, 37 } } },
4092 { M32RBF_INSN_DIVU, model_m32r_d_divu, { { (int) UNIT_M32R_D_U_EXEC, 1, 37 } } },
4093 { M32RBF_INSN_REM, model_m32r_d_rem, { { (int) UNIT_M32R_D_U_EXEC, 1, 37 } } },
4094 { M32RBF_INSN_REMU, model_m32r_d_remu, { { (int) UNIT_M32R_D_U_EXEC, 1, 37 } } },
4095 { M32RBF_INSN_JL, model_m32r_d_jl, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
4096 { M32RBF_INSN_JMP, model_m32r_d_jmp, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
4097 { M32RBF_INSN_LD, model_m32r_d_ld, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
4098 { M32RBF_INSN_LD_D, model_m32r_d_ld_d, { { (int) UNIT_M32R_D_U_LOAD, 1, 2 } } },
4099 { M32RBF_INSN_LDB, model_m32r_d_ldb, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
4100 { M32RBF_INSN_LDB_D, model_m32r_d_ldb_d, { { (int) UNIT_M32R_D_U_LOAD, 1, 2 } } },
4101 { M32RBF_INSN_LDH, model_m32r_d_ldh, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
4102 { M32RBF_INSN_LDH_D, model_m32r_d_ldh_d, { { (int) UNIT_M32R_D_U_LOAD, 1, 2 } } },
4103 { M32RBF_INSN_LDUB, model_m32r_d_ldub, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
4104 { M32RBF_INSN_LDUB_D, model_m32r_d_ldub_d, { { (int) UNIT_M32R_D_U_LOAD, 1, 2 } } },
4105 { M32RBF_INSN_LDUH, model_m32r_d_lduh, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
4106 { M32RBF_INSN_LDUH_D, model_m32r_d_lduh_d, { { (int) UNIT_M32R_D_U_LOAD, 1, 2 } } },
4107 { M32RBF_INSN_LD_PLUS, model_m32r_d_ld_plus, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 }, { (int) UNIT_M32R_D_U_EXEC, 1, 0 } } },
4108 { M32RBF_INSN_LD24, model_m32r_d_ld24, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4109 { M32RBF_INSN_LDI8, model_m32r_d_ldi8, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4110 { M32RBF_INSN_LDI16, model_m32r_d_ldi16, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4111 { M32RBF_INSN_LOCK, model_m32r_d_lock, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
4112 { M32RBF_INSN_MACHI, model_m32r_d_machi, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
4113 { M32RBF_INSN_MACLO, model_m32r_d_maclo, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
4114 { M32RBF_INSN_MACWHI, model_m32r_d_macwhi, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
4115 { M32RBF_INSN_MACWLO, model_m32r_d_macwlo, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
4116 { M32RBF_INSN_MUL, model_m32r_d_mul, { { (int) UNIT_M32R_D_U_EXEC, 1, 4 } } },
4117 { M32RBF_INSN_MULHI, model_m32r_d_mulhi, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
4118 { M32RBF_INSN_MULLO, model_m32r_d_mullo, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
4119 { M32RBF_INSN_MULWHI, model_m32r_d_mulwhi, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
4120 { M32RBF_INSN_MULWLO, model_m32r_d_mulwlo, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
4121 { M32RBF_INSN_MV, model_m32r_d_mv, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4122 { M32RBF_INSN_MVFACHI, model_m32r_d_mvfachi, { { (int) UNIT_M32R_D_U_EXEC, 1, 2 } } },
4123 { M32RBF_INSN_MVFACLO, model_m32r_d_mvfaclo, { { (int) UNIT_M32R_D_U_EXEC, 1, 2 } } },
4124 { M32RBF_INSN_MVFACMI, model_m32r_d_mvfacmi, { { (int) UNIT_M32R_D_U_EXEC, 1, 2 } } },
4125 { M32RBF_INSN_MVFC, model_m32r_d_mvfc, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4126 { M32RBF_INSN_MVTACHI, model_m32r_d_mvtachi, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4127 { M32RBF_INSN_MVTACLO, model_m32r_d_mvtaclo, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4128 { M32RBF_INSN_MVTC, model_m32r_d_mvtc, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4129 { M32RBF_INSN_NEG, model_m32r_d_neg, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4130 { M32RBF_INSN_NOP, model_m32r_d_nop, { { (int) UNIT_M32R_D_U_EXEC, 1, 0 } } },
4131 { M32RBF_INSN_NOT, model_m32r_d_not, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4132 { M32RBF_INSN_RAC, model_m32r_d_rac, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
4133 { M32RBF_INSN_RACH, model_m32r_d_rach, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
4134 { M32RBF_INSN_RTE, model_m32r_d_rte, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4135 { M32RBF_INSN_SETH, model_m32r_d_seth, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4136 { M32RBF_INSN_SLL, model_m32r_d_sll, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4137 { M32RBF_INSN_SLL3, model_m32r_d_sll3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4138 { M32RBF_INSN_SLLI, model_m32r_d_slli, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4139 { M32RBF_INSN_SRA, model_m32r_d_sra, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4140 { M32RBF_INSN_SRA3, model_m32r_d_sra3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4141 { M32RBF_INSN_SRAI, model_m32r_d_srai, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4142 { M32RBF_INSN_SRL, model_m32r_d_srl, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4143 { M32RBF_INSN_SRL3, model_m32r_d_srl3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4144 { M32RBF_INSN_SRLI, model_m32r_d_srli, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4145 { M32RBF_INSN_ST, model_m32r_d_st, { { (int) UNIT_M32R_D_U_STORE, 1, 1 } } },
4146 { M32RBF_INSN_ST_D, model_m32r_d_st_d, { { (int) UNIT_M32R_D_U_STORE, 1, 2 } } },
4147 { M32RBF_INSN_STB, model_m32r_d_stb, { { (int) UNIT_M32R_D_U_STORE, 1, 1 } } },
4148 { M32RBF_INSN_STB_D, model_m32r_d_stb_d, { { (int) UNIT_M32R_D_U_STORE, 1, 2 } } },
4149 { M32RBF_INSN_STH, model_m32r_d_sth, { { (int) UNIT_M32R_D_U_STORE, 1, 1 } } },
4150 { M32RBF_INSN_STH_D, model_m32r_d_sth_d, { { (int) UNIT_M32R_D_U_STORE, 1, 2 } } },
4151 { M32RBF_INSN_ST_PLUS, model_m32r_d_st_plus, { { (int) UNIT_M32R_D_U_STORE, 1, 1 }, { (int) UNIT_M32R_D_U_EXEC, 1, 0 } } },
4152 { M32RBF_INSN_ST_MINUS, model_m32r_d_st_minus, { { (int) UNIT_M32R_D_U_STORE, 1, 1 }, { (int) UNIT_M32R_D_U_EXEC, 1, 0 } } },
4153 { M32RBF_INSN_SUB, model_m32r_d_sub, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4154 { M32RBF_INSN_SUBV, model_m32r_d_subv, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4155 { M32RBF_INSN_SUBX, model_m32r_d_subx, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4156 { M32RBF_INSN_TRAP, model_m32r_d_trap, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4157 { M32RBF_INSN_UNLOCK, model_m32r_d_unlock, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
16b47b25
NC
4158 { M32RBF_INSN_CLRPSW, model_m32r_d_clrpsw, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4159 { M32RBF_INSN_SETPSW, model_m32r_d_setpsw, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4160 { M32RBF_INSN_BSET, model_m32r_d_bset, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4161 { M32RBF_INSN_BCLR, model_m32r_d_bclr, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
4162 { M32RBF_INSN_BTST, model_m32r_d_btst, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
c906108c
SS
4163};
4164
4165/* Model timing data for `test'. */
4166
4167static const INSN_TIMING test_timing[] = {
4168 { M32RBF_INSN_X_INVALID, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4169 { M32RBF_INSN_X_AFTER, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4170 { M32RBF_INSN_X_BEFORE, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4171 { M32RBF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4172 { M32RBF_INSN_X_CHAIN, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4173 { M32RBF_INSN_X_BEGIN, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4174 { M32RBF_INSN_ADD, model_test_add, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4175 { M32RBF_INSN_ADD3, model_test_add3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4176 { M32RBF_INSN_AND, model_test_and, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4177 { M32RBF_INSN_AND3, model_test_and3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4178 { M32RBF_INSN_OR, model_test_or, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4179 { M32RBF_INSN_OR3, model_test_or3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4180 { M32RBF_INSN_XOR, model_test_xor, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4181 { M32RBF_INSN_XOR3, model_test_xor3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4182 { M32RBF_INSN_ADDI, model_test_addi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4183 { M32RBF_INSN_ADDV, model_test_addv, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4184 { M32RBF_INSN_ADDV3, model_test_addv3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4185 { M32RBF_INSN_ADDX, model_test_addx, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4186 { M32RBF_INSN_BC8, model_test_bc8, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4187 { M32RBF_INSN_BC24, model_test_bc24, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4188 { M32RBF_INSN_BEQ, model_test_beq, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4189 { M32RBF_INSN_BEQZ, model_test_beqz, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4190 { M32RBF_INSN_BGEZ, model_test_bgez, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4191 { M32RBF_INSN_BGTZ, model_test_bgtz, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4192 { M32RBF_INSN_BLEZ, model_test_blez, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4193 { M32RBF_INSN_BLTZ, model_test_bltz, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4194 { M32RBF_INSN_BNEZ, model_test_bnez, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4195 { M32RBF_INSN_BL8, model_test_bl8, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4196 { M32RBF_INSN_BL24, model_test_bl24, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4197 { M32RBF_INSN_BNC8, model_test_bnc8, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4198 { M32RBF_INSN_BNC24, model_test_bnc24, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4199 { M32RBF_INSN_BNE, model_test_bne, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4200 { M32RBF_INSN_BRA8, model_test_bra8, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4201 { M32RBF_INSN_BRA24, model_test_bra24, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4202 { M32RBF_INSN_CMP, model_test_cmp, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4203 { M32RBF_INSN_CMPI, model_test_cmpi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4204 { M32RBF_INSN_CMPU, model_test_cmpu, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4205 { M32RBF_INSN_CMPUI, model_test_cmpui, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4206 { M32RBF_INSN_DIV, model_test_div, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4207 { M32RBF_INSN_DIVU, model_test_divu, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4208 { M32RBF_INSN_REM, model_test_rem, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4209 { M32RBF_INSN_REMU, model_test_remu, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4210 { M32RBF_INSN_JL, model_test_jl, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4211 { M32RBF_INSN_JMP, model_test_jmp, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4212 { M32RBF_INSN_LD, model_test_ld, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4213 { M32RBF_INSN_LD_D, model_test_ld_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4214 { M32RBF_INSN_LDB, model_test_ldb, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4215 { M32RBF_INSN_LDB_D, model_test_ldb_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4216 { M32RBF_INSN_LDH, model_test_ldh, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4217 { M32RBF_INSN_LDH_D, model_test_ldh_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4218 { M32RBF_INSN_LDUB, model_test_ldub, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4219 { M32RBF_INSN_LDUB_D, model_test_ldub_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4220 { M32RBF_INSN_LDUH, model_test_lduh, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4221 { M32RBF_INSN_LDUH_D, model_test_lduh_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4222 { M32RBF_INSN_LD_PLUS, model_test_ld_plus, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4223 { M32RBF_INSN_LD24, model_test_ld24, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4224 { M32RBF_INSN_LDI8, model_test_ldi8, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4225 { M32RBF_INSN_LDI16, model_test_ldi16, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4226 { M32RBF_INSN_LOCK, model_test_lock, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4227 { M32RBF_INSN_MACHI, model_test_machi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4228 { M32RBF_INSN_MACLO, model_test_maclo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4229 { M32RBF_INSN_MACWHI, model_test_macwhi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4230 { M32RBF_INSN_MACWLO, model_test_macwlo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4231 { M32RBF_INSN_MUL, model_test_mul, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4232 { M32RBF_INSN_MULHI, model_test_mulhi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4233 { M32RBF_INSN_MULLO, model_test_mullo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4234 { M32RBF_INSN_MULWHI, model_test_mulwhi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4235 { M32RBF_INSN_MULWLO, model_test_mulwlo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4236 { M32RBF_INSN_MV, model_test_mv, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4237 { M32RBF_INSN_MVFACHI, model_test_mvfachi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4238 { M32RBF_INSN_MVFACLO, model_test_mvfaclo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4239 { M32RBF_INSN_MVFACMI, model_test_mvfacmi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4240 { M32RBF_INSN_MVFC, model_test_mvfc, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4241 { M32RBF_INSN_MVTACHI, model_test_mvtachi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4242 { M32RBF_INSN_MVTACLO, model_test_mvtaclo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4243 { M32RBF_INSN_MVTC, model_test_mvtc, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4244 { M32RBF_INSN_NEG, model_test_neg, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4245 { M32RBF_INSN_NOP, model_test_nop, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4246 { M32RBF_INSN_NOT, model_test_not, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4247 { M32RBF_INSN_RAC, model_test_rac, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4248 { M32RBF_INSN_RACH, model_test_rach, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4249 { M32RBF_INSN_RTE, model_test_rte, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4250 { M32RBF_INSN_SETH, model_test_seth, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4251 { M32RBF_INSN_SLL, model_test_sll, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4252 { M32RBF_INSN_SLL3, model_test_sll3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4253 { M32RBF_INSN_SLLI, model_test_slli, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4254 { M32RBF_INSN_SRA, model_test_sra, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4255 { M32RBF_INSN_SRA3, model_test_sra3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4256 { M32RBF_INSN_SRAI, model_test_srai, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4257 { M32RBF_INSN_SRL, model_test_srl, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4258 { M32RBF_INSN_SRL3, model_test_srl3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4259 { M32RBF_INSN_SRLI, model_test_srli, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4260 { M32RBF_INSN_ST, model_test_st, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4261 { M32RBF_INSN_ST_D, model_test_st_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4262 { M32RBF_INSN_STB, model_test_stb, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4263 { M32RBF_INSN_STB_D, model_test_stb_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4264 { M32RBF_INSN_STH, model_test_sth, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4265 { M32RBF_INSN_STH_D, model_test_sth_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4266 { M32RBF_INSN_ST_PLUS, model_test_st_plus, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4267 { M32RBF_INSN_ST_MINUS, model_test_st_minus, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4268 { M32RBF_INSN_SUB, model_test_sub, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4269 { M32RBF_INSN_SUBV, model_test_subv, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4270 { M32RBF_INSN_SUBX, model_test_subx, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4271 { M32RBF_INSN_TRAP, model_test_trap, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4272 { M32RBF_INSN_UNLOCK, model_test_unlock, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
16b47b25
NC
4273 { M32RBF_INSN_CLRPSW, model_test_clrpsw, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4274 { M32RBF_INSN_SETPSW, model_test_setpsw, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4275 { M32RBF_INSN_BSET, model_test_bset, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4276 { M32RBF_INSN_BCLR, model_test_bclr, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
4277 { M32RBF_INSN_BTST, model_test_btst, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
c906108c
SS
4278};
4279
4280#endif /* WITH_PROFILE_MODEL_P */
4281
4282static void
4283m32r_d_model_init (SIM_CPU *cpu)
4284{
4285 CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_M32R_D_DATA));
4286}
4287
4288static void
4289test_model_init (SIM_CPU *cpu)
4290{
4291 CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_TEST_DATA));
4292}
4293
4294#if WITH_PROFILE_MODEL_P
4295#define TIMING_DATA(td) td
4296#else
4297#define TIMING_DATA(td) 0
4298#endif
4299
8a0ebee6 4300static const SIM_MODEL m32r_models[] =
c906108c
SS
4301{
4302 { "m32r/d", & m32r_mach, MODEL_M32R_D, TIMING_DATA (& m32r_d_timing[0]), m32r_d_model_init },
4303 { "test", & m32r_mach, MODEL_TEST, TIMING_DATA (& test_timing[0]), test_model_init },
4304 { 0 }
4305};
4306
4307/* The properties of this cpu's implementation. */
4308
8a0ebee6 4309static const SIM_MACH_IMP_PROPERTIES m32rbf_imp_properties =
c906108c
SS
4310{
4311 sizeof (SIM_CPU),
4312#if WITH_SCACHE
4313 sizeof (SCACHE)
4314#else
4315 0
4316#endif
4317};
4318
4319
4320static void
4321m32rbf_prepare_run (SIM_CPU *cpu)
4322{
4323 if (CPU_IDESC (cpu) == NULL)
4324 m32rbf_init_idesc_table (cpu);
4325}
4326
4327static const CGEN_INSN *
4328m32rbf_get_idata (SIM_CPU *cpu, int inum)
4329{
4330 return CPU_IDESC (cpu) [inum].idata;
4331}
4332
4333static void
4334m32r_init_cpu (SIM_CPU *cpu)
4335{
4336 CPU_REG_FETCH (cpu) = m32rbf_fetch_register;
4337 CPU_REG_STORE (cpu) = m32rbf_store_register;
4338 CPU_PC_FETCH (cpu) = m32rbf_h_pc_get;
4339 CPU_PC_STORE (cpu) = m32rbf_h_pc_set;
4340 CPU_GET_IDATA (cpu) = m32rbf_get_idata;
57465455 4341 CPU_MAX_INSNS (cpu) = M32RBF_INSN__MAX;
c906108c
SS
4342 CPU_INSN_NAME (cpu) = cgen_insn_name;
4343 CPU_FULL_ENGINE_FN (cpu) = m32rbf_engine_run_full;
4344#if WITH_FAST
4345 CPU_FAST_ENGINE_FN (cpu) = m32rbf_engine_run_fast;
4346#else
4347 CPU_FAST_ENGINE_FN (cpu) = m32rbf_engine_run_full;
4348#endif
4349}
4350
8a0ebee6 4351const SIM_MACH m32r_mach =
c906108c 4352{
7a292a7a 4353 "m32r", "m32r", MACH_M32R,
c906108c
SS
4354 32, 32, & m32r_models[0], & m32rbf_imp_properties,
4355 m32r_init_cpu,
4356 m32rbf_prepare_run
4357};
4358
This page took 1.004065 seconds and 4 git commands to generate.