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
32 EX_FN_NAME (m32rxf
,fmt_add
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
34 #define FLD(f) abuf->fields.fmt_add.f
35 EXTRACT_FMT_ADD_VARS
/* f-op1 f-r1 f-op2 f-r2 */
39 /* Record the fields for the semantic handler. */
40 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
41 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
42 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_add", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
44 #if WITH_PROFILE_MODEL_P
45 /* Record the fields for profiling. */
46 if (PROFILE_MODEL_P (current_cpu
))
57 EX_FN_NAME (m32rxf
,fmt_add3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
59 #define FLD(f) abuf->fields.fmt_add3.f
60 EXTRACT_FMT_ADD3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
64 /* Record the fields for the semantic handler. */
65 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
66 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
67 FLD (f_simm16
) = f_simm16
;
68 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));
70 #if WITH_PROFILE_MODEL_P
71 /* Record the fields for profiling. */
72 if (PROFILE_MODEL_P (current_cpu
))
82 EX_FN_NAME (m32rxf
,fmt_and3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
84 #define FLD(f) abuf->fields.fmt_and3.f
85 EXTRACT_FMT_AND3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
89 /* Record the fields for the semantic handler. */
90 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
91 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
92 FLD (f_uimm16
) = f_uimm16
;
93 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));
95 #if WITH_PROFILE_MODEL_P
96 /* Record the fields for profiling. */
97 if (PROFILE_MODEL_P (current_cpu
))
107 EX_FN_NAME (m32rxf
,fmt_or3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
109 #define FLD(f) abuf->fields.fmt_or3.f
110 EXTRACT_FMT_OR3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
114 /* Record the fields for the semantic handler. */
115 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
116 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
117 FLD (f_uimm16
) = f_uimm16
;
118 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));
120 #if WITH_PROFILE_MODEL_P
121 /* Record the fields for profiling. */
122 if (PROFILE_MODEL_P (current_cpu
))
132 EX_FN_NAME (m32rxf
,fmt_addi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
134 #define FLD(f) abuf->fields.fmt_addi.f
135 EXTRACT_FMT_ADDI_VARS
/* f-op1 f-r1 f-simm8 */
137 EXTRACT_FMT_ADDI_CODE
139 /* Record the fields for the semantic handler. */
140 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
141 FLD (f_simm8
) = f_simm8
;
142 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_addi", "dr 0x%x", 'x', f_r1
, "simm8 0x%x", 'x', f_simm8
, (char *) 0));
144 #if WITH_PROFILE_MODEL_P
145 /* Record the fields for profiling. */
146 if (PROFILE_MODEL_P (current_cpu
))
156 EX_FN_NAME (m32rxf
,fmt_addv
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
158 #define FLD(f) abuf->fields.fmt_addv.f
159 EXTRACT_FMT_ADDV_VARS
/* f-op1 f-r1 f-op2 f-r2 */
161 EXTRACT_FMT_ADDV_CODE
163 /* Record the fields for the semantic handler. */
164 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
165 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
166 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_addv", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
168 #if WITH_PROFILE_MODEL_P
169 /* Record the fields for profiling. */
170 if (PROFILE_MODEL_P (current_cpu
))
181 EX_FN_NAME (m32rxf
,fmt_addv3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
183 #define FLD(f) abuf->fields.fmt_addv3.f
184 EXTRACT_FMT_ADDV3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
186 EXTRACT_FMT_ADDV3_CODE
188 /* Record the fields for the semantic handler. */
189 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
190 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
191 FLD (f_simm16
) = f_simm16
;
192 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));
194 #if WITH_PROFILE_MODEL_P
195 /* Record the fields for profiling. */
196 if (PROFILE_MODEL_P (current_cpu
))
206 EX_FN_NAME (m32rxf
,fmt_addx
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
208 #define FLD(f) abuf->fields.fmt_addx.f
209 EXTRACT_FMT_ADDX_VARS
/* f-op1 f-r1 f-op2 f-r2 */
211 EXTRACT_FMT_ADDX_CODE
213 /* Record the fields for the semantic handler. */
214 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
215 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
216 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_addx", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
218 #if WITH_PROFILE_MODEL_P
219 /* Record the fields for profiling. */
220 if (PROFILE_MODEL_P (current_cpu
))
231 EX_FN_NAME (m32rxf
,fmt_bc8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
233 #define FLD(f) abuf->fields.cti.fields.fmt_bc8.f
234 EXTRACT_FMT_BC8_VARS
/* f-op1 f-r1 f-disp8 */
238 /* Record the fields for the semantic handler. */
239 FLD (f_disp8
) = f_disp8
;
240 SEM_BRANCH_INIT_EXTRACT (abuf
);
241 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bc8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
243 #if WITH_PROFILE_MODEL_P
244 /* Record the fields for profiling. */
245 if (PROFILE_MODEL_P (current_cpu
))
253 EX_FN_NAME (m32rxf
,fmt_bc24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
255 #define FLD(f) abuf->fields.cti.fields.fmt_bc24.f
256 EXTRACT_FMT_BC24_VARS
/* f-op1 f-r1 f-disp24 */
258 EXTRACT_FMT_BC24_CODE
260 /* Record the fields for the semantic handler. */
261 FLD (f_disp24
) = f_disp24
;
262 SEM_BRANCH_INIT_EXTRACT (abuf
);
263 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bc24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
265 #if WITH_PROFILE_MODEL_P
266 /* Record the fields for profiling. */
267 if (PROFILE_MODEL_P (current_cpu
))
275 EX_FN_NAME (m32rxf
,fmt_beq
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
277 #define FLD(f) abuf->fields.cti.fields.fmt_beq.f
278 EXTRACT_FMT_BEQ_VARS
/* f-op1 f-r1 f-op2 f-r2 f-disp16 */
282 /* Record the fields for the semantic handler. */
283 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
284 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
285 FLD (f_disp16
) = f_disp16
;
286 SEM_BRANCH_INIT_EXTRACT (abuf
);
287 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));
289 #if WITH_PROFILE_MODEL_P
290 /* Record the fields for profiling. */
291 if (PROFILE_MODEL_P (current_cpu
))
293 FLD (in_src1
) = f_r1
;
294 FLD (in_src2
) = f_r2
;
301 EX_FN_NAME (m32rxf
,fmt_beqz
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
303 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
304 EXTRACT_FMT_BEQZ_VARS
/* f-op1 f-r1 f-op2 f-r2 f-disp16 */
306 EXTRACT_FMT_BEQZ_CODE
308 /* Record the fields for the semantic handler. */
309 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
310 FLD (f_disp16
) = f_disp16
;
311 SEM_BRANCH_INIT_EXTRACT (abuf
);
312 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_beqz", "src2 0x%x", 'x', f_r2
, "disp16 0x%x", 'x', f_disp16
, (char *) 0));
314 #if WITH_PROFILE_MODEL_P
315 /* Record the fields for profiling. */
316 if (PROFILE_MODEL_P (current_cpu
))
318 FLD (in_src2
) = f_r2
;
325 EX_FN_NAME (m32rxf
,fmt_bl8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
327 #define FLD(f) abuf->fields.cti.fields.fmt_bl8.f
328 EXTRACT_FMT_BL8_VARS
/* f-op1 f-r1 f-disp8 */
332 /* Record the fields for the semantic handler. */
333 FLD (f_disp8
) = f_disp8
;
334 SEM_BRANCH_INIT_EXTRACT (abuf
);
335 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bl8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
337 #if WITH_PROFILE_MODEL_P
338 /* Record the fields for profiling. */
339 if (PROFILE_MODEL_P (current_cpu
))
341 FLD (out_h_gr_14
) = 14;
348 EX_FN_NAME (m32rxf
,fmt_bl24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
350 #define FLD(f) abuf->fields.cti.fields.fmt_bl24.f
351 EXTRACT_FMT_BL24_VARS
/* f-op1 f-r1 f-disp24 */
353 EXTRACT_FMT_BL24_CODE
355 /* Record the fields for the semantic handler. */
356 FLD (f_disp24
) = f_disp24
;
357 SEM_BRANCH_INIT_EXTRACT (abuf
);
358 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bl24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
360 #if WITH_PROFILE_MODEL_P
361 /* Record the fields for profiling. */
362 if (PROFILE_MODEL_P (current_cpu
))
364 FLD (out_h_gr_14
) = 14;
371 EX_FN_NAME (m32rxf
,fmt_bcl8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
373 #define FLD(f) abuf->fields.cti.fields.fmt_bcl8.f
374 EXTRACT_FMT_BCL8_VARS
/* f-op1 f-r1 f-disp8 */
376 EXTRACT_FMT_BCL8_CODE
378 /* Record the fields for the semantic handler. */
379 FLD (f_disp8
) = f_disp8
;
380 SEM_BRANCH_INIT_EXTRACT (abuf
);
381 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bcl8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
383 #if WITH_PROFILE_MODEL_P
384 /* Record the fields for profiling. */
385 if (PROFILE_MODEL_P (current_cpu
))
387 FLD (out_h_gr_14
) = 14;
394 EX_FN_NAME (m32rxf
,fmt_bcl24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
396 #define FLD(f) abuf->fields.cti.fields.fmt_bcl24.f
397 EXTRACT_FMT_BCL24_VARS
/* f-op1 f-r1 f-disp24 */
399 EXTRACT_FMT_BCL24_CODE
401 /* Record the fields for the semantic handler. */
402 FLD (f_disp24
) = f_disp24
;
403 SEM_BRANCH_INIT_EXTRACT (abuf
);
404 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bcl24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
406 #if WITH_PROFILE_MODEL_P
407 /* Record the fields for profiling. */
408 if (PROFILE_MODEL_P (current_cpu
))
410 FLD (out_h_gr_14
) = 14;
417 EX_FN_NAME (m32rxf
,fmt_bra8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
419 #define FLD(f) abuf->fields.cti.fields.fmt_bra8.f
420 EXTRACT_FMT_BRA8_VARS
/* f-op1 f-r1 f-disp8 */
422 EXTRACT_FMT_BRA8_CODE
424 /* Record the fields for the semantic handler. */
425 FLD (f_disp8
) = f_disp8
;
426 SEM_BRANCH_INIT_EXTRACT (abuf
);
427 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bra8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
429 #if WITH_PROFILE_MODEL_P
430 /* Record the fields for profiling. */
431 if (PROFILE_MODEL_P (current_cpu
))
439 EX_FN_NAME (m32rxf
,fmt_bra24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
441 #define FLD(f) abuf->fields.cti.fields.fmt_bra24.f
442 EXTRACT_FMT_BRA24_VARS
/* f-op1 f-r1 f-disp24 */
444 EXTRACT_FMT_BRA24_CODE
446 /* Record the fields for the semantic handler. */
447 FLD (f_disp24
) = f_disp24
;
448 SEM_BRANCH_INIT_EXTRACT (abuf
);
449 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bra24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
451 #if WITH_PROFILE_MODEL_P
452 /* Record the fields for profiling. */
453 if (PROFILE_MODEL_P (current_cpu
))
461 EX_FN_NAME (m32rxf
,fmt_cmp
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
463 #define FLD(f) abuf->fields.fmt_cmp.f
464 EXTRACT_FMT_CMP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
468 /* Record the fields for the semantic handler. */
469 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
470 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
471 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_cmp", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
473 #if WITH_PROFILE_MODEL_P
474 /* Record the fields for profiling. */
475 if (PROFILE_MODEL_P (current_cpu
))
477 FLD (in_src1
) = f_r1
;
478 FLD (in_src2
) = f_r2
;
485 EX_FN_NAME (m32rxf
,fmt_cmpi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
487 #define FLD(f) abuf->fields.fmt_cmpi.f
488 EXTRACT_FMT_CMPI_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
490 EXTRACT_FMT_CMPI_CODE
492 /* Record the fields for the semantic handler. */
493 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
494 FLD (f_simm16
) = f_simm16
;
495 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_cmpi", "src2 0x%x", 'x', f_r2
, "simm16 0x%x", 'x', f_simm16
, (char *) 0));
497 #if WITH_PROFILE_MODEL_P
498 /* Record the fields for profiling. */
499 if (PROFILE_MODEL_P (current_cpu
))
501 FLD (in_src2
) = f_r2
;
508 EX_FN_NAME (m32rxf
,fmt_cmpz
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
510 #define FLD(f) abuf->fields.fmt_cmpz.f
511 EXTRACT_FMT_CMPZ_VARS
/* f-op1 f-r1 f-op2 f-r2 */
513 EXTRACT_FMT_CMPZ_CODE
515 /* Record the fields for the semantic handler. */
516 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
517 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_cmpz", "src2 0x%x", 'x', f_r2
, (char *) 0));
519 #if WITH_PROFILE_MODEL_P
520 /* Record the fields for profiling. */
521 if (PROFILE_MODEL_P (current_cpu
))
523 FLD (in_src2
) = f_r2
;
530 EX_FN_NAME (m32rxf
,fmt_div
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
532 #define FLD(f) abuf->fields.fmt_div.f
533 EXTRACT_FMT_DIV_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
537 /* Record the fields for the semantic handler. */
538 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
539 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
540 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_div", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
542 #if WITH_PROFILE_MODEL_P
543 /* Record the fields for profiling. */
544 if (PROFILE_MODEL_P (current_cpu
))
555 EX_FN_NAME (m32rxf
,fmt_jc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
557 #define FLD(f) abuf->fields.cti.fields.fmt_jc.f
558 EXTRACT_FMT_JC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
562 /* Record the fields for the semantic handler. */
563 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
564 SEM_BRANCH_INIT_EXTRACT (abuf
);
565 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_jc", "sr 0x%x", 'x', f_r2
, (char *) 0));
567 #if WITH_PROFILE_MODEL_P
568 /* Record the fields for profiling. */
569 if (PROFILE_MODEL_P (current_cpu
))
578 EX_FN_NAME (m32rxf
,fmt_jl
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
580 #define FLD(f) abuf->fields.cti.fields.fmt_jl.f
581 EXTRACT_FMT_JL_VARS
/* f-op1 f-r1 f-op2 f-r2 */
585 /* Record the fields for the semantic handler. */
586 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
587 SEM_BRANCH_INIT_EXTRACT (abuf
);
588 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_jl", "sr 0x%x", 'x', f_r2
, (char *) 0));
590 #if WITH_PROFILE_MODEL_P
591 /* Record the fields for profiling. */
592 if (PROFILE_MODEL_P (current_cpu
))
595 FLD (out_h_gr_14
) = 14;
602 EX_FN_NAME (m32rxf
,fmt_jmp
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
604 #define FLD(f) abuf->fields.cti.fields.fmt_jmp.f
605 EXTRACT_FMT_JMP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
609 /* Record the fields for the semantic handler. */
610 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
611 SEM_BRANCH_INIT_EXTRACT (abuf
);
612 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_jmp", "sr 0x%x", 'x', f_r2
, (char *) 0));
614 #if WITH_PROFILE_MODEL_P
615 /* Record the fields for profiling. */
616 if (PROFILE_MODEL_P (current_cpu
))
625 EX_FN_NAME (m32rxf
,fmt_ld
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
627 #define FLD(f) abuf->fields.fmt_ld.f
628 EXTRACT_FMT_LD_VARS
/* f-op1 f-r1 f-op2 f-r2 */
632 /* Record the fields for the semantic handler. */
633 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
634 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
635 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ld", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
637 #if WITH_PROFILE_MODEL_P
638 /* Record the fields for profiling. */
639 if (PROFILE_MODEL_P (current_cpu
))
649 EX_FN_NAME (m32rxf
,fmt_ld_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
651 #define FLD(f) abuf->fields.fmt_ld_d.f
652 EXTRACT_FMT_LD_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
654 EXTRACT_FMT_LD_D_CODE
656 /* Record the fields for the semantic handler. */
657 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
658 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
659 FLD (f_simm16
) = f_simm16
;
660 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));
662 #if WITH_PROFILE_MODEL_P
663 /* Record the fields for profiling. */
664 if (PROFILE_MODEL_P (current_cpu
))
674 EX_FN_NAME (m32rxf
,fmt_ldb
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
676 #define FLD(f) abuf->fields.fmt_ldb.f
677 EXTRACT_FMT_LDB_VARS
/* f-op1 f-r1 f-op2 f-r2 */
681 /* Record the fields for the semantic handler. */
682 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
683 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
684 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldb", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
686 #if WITH_PROFILE_MODEL_P
687 /* Record the fields for profiling. */
688 if (PROFILE_MODEL_P (current_cpu
))
698 EX_FN_NAME (m32rxf
,fmt_ldb_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
700 #define FLD(f) abuf->fields.fmt_ldb_d.f
701 EXTRACT_FMT_LDB_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
703 EXTRACT_FMT_LDB_D_CODE
705 /* Record the fields for the semantic handler. */
706 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
707 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
708 FLD (f_simm16
) = f_simm16
;
709 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));
711 #if WITH_PROFILE_MODEL_P
712 /* Record the fields for profiling. */
713 if (PROFILE_MODEL_P (current_cpu
))
723 EX_FN_NAME (m32rxf
,fmt_ldh
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
725 #define FLD(f) abuf->fields.fmt_ldh.f
726 EXTRACT_FMT_LDH_VARS
/* f-op1 f-r1 f-op2 f-r2 */
730 /* Record the fields for the semantic handler. */
731 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
732 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
733 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldh", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
735 #if WITH_PROFILE_MODEL_P
736 /* Record the fields for profiling. */
737 if (PROFILE_MODEL_P (current_cpu
))
747 EX_FN_NAME (m32rxf
,fmt_ldh_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
749 #define FLD(f) abuf->fields.fmt_ldh_d.f
750 EXTRACT_FMT_LDH_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
752 EXTRACT_FMT_LDH_D_CODE
754 /* Record the fields for the semantic handler. */
755 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
756 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
757 FLD (f_simm16
) = f_simm16
;
758 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));
760 #if WITH_PROFILE_MODEL_P
761 /* Record the fields for profiling. */
762 if (PROFILE_MODEL_P (current_cpu
))
772 EX_FN_NAME (m32rxf
,fmt_ld_plus
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
774 #define FLD(f) abuf->fields.fmt_ld_plus.f
775 EXTRACT_FMT_LD_PLUS_VARS
/* f-op1 f-r1 f-op2 f-r2 */
777 EXTRACT_FMT_LD_PLUS_CODE
779 /* Record the fields for the semantic handler. */
780 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
781 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
782 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ld_plus", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
784 #if WITH_PROFILE_MODEL_P
785 /* Record the fields for profiling. */
786 if (PROFILE_MODEL_P (current_cpu
))
797 EX_FN_NAME (m32rxf
,fmt_ld24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
799 #define FLD(f) abuf->fields.fmt_ld24.f
800 EXTRACT_FMT_LD24_VARS
/* f-op1 f-r1 f-uimm24 */
802 EXTRACT_FMT_LD24_CODE
804 /* Record the fields for the semantic handler. */
805 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
806 FLD (f_uimm24
) = f_uimm24
;
807 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ld24", "dr 0x%x", 'x', f_r1
, "uimm24 0x%x", 'x', f_uimm24
, (char *) 0));
809 #if WITH_PROFILE_MODEL_P
810 /* Record the fields for profiling. */
811 if (PROFILE_MODEL_P (current_cpu
))
820 EX_FN_NAME (m32rxf
,fmt_ldi8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
822 #define FLD(f) abuf->fields.fmt_ldi8.f
823 EXTRACT_FMT_LDI8_VARS
/* f-op1 f-r1 f-simm8 */
825 EXTRACT_FMT_LDI8_CODE
827 /* Record the fields for the semantic handler. */
828 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
829 FLD (f_simm8
) = f_simm8
;
830 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldi8", "dr 0x%x", 'x', f_r1
, "simm8 0x%x", 'x', f_simm8
, (char *) 0));
832 #if WITH_PROFILE_MODEL_P
833 /* Record the fields for profiling. */
834 if (PROFILE_MODEL_P (current_cpu
))
843 EX_FN_NAME (m32rxf
,fmt_ldi16
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
845 #define FLD(f) abuf->fields.fmt_ldi16.f
846 EXTRACT_FMT_LDI16_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
848 EXTRACT_FMT_LDI16_CODE
850 /* Record the fields for the semantic handler. */
851 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
852 FLD (f_simm16
) = f_simm16
;
853 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldi16", "dr 0x%x", 'x', f_r1
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
855 #if WITH_PROFILE_MODEL_P
856 /* Record the fields for profiling. */
857 if (PROFILE_MODEL_P (current_cpu
))
866 EX_FN_NAME (m32rxf
,fmt_lock
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
868 #define FLD(f) abuf->fields.fmt_lock.f
869 EXTRACT_FMT_LOCK_VARS
/* f-op1 f-r1 f-op2 f-r2 */
871 EXTRACT_FMT_LOCK_CODE
873 /* Record the fields for the semantic handler. */
874 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
875 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
876 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_lock", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
878 #if WITH_PROFILE_MODEL_P
879 /* Record the fields for profiling. */
880 if (PROFILE_MODEL_P (current_cpu
))
890 EX_FN_NAME (m32rxf
,fmt_machi_a
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
892 #define FLD(f) abuf->fields.fmt_machi_a.f
893 EXTRACT_FMT_MACHI_A_VARS
/* f-op1 f-r1 f-acc f-op23 f-r2 */
895 EXTRACT_FMT_MACHI_A_CODE
897 /* Record the fields for the semantic handler. */
898 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
900 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
901 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));
903 #if WITH_PROFILE_MODEL_P
904 /* Record the fields for profiling. */
905 if (PROFILE_MODEL_P (current_cpu
))
907 FLD (in_src1
) = f_r1
;
908 FLD (in_src2
) = f_r2
;
915 EX_FN_NAME (m32rxf
,fmt_mulhi_a
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
917 #define FLD(f) abuf->fields.fmt_mulhi_a.f
918 EXTRACT_FMT_MULHI_A_VARS
/* f-op1 f-r1 f-acc f-op23 f-r2 */
920 EXTRACT_FMT_MULHI_A_CODE
922 /* Record the fields for the semantic handler. */
923 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
925 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
926 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));
928 #if WITH_PROFILE_MODEL_P
929 /* Record the fields for profiling. */
930 if (PROFILE_MODEL_P (current_cpu
))
932 FLD (in_src1
) = f_r1
;
933 FLD (in_src2
) = f_r2
;
940 EX_FN_NAME (m32rxf
,fmt_mv
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
942 #define FLD(f) abuf->fields.fmt_mv.f
943 EXTRACT_FMT_MV_VARS
/* f-op1 f-r1 f-op2 f-r2 */
947 /* Record the fields for the semantic handler. */
948 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
949 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
950 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mv", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
952 #if WITH_PROFILE_MODEL_P
953 /* Record the fields for profiling. */
954 if (PROFILE_MODEL_P (current_cpu
))
964 EX_FN_NAME (m32rxf
,fmt_mvfachi_a
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
966 #define FLD(f) abuf->fields.fmt_mvfachi_a.f
967 EXTRACT_FMT_MVFACHI_A_VARS
/* f-op1 f-r1 f-op2 f-accs f-op3 */
969 EXTRACT_FMT_MVFACHI_A_CODE
971 /* Record the fields for the semantic handler. */
972 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
973 FLD (f_accs
) = f_accs
;
974 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvfachi_a", "dr 0x%x", 'x', f_r1
, "accs 0x%x", 'x', f_accs
, (char *) 0));
976 #if WITH_PROFILE_MODEL_P
977 /* Record the fields for profiling. */
978 if (PROFILE_MODEL_P (current_cpu
))
987 EX_FN_NAME (m32rxf
,fmt_mvfc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
989 #define FLD(f) abuf->fields.fmt_mvfc.f
990 EXTRACT_FMT_MVFC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
992 EXTRACT_FMT_MVFC_CODE
994 /* Record the fields for the semantic handler. */
995 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
997 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvfc", "dr 0x%x", 'x', f_r1
, "scr 0x%x", 'x', f_r2
, (char *) 0));
999 #if WITH_PROFILE_MODEL_P
1000 /* Record the fields for profiling. */
1001 if (PROFILE_MODEL_P (current_cpu
))
1003 FLD (out_dr
) = f_r1
;
1010 EX_FN_NAME (m32rxf
,fmt_mvtachi_a
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1012 #define FLD(f) abuf->fields.fmt_mvtachi_a.f
1013 EXTRACT_FMT_MVTACHI_A_VARS
/* f-op1 f-r1 f-op2 f-accs f-op3 */
1015 EXTRACT_FMT_MVTACHI_A_CODE
1017 /* Record the fields for the semantic handler. */
1018 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1019 FLD (f_accs
) = f_accs
;
1020 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvtachi_a", "src1 0x%x", 'x', f_r1
, "accs 0x%x", 'x', f_accs
, (char *) 0));
1022 #if WITH_PROFILE_MODEL_P
1023 /* Record the fields for profiling. */
1024 if (PROFILE_MODEL_P (current_cpu
))
1026 FLD (in_src1
) = f_r1
;
1033 EX_FN_NAME (m32rxf
,fmt_mvtc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1035 #define FLD(f) abuf->fields.fmt_mvtc.f
1036 EXTRACT_FMT_MVTC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1038 EXTRACT_FMT_MVTC_CODE
1040 /* Record the fields for the semantic handler. */
1042 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1043 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvtc", "dcr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
1045 #if WITH_PROFILE_MODEL_P
1046 /* Record the fields for profiling. */
1047 if (PROFILE_MODEL_P (current_cpu
))
1056 EX_FN_NAME (m32rxf
,fmt_nop
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1058 #define FLD(f) abuf->fields.fmt_nop.f
1059 EXTRACT_FMT_NOP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1061 EXTRACT_FMT_NOP_CODE
1063 /* Record the fields for the semantic handler. */
1064 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_nop", (char *) 0));
1070 EX_FN_NAME (m32rxf
,fmt_rac_dsi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1072 #define FLD(f) abuf->fields.fmt_rac_dsi.f
1073 EXTRACT_FMT_RAC_DSI_VARS
/* f-op1 f-accd f-bits67 f-op2 f-accs f-bit14 f-imm1 */
1075 EXTRACT_FMT_RAC_DSI_CODE
1077 /* Record the fields for the semantic handler. */
1078 FLD (f_accd
) = f_accd
;
1079 FLD (f_accs
) = f_accs
;
1080 FLD (f_imm1
) = f_imm1
;
1081 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));
1087 EX_FN_NAME (m32rxf
,fmt_rte
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1089 #define FLD(f) abuf->fields.cti.fields.fmt_rte.f
1090 EXTRACT_FMT_RTE_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1092 EXTRACT_FMT_RTE_CODE
1094 /* Record the fields for the semantic handler. */
1095 SEM_BRANCH_INIT_EXTRACT (abuf
);
1096 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_rte", (char *) 0));
1098 #if WITH_PROFILE_MODEL_P
1099 /* Record the fields for profiling. */
1100 if (PROFILE_MODEL_P (current_cpu
))
1108 EX_FN_NAME (m32rxf
,fmt_seth
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1110 #define FLD(f) abuf->fields.fmt_seth.f
1111 EXTRACT_FMT_SETH_VARS
/* f-op1 f-r1 f-op2 f-r2 f-hi16 */
1113 EXTRACT_FMT_SETH_CODE
1115 /* Record the fields for the semantic handler. */
1116 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1117 FLD (f_hi16
) = f_hi16
;
1118 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_seth", "dr 0x%x", 'x', f_r1
, "hi16 0x%x", 'x', f_hi16
, (char *) 0));
1120 #if WITH_PROFILE_MODEL_P
1121 /* Record the fields for profiling. */
1122 if (PROFILE_MODEL_P (current_cpu
))
1124 FLD (out_dr
) = f_r1
;
1131 EX_FN_NAME (m32rxf
,fmt_sll3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1133 #define FLD(f) abuf->fields.fmt_sll3.f
1134 EXTRACT_FMT_SLL3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1136 EXTRACT_FMT_SLL3_CODE
1138 /* Record the fields for the semantic handler. */
1139 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1140 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1141 FLD (f_simm16
) = f_simm16
;
1142 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));
1144 #if WITH_PROFILE_MODEL_P
1145 /* Record the fields for profiling. */
1146 if (PROFILE_MODEL_P (current_cpu
))
1149 FLD (out_dr
) = f_r1
;
1156 EX_FN_NAME (m32rxf
,fmt_slli
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1158 #define FLD(f) abuf->fields.fmt_slli.f
1159 EXTRACT_FMT_SLLI_VARS
/* f-op1 f-r1 f-shift-op2 f-uimm5 */
1161 EXTRACT_FMT_SLLI_CODE
1163 /* Record the fields for the semantic handler. */
1164 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1165 FLD (f_uimm5
) = f_uimm5
;
1166 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_slli", "dr 0x%x", 'x', f_r1
, "uimm5 0x%x", 'x', f_uimm5
, (char *) 0));
1168 #if WITH_PROFILE_MODEL_P
1169 /* Record the fields for profiling. */
1170 if (PROFILE_MODEL_P (current_cpu
))
1173 FLD (out_dr
) = f_r1
;
1180 EX_FN_NAME (m32rxf
,fmt_st
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1182 #define FLD(f) abuf->fields.fmt_st.f
1183 EXTRACT_FMT_ST_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1187 /* Record the fields for the semantic handler. */
1188 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1189 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1190 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_st", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1192 #if WITH_PROFILE_MODEL_P
1193 /* Record the fields for profiling. */
1194 if (PROFILE_MODEL_P (current_cpu
))
1196 FLD (in_src2
) = f_r2
;
1197 FLD (in_src1
) = f_r1
;
1204 EX_FN_NAME (m32rxf
,fmt_st_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1206 #define FLD(f) abuf->fields.fmt_st_d.f
1207 EXTRACT_FMT_ST_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1209 EXTRACT_FMT_ST_D_CODE
1211 /* Record the fields for the semantic handler. */
1212 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1213 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1214 FLD (f_simm16
) = f_simm16
;
1215 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));
1217 #if WITH_PROFILE_MODEL_P
1218 /* Record the fields for profiling. */
1219 if (PROFILE_MODEL_P (current_cpu
))
1221 FLD (in_src2
) = f_r2
;
1222 FLD (in_src1
) = f_r1
;
1229 EX_FN_NAME (m32rxf
,fmt_stb
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1231 #define FLD(f) abuf->fields.fmt_stb.f
1232 EXTRACT_FMT_STB_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1234 EXTRACT_FMT_STB_CODE
1236 /* Record the fields for the semantic handler. */
1237 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1238 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1239 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_stb", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1241 #if WITH_PROFILE_MODEL_P
1242 /* Record the fields for profiling. */
1243 if (PROFILE_MODEL_P (current_cpu
))
1245 FLD (in_src2
) = f_r2
;
1246 FLD (in_src1
) = f_r1
;
1253 EX_FN_NAME (m32rxf
,fmt_stb_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1255 #define FLD(f) abuf->fields.fmt_stb_d.f
1256 EXTRACT_FMT_STB_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1258 EXTRACT_FMT_STB_D_CODE
1260 /* Record the fields for the semantic handler. */
1261 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1262 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1263 FLD (f_simm16
) = f_simm16
;
1264 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));
1266 #if WITH_PROFILE_MODEL_P
1267 /* Record the fields for profiling. */
1268 if (PROFILE_MODEL_P (current_cpu
))
1270 FLD (in_src2
) = f_r2
;
1271 FLD (in_src1
) = f_r1
;
1278 EX_FN_NAME (m32rxf
,fmt_sth
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1280 #define FLD(f) abuf->fields.fmt_sth.f
1281 EXTRACT_FMT_STH_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1283 EXTRACT_FMT_STH_CODE
1285 /* Record the fields for the semantic handler. */
1286 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1287 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1288 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_sth", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1290 #if WITH_PROFILE_MODEL_P
1291 /* Record the fields for profiling. */
1292 if (PROFILE_MODEL_P (current_cpu
))
1294 FLD (in_src2
) = f_r2
;
1295 FLD (in_src1
) = f_r1
;
1302 EX_FN_NAME (m32rxf
,fmt_sth_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1304 #define FLD(f) abuf->fields.fmt_sth_d.f
1305 EXTRACT_FMT_STH_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1307 EXTRACT_FMT_STH_D_CODE
1309 /* Record the fields for the semantic handler. */
1310 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1311 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1312 FLD (f_simm16
) = f_simm16
;
1313 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));
1315 #if WITH_PROFILE_MODEL_P
1316 /* Record the fields for profiling. */
1317 if (PROFILE_MODEL_P (current_cpu
))
1319 FLD (in_src2
) = f_r2
;
1320 FLD (in_src1
) = f_r1
;
1327 EX_FN_NAME (m32rxf
,fmt_st_plus
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1329 #define FLD(f) abuf->fields.fmt_st_plus.f
1330 EXTRACT_FMT_ST_PLUS_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1332 EXTRACT_FMT_ST_PLUS_CODE
1334 /* Record the fields for the semantic handler. */
1335 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1336 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1337 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_st_plus", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1339 #if WITH_PROFILE_MODEL_P
1340 /* Record the fields for profiling. */
1341 if (PROFILE_MODEL_P (current_cpu
))
1343 FLD (in_src2
) = f_r2
;
1344 FLD (in_src1
) = f_r1
;
1345 FLD (out_src2
) = f_r2
;
1352 EX_FN_NAME (m32rxf
,fmt_trap
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1354 #define FLD(f) abuf->fields.cti.fields.fmt_trap.f
1355 EXTRACT_FMT_TRAP_VARS
/* f-op1 f-r1 f-op2 f-uimm4 */
1357 EXTRACT_FMT_TRAP_CODE
1359 /* Record the fields for the semantic handler. */
1360 FLD (f_uimm4
) = f_uimm4
;
1361 SEM_BRANCH_INIT_EXTRACT (abuf
);
1362 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_trap", "uimm4 0x%x", 'x', f_uimm4
, (char *) 0));
1364 #if WITH_PROFILE_MODEL_P
1365 /* Record the fields for profiling. */
1366 if (PROFILE_MODEL_P (current_cpu
))
1374 EX_FN_NAME (m32rxf
,fmt_unlock
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1376 #define FLD(f) abuf->fields.fmt_unlock.f
1377 EXTRACT_FMT_UNLOCK_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1379 EXTRACT_FMT_UNLOCK_CODE
1381 /* Record the fields for the semantic handler. */
1382 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1383 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1384 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_unlock", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1386 #if WITH_PROFILE_MODEL_P
1387 /* Record the fields for profiling. */
1388 if (PROFILE_MODEL_P (current_cpu
))
1390 FLD (in_src2
) = f_r2
;
1391 FLD (in_src1
) = f_r1
;
1398 EX_FN_NAME (m32rxf
,fmt_satb
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1400 #define FLD(f) abuf->fields.fmt_satb.f
1401 EXTRACT_FMT_SATB_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
1403 EXTRACT_FMT_SATB_CODE
1405 /* Record the fields for the semantic handler. */
1406 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1407 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1408 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_satb", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
1410 #if WITH_PROFILE_MODEL_P
1411 /* Record the fields for profiling. */
1412 if (PROFILE_MODEL_P (current_cpu
))
1415 FLD (out_dr
) = f_r1
;
1422 EX_FN_NAME (m32rxf
,fmt_sat
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1424 #define FLD(f) abuf->fields.fmt_sat.f
1425 EXTRACT_FMT_SAT_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
1427 EXTRACT_FMT_SAT_CODE
1429 /* Record the fields for the semantic handler. */
1430 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1431 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1432 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_sat", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
1434 #if WITH_PROFILE_MODEL_P
1435 /* Record the fields for profiling. */
1436 if (PROFILE_MODEL_P (current_cpu
))
1439 FLD (out_dr
) = f_r1
;
1446 EX_FN_NAME (m32rxf
,fmt_sadd
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1448 #define FLD(f) abuf->fields.fmt_sadd.f
1449 EXTRACT_FMT_SADD_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1451 EXTRACT_FMT_SADD_CODE
1453 /* Record the fields for the semantic handler. */
1454 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_sadd", (char *) 0));
1460 EX_FN_NAME (m32rxf
,fmt_macwu1
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1462 #define FLD(f) abuf->fields.fmt_macwu1.f
1463 EXTRACT_FMT_MACWU1_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1465 EXTRACT_FMT_MACWU1_CODE
1467 /* Record the fields for the semantic handler. */
1468 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1469 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1470 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_macwu1", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1472 #if WITH_PROFILE_MODEL_P
1473 /* Record the fields for profiling. */
1474 if (PROFILE_MODEL_P (current_cpu
))
1476 FLD (in_src1
) = f_r1
;
1477 FLD (in_src2
) = f_r2
;
1484 EX_FN_NAME (m32rxf
,fmt_msblo
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1486 #define FLD(f) abuf->fields.fmt_msblo.f
1487 EXTRACT_FMT_MSBLO_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1489 EXTRACT_FMT_MSBLO_CODE
1491 /* Record the fields for the semantic handler. */
1492 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1493 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1494 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_msblo", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1496 #if WITH_PROFILE_MODEL_P
1497 /* Record the fields for profiling. */
1498 if (PROFILE_MODEL_P (current_cpu
))
1500 FLD (in_src1
) = f_r1
;
1501 FLD (in_src2
) = f_r2
;
1508 EX_FN_NAME (m32rxf
,fmt_mulwu1
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1510 #define FLD(f) abuf->fields.fmt_mulwu1.f
1511 EXTRACT_FMT_MULWU1_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1513 EXTRACT_FMT_MULWU1_CODE
1515 /* Record the fields for the semantic handler. */
1516 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1517 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1518 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mulwu1", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1520 #if WITH_PROFILE_MODEL_P
1521 /* Record the fields for profiling. */
1522 if (PROFILE_MODEL_P (current_cpu
))
1524 FLD (in_src1
) = f_r1
;
1525 FLD (in_src2
) = f_r2
;
1532 EX_FN_NAME (m32rxf
,fmt_sc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1534 #define FLD(f) abuf->fields.fmt_sc.f
1535 EXTRACT_FMT_SC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1539 /* Record the fields for the semantic handler. */
1540 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_sc", (char *) 0));
1546 EX_FN_NAME (m32rxf
,fmt_empty
) (SIM_CPU
*cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1548 /* Empty format handler for virtual insns. */