1 /* Simulator instruction extractor for m32r.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
7 This file is part of the GNU Simulators.
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, write to the Free Software Foundation, Inc.,
21 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26 #define WANT_CPU_M32RXF
33 EX_FN_NAME (m32rxf
,fmt_add
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
35 #define FLD(f) abuf->fields.fmt_add.f
36 EXTRACT_FMT_ADD_VARS
/* f-op1 f-r1 f-op2 f-r2 */
40 /* Record the fields for the semantic handler. */
41 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
42 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
43 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_add", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
45 #if WITH_PROFILE_MODEL_P
46 /* Record the fields for profiling. */
47 if (PROFILE_MODEL_P (current_cpu
))
58 EX_FN_NAME (m32rxf
,fmt_add3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
60 #define FLD(f) abuf->fields.fmt_add3.f
61 EXTRACT_FMT_ADD3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
65 /* Record the fields for the semantic handler. */
66 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
67 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
68 FLD (f_simm16
) = f_simm16
;
69 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_add3", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
71 #if WITH_PROFILE_MODEL_P
72 /* Record the fields for profiling. */
73 if (PROFILE_MODEL_P (current_cpu
))
83 EX_FN_NAME (m32rxf
,fmt_and3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
85 #define FLD(f) abuf->fields.fmt_and3.f
86 EXTRACT_FMT_AND3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
90 /* Record the fields for the semantic handler. */
91 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
92 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
93 FLD (f_uimm16
) = f_uimm16
;
94 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_and3", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "uimm16 0x%x", 'x', f_uimm16
, (char *) 0));
96 #if WITH_PROFILE_MODEL_P
97 /* Record the fields for profiling. */
98 if (PROFILE_MODEL_P (current_cpu
))
108 EX_FN_NAME (m32rxf
,fmt_or3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
110 #define FLD(f) abuf->fields.fmt_or3.f
111 EXTRACT_FMT_OR3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
115 /* Record the fields for the semantic handler. */
116 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
117 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
118 FLD (f_uimm16
) = f_uimm16
;
119 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_or3", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "ulo16 0x%x", 'x', f_uimm16
, (char *) 0));
121 #if WITH_PROFILE_MODEL_P
122 /* Record the fields for profiling. */
123 if (PROFILE_MODEL_P (current_cpu
))
133 EX_FN_NAME (m32rxf
,fmt_addi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
135 #define FLD(f) abuf->fields.fmt_addi.f
136 EXTRACT_FMT_ADDI_VARS
/* f-op1 f-r1 f-simm8 */
138 EXTRACT_FMT_ADDI_CODE
140 /* Record the fields for the semantic handler. */
141 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
142 FLD (f_simm8
) = f_simm8
;
143 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_addi", "dr 0x%x", 'x', f_r1
, "simm8 0x%x", 'x', f_simm8
, (char *) 0));
145 #if WITH_PROFILE_MODEL_P
146 /* Record the fields for profiling. */
147 if (PROFILE_MODEL_P (current_cpu
))
157 EX_FN_NAME (m32rxf
,fmt_addv
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
159 #define FLD(f) abuf->fields.fmt_addv.f
160 EXTRACT_FMT_ADDV_VARS
/* f-op1 f-r1 f-op2 f-r2 */
162 EXTRACT_FMT_ADDV_CODE
164 /* Record the fields for the semantic handler. */
165 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
166 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
167 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_addv", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
169 #if WITH_PROFILE_MODEL_P
170 /* Record the fields for profiling. */
171 if (PROFILE_MODEL_P (current_cpu
))
182 EX_FN_NAME (m32rxf
,fmt_addv3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
184 #define FLD(f) abuf->fields.fmt_addv3.f
185 EXTRACT_FMT_ADDV3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
187 EXTRACT_FMT_ADDV3_CODE
189 /* Record the fields for the semantic handler. */
190 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
191 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
192 FLD (f_simm16
) = f_simm16
;
193 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_addv3", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "simm16 0x%x", 'x', f_simm16
, (char *) 0));
195 #if WITH_PROFILE_MODEL_P
196 /* Record the fields for profiling. */
197 if (PROFILE_MODEL_P (current_cpu
))
207 EX_FN_NAME (m32rxf
,fmt_addx
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
209 #define FLD(f) abuf->fields.fmt_addx.f
210 EXTRACT_FMT_ADDX_VARS
/* f-op1 f-r1 f-op2 f-r2 */
212 EXTRACT_FMT_ADDX_CODE
214 /* Record the fields for the semantic handler. */
215 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
216 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
217 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_addx", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
219 #if WITH_PROFILE_MODEL_P
220 /* Record the fields for profiling. */
221 if (PROFILE_MODEL_P (current_cpu
))
232 EX_FN_NAME (m32rxf
,fmt_bc8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
234 #define FLD(f) abuf->fields.cti.fields.fmt_bc8.f
235 EXTRACT_FMT_BC8_VARS
/* f-op1 f-r1 f-disp8 */
239 /* Record the fields for the semantic handler. */
240 FLD (f_disp8
) = f_disp8
;
241 SEM_BRANCH_INIT_EXTRACT (abuf
);
242 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bc8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
244 #if WITH_PROFILE_MODEL_P
245 /* Record the fields for profiling. */
246 if (PROFILE_MODEL_P (current_cpu
))
254 EX_FN_NAME (m32rxf
,fmt_bc24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
256 #define FLD(f) abuf->fields.cti.fields.fmt_bc24.f
257 EXTRACT_FMT_BC24_VARS
/* f-op1 f-r1 f-disp24 */
259 EXTRACT_FMT_BC24_CODE
261 /* Record the fields for the semantic handler. */
262 FLD (f_disp24
) = f_disp24
;
263 SEM_BRANCH_INIT_EXTRACT (abuf
);
264 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bc24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
266 #if WITH_PROFILE_MODEL_P
267 /* Record the fields for profiling. */
268 if (PROFILE_MODEL_P (current_cpu
))
276 EX_FN_NAME (m32rxf
,fmt_beq
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
278 #define FLD(f) abuf->fields.cti.fields.fmt_beq.f
279 EXTRACT_FMT_BEQ_VARS
/* f-op1 f-r1 f-op2 f-r2 f-disp16 */
283 /* Record the fields for the semantic handler. */
284 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
285 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
286 FLD (f_disp16
) = f_disp16
;
287 SEM_BRANCH_INIT_EXTRACT (abuf
);
288 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_beq", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, "disp16 0x%x", 'x', f_disp16
, (char *) 0));
290 #if WITH_PROFILE_MODEL_P
291 /* Record the fields for profiling. */
292 if (PROFILE_MODEL_P (current_cpu
))
294 FLD (in_src1
) = f_r1
;
295 FLD (in_src2
) = f_r2
;
302 EX_FN_NAME (m32rxf
,fmt_beqz
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
304 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
305 EXTRACT_FMT_BEQZ_VARS
/* f-op1 f-r1 f-op2 f-r2 f-disp16 */
307 EXTRACT_FMT_BEQZ_CODE
309 /* Record the fields for the semantic handler. */
310 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
311 FLD (f_disp16
) = f_disp16
;
312 SEM_BRANCH_INIT_EXTRACT (abuf
);
313 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_beqz", "src2 0x%x", 'x', f_r2
, "disp16 0x%x", 'x', f_disp16
, (char *) 0));
315 #if WITH_PROFILE_MODEL_P
316 /* Record the fields for profiling. */
317 if (PROFILE_MODEL_P (current_cpu
))
319 FLD (in_src2
) = f_r2
;
326 EX_FN_NAME (m32rxf
,fmt_bl8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
328 #define FLD(f) abuf->fields.cti.fields.fmt_bl8.f
329 EXTRACT_FMT_BL8_VARS
/* f-op1 f-r1 f-disp8 */
333 /* Record the fields for the semantic handler. */
334 FLD (f_disp8
) = f_disp8
;
335 SEM_BRANCH_INIT_EXTRACT (abuf
);
336 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bl8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
338 #if WITH_PROFILE_MODEL_P
339 /* Record the fields for profiling. */
340 if (PROFILE_MODEL_P (current_cpu
))
342 FLD (out_h_gr_14
) = 14;
349 EX_FN_NAME (m32rxf
,fmt_bl24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
351 #define FLD(f) abuf->fields.cti.fields.fmt_bl24.f
352 EXTRACT_FMT_BL24_VARS
/* f-op1 f-r1 f-disp24 */
354 EXTRACT_FMT_BL24_CODE
356 /* Record the fields for the semantic handler. */
357 FLD (f_disp24
) = f_disp24
;
358 SEM_BRANCH_INIT_EXTRACT (abuf
);
359 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bl24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
361 #if WITH_PROFILE_MODEL_P
362 /* Record the fields for profiling. */
363 if (PROFILE_MODEL_P (current_cpu
))
365 FLD (out_h_gr_14
) = 14;
372 EX_FN_NAME (m32rxf
,fmt_bcl8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
374 #define FLD(f) abuf->fields.cti.fields.fmt_bcl8.f
375 EXTRACT_FMT_BCL8_VARS
/* f-op1 f-r1 f-disp8 */
377 EXTRACT_FMT_BCL8_CODE
379 /* Record the fields for the semantic handler. */
380 FLD (f_disp8
) = f_disp8
;
381 SEM_BRANCH_INIT_EXTRACT (abuf
);
382 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bcl8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
384 #if WITH_PROFILE_MODEL_P
385 /* Record the fields for profiling. */
386 if (PROFILE_MODEL_P (current_cpu
))
388 FLD (out_h_gr_14
) = 14;
395 EX_FN_NAME (m32rxf
,fmt_bcl24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
397 #define FLD(f) abuf->fields.cti.fields.fmt_bcl24.f
398 EXTRACT_FMT_BCL24_VARS
/* f-op1 f-r1 f-disp24 */
400 EXTRACT_FMT_BCL24_CODE
402 /* Record the fields for the semantic handler. */
403 FLD (f_disp24
) = f_disp24
;
404 SEM_BRANCH_INIT_EXTRACT (abuf
);
405 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bcl24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
407 #if WITH_PROFILE_MODEL_P
408 /* Record the fields for profiling. */
409 if (PROFILE_MODEL_P (current_cpu
))
411 FLD (out_h_gr_14
) = 14;
418 EX_FN_NAME (m32rxf
,fmt_bra8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
420 #define FLD(f) abuf->fields.cti.fields.fmt_bra8.f
421 EXTRACT_FMT_BRA8_VARS
/* f-op1 f-r1 f-disp8 */
423 EXTRACT_FMT_BRA8_CODE
425 /* Record the fields for the semantic handler. */
426 FLD (f_disp8
) = f_disp8
;
427 SEM_BRANCH_INIT_EXTRACT (abuf
);
428 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bra8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
430 #if WITH_PROFILE_MODEL_P
431 /* Record the fields for profiling. */
432 if (PROFILE_MODEL_P (current_cpu
))
440 EX_FN_NAME (m32rxf
,fmt_bra24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
442 #define FLD(f) abuf->fields.cti.fields.fmt_bra24.f
443 EXTRACT_FMT_BRA24_VARS
/* f-op1 f-r1 f-disp24 */
445 EXTRACT_FMT_BRA24_CODE
447 /* Record the fields for the semantic handler. */
448 FLD (f_disp24
) = f_disp24
;
449 SEM_BRANCH_INIT_EXTRACT (abuf
);
450 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bra24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
452 #if WITH_PROFILE_MODEL_P
453 /* Record the fields for profiling. */
454 if (PROFILE_MODEL_P (current_cpu
))
462 EX_FN_NAME (m32rxf
,fmt_cmp
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
464 #define FLD(f) abuf->fields.fmt_cmp.f
465 EXTRACT_FMT_CMP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
469 /* Record the fields for the semantic handler. */
470 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
471 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
472 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_cmp", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
474 #if WITH_PROFILE_MODEL_P
475 /* Record the fields for profiling. */
476 if (PROFILE_MODEL_P (current_cpu
))
478 FLD (in_src1
) = f_r1
;
479 FLD (in_src2
) = f_r2
;
486 EX_FN_NAME (m32rxf
,fmt_cmpi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
488 #define FLD(f) abuf->fields.fmt_cmpi.f
489 EXTRACT_FMT_CMPI_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
491 EXTRACT_FMT_CMPI_CODE
493 /* Record the fields for the semantic handler. */
494 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
495 FLD (f_simm16
) = f_simm16
;
496 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_cmpi", "src2 0x%x", 'x', f_r2
, "simm16 0x%x", 'x', f_simm16
, (char *) 0));
498 #if WITH_PROFILE_MODEL_P
499 /* Record the fields for profiling. */
500 if (PROFILE_MODEL_P (current_cpu
))
502 FLD (in_src2
) = f_r2
;
509 EX_FN_NAME (m32rxf
,fmt_cmpz
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
511 #define FLD(f) abuf->fields.fmt_cmpz.f
512 EXTRACT_FMT_CMPZ_VARS
/* f-op1 f-r1 f-op2 f-r2 */
514 EXTRACT_FMT_CMPZ_CODE
516 /* Record the fields for the semantic handler. */
517 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
518 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_cmpz", "src2 0x%x", 'x', f_r2
, (char *) 0));
520 #if WITH_PROFILE_MODEL_P
521 /* Record the fields for profiling. */
522 if (PROFILE_MODEL_P (current_cpu
))
524 FLD (in_src2
) = f_r2
;
531 EX_FN_NAME (m32rxf
,fmt_div
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
533 #define FLD(f) abuf->fields.fmt_div.f
534 EXTRACT_FMT_DIV_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
538 /* Record the fields for the semantic handler. */
539 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
540 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
541 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_div", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
543 #if WITH_PROFILE_MODEL_P
544 /* Record the fields for profiling. */
545 if (PROFILE_MODEL_P (current_cpu
))
556 EX_FN_NAME (m32rxf
,fmt_jc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
558 #define FLD(f) abuf->fields.cti.fields.fmt_jc.f
559 EXTRACT_FMT_JC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
563 /* Record the fields for the semantic handler. */
564 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
565 SEM_BRANCH_INIT_EXTRACT (abuf
);
566 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_jc", "sr 0x%x", 'x', f_r2
, (char *) 0));
568 #if WITH_PROFILE_MODEL_P
569 /* Record the fields for profiling. */
570 if (PROFILE_MODEL_P (current_cpu
))
579 EX_FN_NAME (m32rxf
,fmt_jl
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
581 #define FLD(f) abuf->fields.cti.fields.fmt_jl.f
582 EXTRACT_FMT_JL_VARS
/* f-op1 f-r1 f-op2 f-r2 */
586 /* Record the fields for the semantic handler. */
587 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
588 SEM_BRANCH_INIT_EXTRACT (abuf
);
589 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_jl", "sr 0x%x", 'x', f_r2
, (char *) 0));
591 #if WITH_PROFILE_MODEL_P
592 /* Record the fields for profiling. */
593 if (PROFILE_MODEL_P (current_cpu
))
596 FLD (out_h_gr_14
) = 14;
603 EX_FN_NAME (m32rxf
,fmt_jmp
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
605 #define FLD(f) abuf->fields.cti.fields.fmt_jmp.f
606 EXTRACT_FMT_JMP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
610 /* Record the fields for the semantic handler. */
611 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
612 SEM_BRANCH_INIT_EXTRACT (abuf
);
613 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_jmp", "sr 0x%x", 'x', f_r2
, (char *) 0));
615 #if WITH_PROFILE_MODEL_P
616 /* Record the fields for profiling. */
617 if (PROFILE_MODEL_P (current_cpu
))
626 EX_FN_NAME (m32rxf
,fmt_ld
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
628 #define FLD(f) abuf->fields.fmt_ld.f
629 EXTRACT_FMT_LD_VARS
/* f-op1 f-r1 f-op2 f-r2 */
633 /* Record the fields for the semantic handler. */
634 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
635 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
636 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ld", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
638 #if WITH_PROFILE_MODEL_P
639 /* Record the fields for profiling. */
640 if (PROFILE_MODEL_P (current_cpu
))
650 EX_FN_NAME (m32rxf
,fmt_ld_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
652 #define FLD(f) abuf->fields.fmt_ld_d.f
653 EXTRACT_FMT_LD_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
655 EXTRACT_FMT_LD_D_CODE
657 /* Record the fields for the semantic handler. */
658 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
659 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
660 FLD (f_simm16
) = f_simm16
;
661 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ld_d", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
663 #if WITH_PROFILE_MODEL_P
664 /* Record the fields for profiling. */
665 if (PROFILE_MODEL_P (current_cpu
))
675 EX_FN_NAME (m32rxf
,fmt_ldb
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
677 #define FLD(f) abuf->fields.fmt_ldb.f
678 EXTRACT_FMT_LDB_VARS
/* f-op1 f-r1 f-op2 f-r2 */
682 /* Record the fields for the semantic handler. */
683 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
684 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
685 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldb", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
687 #if WITH_PROFILE_MODEL_P
688 /* Record the fields for profiling. */
689 if (PROFILE_MODEL_P (current_cpu
))
699 EX_FN_NAME (m32rxf
,fmt_ldb_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
701 #define FLD(f) abuf->fields.fmt_ldb_d.f
702 EXTRACT_FMT_LDB_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
704 EXTRACT_FMT_LDB_D_CODE
706 /* Record the fields for the semantic handler. */
707 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
708 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
709 FLD (f_simm16
) = f_simm16
;
710 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldb_d", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
712 #if WITH_PROFILE_MODEL_P
713 /* Record the fields for profiling. */
714 if (PROFILE_MODEL_P (current_cpu
))
724 EX_FN_NAME (m32rxf
,fmt_ldh
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
726 #define FLD(f) abuf->fields.fmt_ldh.f
727 EXTRACT_FMT_LDH_VARS
/* f-op1 f-r1 f-op2 f-r2 */
731 /* Record the fields for the semantic handler. */
732 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
733 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
734 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldh", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
736 #if WITH_PROFILE_MODEL_P
737 /* Record the fields for profiling. */
738 if (PROFILE_MODEL_P (current_cpu
))
748 EX_FN_NAME (m32rxf
,fmt_ldh_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
750 #define FLD(f) abuf->fields.fmt_ldh_d.f
751 EXTRACT_FMT_LDH_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
753 EXTRACT_FMT_LDH_D_CODE
755 /* Record the fields for the semantic handler. */
756 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
757 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
758 FLD (f_simm16
) = f_simm16
;
759 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldh_d", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
761 #if WITH_PROFILE_MODEL_P
762 /* Record the fields for profiling. */
763 if (PROFILE_MODEL_P (current_cpu
))
773 EX_FN_NAME (m32rxf
,fmt_ld_plus
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
775 #define FLD(f) abuf->fields.fmt_ld_plus.f
776 EXTRACT_FMT_LD_PLUS_VARS
/* f-op1 f-r1 f-op2 f-r2 */
778 EXTRACT_FMT_LD_PLUS_CODE
780 /* Record the fields for the semantic handler. */
781 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
782 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
783 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ld_plus", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
785 #if WITH_PROFILE_MODEL_P
786 /* Record the fields for profiling. */
787 if (PROFILE_MODEL_P (current_cpu
))
798 EX_FN_NAME (m32rxf
,fmt_ld24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
800 #define FLD(f) abuf->fields.fmt_ld24.f
801 EXTRACT_FMT_LD24_VARS
/* f-op1 f-r1 f-uimm24 */
803 EXTRACT_FMT_LD24_CODE
805 /* Record the fields for the semantic handler. */
806 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
807 FLD (f_uimm24
) = f_uimm24
;
808 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ld24", "dr 0x%x", 'x', f_r1
, "uimm24 0x%x", 'x', f_uimm24
, (char *) 0));
810 #if WITH_PROFILE_MODEL_P
811 /* Record the fields for profiling. */
812 if (PROFILE_MODEL_P (current_cpu
))
821 EX_FN_NAME (m32rxf
,fmt_ldi8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
823 #define FLD(f) abuf->fields.fmt_ldi8.f
824 EXTRACT_FMT_LDI8_VARS
/* f-op1 f-r1 f-simm8 */
826 EXTRACT_FMT_LDI8_CODE
828 /* Record the fields for the semantic handler. */
829 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
830 FLD (f_simm8
) = f_simm8
;
831 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldi8", "dr 0x%x", 'x', f_r1
, "simm8 0x%x", 'x', f_simm8
, (char *) 0));
833 #if WITH_PROFILE_MODEL_P
834 /* Record the fields for profiling. */
835 if (PROFILE_MODEL_P (current_cpu
))
844 EX_FN_NAME (m32rxf
,fmt_ldi16
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
846 #define FLD(f) abuf->fields.fmt_ldi16.f
847 EXTRACT_FMT_LDI16_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
849 EXTRACT_FMT_LDI16_CODE
851 /* Record the fields for the semantic handler. */
852 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
853 FLD (f_simm16
) = f_simm16
;
854 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldi16", "dr 0x%x", 'x', f_r1
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
856 #if WITH_PROFILE_MODEL_P
857 /* Record the fields for profiling. */
858 if (PROFILE_MODEL_P (current_cpu
))
867 EX_FN_NAME (m32rxf
,fmt_lock
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
869 #define FLD(f) abuf->fields.fmt_lock.f
870 EXTRACT_FMT_LOCK_VARS
/* f-op1 f-r1 f-op2 f-r2 */
872 EXTRACT_FMT_LOCK_CODE
874 /* Record the fields for the semantic handler. */
875 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
876 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
877 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_lock", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
879 #if WITH_PROFILE_MODEL_P
880 /* Record the fields for profiling. */
881 if (PROFILE_MODEL_P (current_cpu
))
891 EX_FN_NAME (m32rxf
,fmt_machi_a
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
893 #define FLD(f) abuf->fields.fmt_machi_a.f
894 EXTRACT_FMT_MACHI_A_VARS
/* f-op1 f-r1 f-acc f-op23 f-r2 */
896 EXTRACT_FMT_MACHI_A_CODE
898 /* Record the fields for the semantic handler. */
899 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
901 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
902 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_machi_a", "src1 0x%x", 'x', f_r1
, "acc 0x%x", 'x', f_acc
, "src2 0x%x", 'x', f_r2
, (char *) 0));
904 #if WITH_PROFILE_MODEL_P
905 /* Record the fields for profiling. */
906 if (PROFILE_MODEL_P (current_cpu
))
908 FLD (in_src1
) = f_r1
;
909 FLD (in_src2
) = f_r2
;
916 EX_FN_NAME (m32rxf
,fmt_mulhi_a
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
918 #define FLD(f) abuf->fields.fmt_mulhi_a.f
919 EXTRACT_FMT_MULHI_A_VARS
/* f-op1 f-r1 f-acc f-op23 f-r2 */
921 EXTRACT_FMT_MULHI_A_CODE
923 /* Record the fields for the semantic handler. */
924 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
926 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
927 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mulhi_a", "src1 0x%x", 'x', f_r1
, "acc 0x%x", 'x', f_acc
, "src2 0x%x", 'x', f_r2
, (char *) 0));
929 #if WITH_PROFILE_MODEL_P
930 /* Record the fields for profiling. */
931 if (PROFILE_MODEL_P (current_cpu
))
933 FLD (in_src1
) = f_r1
;
934 FLD (in_src2
) = f_r2
;
941 EX_FN_NAME (m32rxf
,fmt_mv
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
943 #define FLD(f) abuf->fields.fmt_mv.f
944 EXTRACT_FMT_MV_VARS
/* f-op1 f-r1 f-op2 f-r2 */
948 /* Record the fields for the semantic handler. */
949 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
950 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
951 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mv", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
953 #if WITH_PROFILE_MODEL_P
954 /* Record the fields for profiling. */
955 if (PROFILE_MODEL_P (current_cpu
))
965 EX_FN_NAME (m32rxf
,fmt_mvfachi_a
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
967 #define FLD(f) abuf->fields.fmt_mvfachi_a.f
968 EXTRACT_FMT_MVFACHI_A_VARS
/* f-op1 f-r1 f-op2 f-accs f-op3 */
970 EXTRACT_FMT_MVFACHI_A_CODE
972 /* Record the fields for the semantic handler. */
973 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
974 FLD (f_accs
) = f_accs
;
975 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvfachi_a", "dr 0x%x", 'x', f_r1
, "accs 0x%x", 'x', f_accs
, (char *) 0));
977 #if WITH_PROFILE_MODEL_P
978 /* Record the fields for profiling. */
979 if (PROFILE_MODEL_P (current_cpu
))
988 EX_FN_NAME (m32rxf
,fmt_mvfc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
990 #define FLD(f) abuf->fields.fmt_mvfc.f
991 EXTRACT_FMT_MVFC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
993 EXTRACT_FMT_MVFC_CODE
995 /* Record the fields for the semantic handler. */
996 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
998 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvfc", "dr 0x%x", 'x', f_r1
, "scr 0x%x", 'x', f_r2
, (char *) 0));
1000 #if WITH_PROFILE_MODEL_P
1001 /* Record the fields for profiling. */
1002 if (PROFILE_MODEL_P (current_cpu
))
1004 FLD (out_dr
) = f_r1
;
1011 EX_FN_NAME (m32rxf
,fmt_mvtachi_a
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1013 #define FLD(f) abuf->fields.fmt_mvtachi_a.f
1014 EXTRACT_FMT_MVTACHI_A_VARS
/* f-op1 f-r1 f-op2 f-accs f-op3 */
1016 EXTRACT_FMT_MVTACHI_A_CODE
1018 /* Record the fields for the semantic handler. */
1019 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1020 FLD (f_accs
) = f_accs
;
1021 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvtachi_a", "src1 0x%x", 'x', f_r1
, "accs 0x%x", 'x', f_accs
, (char *) 0));
1023 #if WITH_PROFILE_MODEL_P
1024 /* Record the fields for profiling. */
1025 if (PROFILE_MODEL_P (current_cpu
))
1027 FLD (in_src1
) = f_r1
;
1034 EX_FN_NAME (m32rxf
,fmt_mvtc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1036 #define FLD(f) abuf->fields.fmt_mvtc.f
1037 EXTRACT_FMT_MVTC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1039 EXTRACT_FMT_MVTC_CODE
1041 /* Record the fields for the semantic handler. */
1043 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1044 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvtc", "dcr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
1046 #if WITH_PROFILE_MODEL_P
1047 /* Record the fields for profiling. */
1048 if (PROFILE_MODEL_P (current_cpu
))
1057 EX_FN_NAME (m32rxf
,fmt_nop
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1059 #define FLD(f) abuf->fields.fmt_nop.f
1060 EXTRACT_FMT_NOP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1062 EXTRACT_FMT_NOP_CODE
1064 /* Record the fields for the semantic handler. */
1065 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_nop", (char *) 0));
1071 EX_FN_NAME (m32rxf
,fmt_rac_dsi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1073 #define FLD(f) abuf->fields.fmt_rac_dsi.f
1074 EXTRACT_FMT_RAC_DSI_VARS
/* f-op1 f-accd f-bits67 f-op2 f-accs f-bit14 f-imm1 */
1076 EXTRACT_FMT_RAC_DSI_CODE
1078 /* Record the fields for the semantic handler. */
1079 FLD (f_accd
) = f_accd
;
1080 FLD (f_accs
) = f_accs
;
1081 FLD (f_imm1
) = f_imm1
;
1082 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_rac_dsi", "accd 0x%x", 'x', f_accd
, "accs 0x%x", 'x', f_accs
, "imm1 0x%x", 'x', f_imm1
, (char *) 0));
1088 EX_FN_NAME (m32rxf
,fmt_rte
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1090 #define FLD(f) abuf->fields.cti.fields.fmt_rte.f
1091 EXTRACT_FMT_RTE_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1093 EXTRACT_FMT_RTE_CODE
1095 /* Record the fields for the semantic handler. */
1096 SEM_BRANCH_INIT_EXTRACT (abuf
);
1097 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_rte", (char *) 0));
1099 #if WITH_PROFILE_MODEL_P
1100 /* Record the fields for profiling. */
1101 if (PROFILE_MODEL_P (current_cpu
))
1109 EX_FN_NAME (m32rxf
,fmt_seth
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1111 #define FLD(f) abuf->fields.fmt_seth.f
1112 EXTRACT_FMT_SETH_VARS
/* f-op1 f-r1 f-op2 f-r2 f-hi16 */
1114 EXTRACT_FMT_SETH_CODE
1116 /* Record the fields for the semantic handler. */
1117 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1118 FLD (f_hi16
) = f_hi16
;
1119 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_seth", "dr 0x%x", 'x', f_r1
, "hi16 0x%x", 'x', f_hi16
, (char *) 0));
1121 #if WITH_PROFILE_MODEL_P
1122 /* Record the fields for profiling. */
1123 if (PROFILE_MODEL_P (current_cpu
))
1125 FLD (out_dr
) = f_r1
;
1132 EX_FN_NAME (m32rxf
,fmt_sll3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1134 #define FLD(f) abuf->fields.fmt_sll3.f
1135 EXTRACT_FMT_SLL3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1137 EXTRACT_FMT_SLL3_CODE
1139 /* Record the fields for the semantic handler. */
1140 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1141 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1142 FLD (f_simm16
) = f_simm16
;
1143 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_sll3", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "simm16 0x%x", 'x', f_simm16
, (char *) 0));
1145 #if WITH_PROFILE_MODEL_P
1146 /* Record the fields for profiling. */
1147 if (PROFILE_MODEL_P (current_cpu
))
1150 FLD (out_dr
) = f_r1
;
1157 EX_FN_NAME (m32rxf
,fmt_slli
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1159 #define FLD(f) abuf->fields.fmt_slli.f
1160 EXTRACT_FMT_SLLI_VARS
/* f-op1 f-r1 f-shift-op2 f-uimm5 */
1162 EXTRACT_FMT_SLLI_CODE
1164 /* Record the fields for the semantic handler. */
1165 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1166 FLD (f_uimm5
) = f_uimm5
;
1167 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_slli", "dr 0x%x", 'x', f_r1
, "uimm5 0x%x", 'x', f_uimm5
, (char *) 0));
1169 #if WITH_PROFILE_MODEL_P
1170 /* Record the fields for profiling. */
1171 if (PROFILE_MODEL_P (current_cpu
))
1174 FLD (out_dr
) = f_r1
;
1181 EX_FN_NAME (m32rxf
,fmt_st
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1183 #define FLD(f) abuf->fields.fmt_st.f
1184 EXTRACT_FMT_ST_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1188 /* Record the fields for the semantic handler. */
1189 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1190 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1191 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_st", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1193 #if WITH_PROFILE_MODEL_P
1194 /* Record the fields for profiling. */
1195 if (PROFILE_MODEL_P (current_cpu
))
1197 FLD (in_src2
) = f_r2
;
1198 FLD (in_src1
) = f_r1
;
1205 EX_FN_NAME (m32rxf
,fmt_st_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1207 #define FLD(f) abuf->fields.fmt_st_d.f
1208 EXTRACT_FMT_ST_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1210 EXTRACT_FMT_ST_D_CODE
1212 /* Record the fields for the semantic handler. */
1213 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1214 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1215 FLD (f_simm16
) = f_simm16
;
1216 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_st_d", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
1218 #if WITH_PROFILE_MODEL_P
1219 /* Record the fields for profiling. */
1220 if (PROFILE_MODEL_P (current_cpu
))
1222 FLD (in_src2
) = f_r2
;
1223 FLD (in_src1
) = f_r1
;
1230 EX_FN_NAME (m32rxf
,fmt_stb
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1232 #define FLD(f) abuf->fields.fmt_stb.f
1233 EXTRACT_FMT_STB_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1235 EXTRACT_FMT_STB_CODE
1237 /* Record the fields for the semantic handler. */
1238 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1239 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1240 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_stb", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1242 #if WITH_PROFILE_MODEL_P
1243 /* Record the fields for profiling. */
1244 if (PROFILE_MODEL_P (current_cpu
))
1246 FLD (in_src2
) = f_r2
;
1247 FLD (in_src1
) = f_r1
;
1254 EX_FN_NAME (m32rxf
,fmt_stb_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1256 #define FLD(f) abuf->fields.fmt_stb_d.f
1257 EXTRACT_FMT_STB_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1259 EXTRACT_FMT_STB_D_CODE
1261 /* Record the fields for the semantic handler. */
1262 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1263 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1264 FLD (f_simm16
) = f_simm16
;
1265 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_stb_d", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
1267 #if WITH_PROFILE_MODEL_P
1268 /* Record the fields for profiling. */
1269 if (PROFILE_MODEL_P (current_cpu
))
1271 FLD (in_src2
) = f_r2
;
1272 FLD (in_src1
) = f_r1
;
1279 EX_FN_NAME (m32rxf
,fmt_sth
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1281 #define FLD(f) abuf->fields.fmt_sth.f
1282 EXTRACT_FMT_STH_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1284 EXTRACT_FMT_STH_CODE
1286 /* Record the fields for the semantic handler. */
1287 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1288 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1289 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_sth", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1291 #if WITH_PROFILE_MODEL_P
1292 /* Record the fields for profiling. */
1293 if (PROFILE_MODEL_P (current_cpu
))
1295 FLD (in_src2
) = f_r2
;
1296 FLD (in_src1
) = f_r1
;
1303 EX_FN_NAME (m32rxf
,fmt_sth_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1305 #define FLD(f) abuf->fields.fmt_sth_d.f
1306 EXTRACT_FMT_STH_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1308 EXTRACT_FMT_STH_D_CODE
1310 /* Record the fields for the semantic handler. */
1311 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1312 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1313 FLD (f_simm16
) = f_simm16
;
1314 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_sth_d", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
1316 #if WITH_PROFILE_MODEL_P
1317 /* Record the fields for profiling. */
1318 if (PROFILE_MODEL_P (current_cpu
))
1320 FLD (in_src2
) = f_r2
;
1321 FLD (in_src1
) = f_r1
;
1328 EX_FN_NAME (m32rxf
,fmt_st_plus
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1330 #define FLD(f) abuf->fields.fmt_st_plus.f
1331 EXTRACT_FMT_ST_PLUS_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1333 EXTRACT_FMT_ST_PLUS_CODE
1335 /* Record the fields for the semantic handler. */
1336 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1337 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1338 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_st_plus", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1340 #if WITH_PROFILE_MODEL_P
1341 /* Record the fields for profiling. */
1342 if (PROFILE_MODEL_P (current_cpu
))
1344 FLD (in_src2
) = f_r2
;
1345 FLD (in_src1
) = f_r1
;
1346 FLD (out_src2
) = f_r2
;
1353 EX_FN_NAME (m32rxf
,fmt_trap
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1355 #define FLD(f) abuf->fields.cti.fields.fmt_trap.f
1356 EXTRACT_FMT_TRAP_VARS
/* f-op1 f-r1 f-op2 f-uimm4 */
1358 EXTRACT_FMT_TRAP_CODE
1360 /* Record the fields for the semantic handler. */
1361 FLD (f_uimm4
) = f_uimm4
;
1362 SEM_BRANCH_INIT_EXTRACT (abuf
);
1363 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_trap", "uimm4 0x%x", 'x', f_uimm4
, (char *) 0));
1365 #if WITH_PROFILE_MODEL_P
1366 /* Record the fields for profiling. */
1367 if (PROFILE_MODEL_P (current_cpu
))
1375 EX_FN_NAME (m32rxf
,fmt_unlock
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1377 #define FLD(f) abuf->fields.fmt_unlock.f
1378 EXTRACT_FMT_UNLOCK_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1380 EXTRACT_FMT_UNLOCK_CODE
1382 /* Record the fields for the semantic handler. */
1383 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1384 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1385 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_unlock", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1387 #if WITH_PROFILE_MODEL_P
1388 /* Record the fields for profiling. */
1389 if (PROFILE_MODEL_P (current_cpu
))
1391 FLD (in_src2
) = f_r2
;
1392 FLD (in_src1
) = f_r1
;
1399 EX_FN_NAME (m32rxf
,fmt_satb
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1401 #define FLD(f) abuf->fields.fmt_satb.f
1402 EXTRACT_FMT_SATB_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
1404 EXTRACT_FMT_SATB_CODE
1406 /* Record the fields for the semantic handler. */
1407 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1408 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1409 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_satb", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
1411 #if WITH_PROFILE_MODEL_P
1412 /* Record the fields for profiling. */
1413 if (PROFILE_MODEL_P (current_cpu
))
1416 FLD (out_dr
) = f_r1
;
1423 EX_FN_NAME (m32rxf
,fmt_sat
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1425 #define FLD(f) abuf->fields.fmt_sat.f
1426 EXTRACT_FMT_SAT_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
1428 EXTRACT_FMT_SAT_CODE
1430 /* Record the fields for the semantic handler. */
1431 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1432 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1433 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_sat", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
1435 #if WITH_PROFILE_MODEL_P
1436 /* Record the fields for profiling. */
1437 if (PROFILE_MODEL_P (current_cpu
))
1440 FLD (out_dr
) = f_r1
;
1447 EX_FN_NAME (m32rxf
,fmt_sadd
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1449 #define FLD(f) abuf->fields.fmt_sadd.f
1450 EXTRACT_FMT_SADD_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1452 EXTRACT_FMT_SADD_CODE
1454 /* Record the fields for the semantic handler. */
1455 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_sadd", (char *) 0));
1461 EX_FN_NAME (m32rxf
,fmt_macwu1
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1463 #define FLD(f) abuf->fields.fmt_macwu1.f
1464 EXTRACT_FMT_MACWU1_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1466 EXTRACT_FMT_MACWU1_CODE
1468 /* Record the fields for the semantic handler. */
1469 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1470 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1471 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_macwu1", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1473 #if WITH_PROFILE_MODEL_P
1474 /* Record the fields for profiling. */
1475 if (PROFILE_MODEL_P (current_cpu
))
1477 FLD (in_src1
) = f_r1
;
1478 FLD (in_src2
) = f_r2
;
1485 EX_FN_NAME (m32rxf
,fmt_msblo
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1487 #define FLD(f) abuf->fields.fmt_msblo.f
1488 EXTRACT_FMT_MSBLO_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1490 EXTRACT_FMT_MSBLO_CODE
1492 /* Record the fields for the semantic handler. */
1493 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1494 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1495 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_msblo", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1497 #if WITH_PROFILE_MODEL_P
1498 /* Record the fields for profiling. */
1499 if (PROFILE_MODEL_P (current_cpu
))
1501 FLD (in_src1
) = f_r1
;
1502 FLD (in_src2
) = f_r2
;
1509 EX_FN_NAME (m32rxf
,fmt_mulwu1
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1511 #define FLD(f) abuf->fields.fmt_mulwu1.f
1512 EXTRACT_FMT_MULWU1_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1514 EXTRACT_FMT_MULWU1_CODE
1516 /* Record the fields for the semantic handler. */
1517 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1518 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1519 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mulwu1", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1521 #if WITH_PROFILE_MODEL_P
1522 /* Record the fields for profiling. */
1523 if (PROFILE_MODEL_P (current_cpu
))
1525 FLD (in_src1
) = f_r1
;
1526 FLD (in_src2
) = f_r2
;
1533 EX_FN_NAME (m32rxf
,fmt_sc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1535 #define FLD(f) abuf->fields.fmt_sc.f
1536 EXTRACT_FMT_SC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1540 /* Record the fields for the semantic handler. */
1541 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_sc", (char *) 0));
1547 EX_FN_NAME (m32rxf
,fmt_empty
) (SIM_CPU
*cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1549 /* Empty format handler for virtual insns. */