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.
32 EX_FN_NAME (m32r
,fmt_0_add
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
34 #define FLD(f) abuf->fields.fmt_0_add.f
35 EXTRACT_FMT_0_ADD_VARS
/* f-op1 f-r1 f-op2 f-r2 */
37 EXTRACT_FMT_0_ADD_CODE
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_0_add", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
44 abuf
->length
= length
;
47 #if WITH_PROFILE_MODEL_P
48 /* Record the fields for profiling. */
49 if (PROFILE_MODEL_P (current_cpu
))
51 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
52 abuf
->h_gr_set
= 0 | (1 << f_r1
);
59 EX_FN_NAME (m32r
,fmt_1_add3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
61 #define FLD(f) abuf->fields.fmt_1_add3.f
62 EXTRACT_FMT_1_ADD3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
64 EXTRACT_FMT_1_ADD3_CODE
66 /* Record the fields for the semantic handler. */
67 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
68 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
69 FLD (f_simm16
) = f_simm16
;
70 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_1_add3", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
72 abuf
->length
= length
;
75 #if WITH_PROFILE_MODEL_P
76 /* Record the fields for profiling. */
77 if (PROFILE_MODEL_P (current_cpu
))
79 abuf
->h_gr_get
= 0 | (1 << f_r2
);
80 abuf
->h_gr_set
= 0 | (1 << f_r1
);
87 EX_FN_NAME (m32r
,fmt_2_and3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
89 #define FLD(f) abuf->fields.fmt_2_and3.f
90 EXTRACT_FMT_2_AND3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
92 EXTRACT_FMT_2_AND3_CODE
94 /* Record the fields for the semantic handler. */
95 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
96 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
97 FLD (f_uimm16
) = f_uimm16
;
98 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_2_and3", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "uimm16 0x%x", 'x', f_uimm16
, (char *) 0));
100 abuf
->length
= length
;
103 #if WITH_PROFILE_MODEL_P
104 /* Record the fields for profiling. */
105 if (PROFILE_MODEL_P (current_cpu
))
107 abuf
->h_gr_get
= 0 | (1 << f_r2
);
108 abuf
->h_gr_set
= 0 | (1 << f_r1
);
115 EX_FN_NAME (m32r
,fmt_3_or3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
117 #define FLD(f) abuf->fields.fmt_3_or3.f
118 EXTRACT_FMT_3_OR3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
120 EXTRACT_FMT_3_OR3_CODE
122 /* Record the fields for the semantic handler. */
123 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
124 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
125 FLD (f_uimm16
) = f_uimm16
;
126 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_3_or3", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "ulo16 0x%x", 'x', f_uimm16
, (char *) 0));
128 abuf
->length
= length
;
131 #if WITH_PROFILE_MODEL_P
132 /* Record the fields for profiling. */
133 if (PROFILE_MODEL_P (current_cpu
))
135 abuf
->h_gr_get
= 0 | (1 << f_r2
);
136 abuf
->h_gr_set
= 0 | (1 << f_r1
);
143 EX_FN_NAME (m32r
,fmt_4_addi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
145 #define FLD(f) abuf->fields.fmt_4_addi.f
146 EXTRACT_FMT_4_ADDI_VARS
/* f-op1 f-r1 f-simm8 */
148 EXTRACT_FMT_4_ADDI_CODE
150 /* Record the fields for the semantic handler. */
151 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
152 FLD (f_simm8
) = f_simm8
;
153 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_4_addi", "dr 0x%x", 'x', f_r1
, "simm8 0x%x", 'x', f_simm8
, (char *) 0));
155 abuf
->length
= length
;
158 #if WITH_PROFILE_MODEL_P
159 /* Record the fields for profiling. */
160 if (PROFILE_MODEL_P (current_cpu
))
162 abuf
->h_gr_get
= 0 | (1 << f_r1
);
163 abuf
->h_gr_set
= 0 | (1 << f_r1
);
170 EX_FN_NAME (m32r
,fmt_5_addv
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
172 #define FLD(f) abuf->fields.fmt_5_addv.f
173 EXTRACT_FMT_5_ADDV_VARS
/* f-op1 f-r1 f-op2 f-r2 */
175 EXTRACT_FMT_5_ADDV_CODE
177 /* Record the fields for the semantic handler. */
178 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
179 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
180 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_5_addv", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
182 abuf
->length
= length
;
185 #if WITH_PROFILE_MODEL_P
186 /* Record the fields for profiling. */
187 if (PROFILE_MODEL_P (current_cpu
))
189 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
190 abuf
->h_gr_set
= 0 | (1 << f_r1
);
197 EX_FN_NAME (m32r
,fmt_6_addv3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
199 #define FLD(f) abuf->fields.fmt_6_addv3.f
200 EXTRACT_FMT_6_ADDV3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
202 EXTRACT_FMT_6_ADDV3_CODE
204 /* Record the fields for the semantic handler. */
205 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
206 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
207 FLD (f_simm16
) = f_simm16
;
208 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_6_addv3", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "simm16 0x%x", 'x', f_simm16
, (char *) 0));
210 abuf
->length
= length
;
213 #if WITH_PROFILE_MODEL_P
214 /* Record the fields for profiling. */
215 if (PROFILE_MODEL_P (current_cpu
))
217 abuf
->h_gr_get
= 0 | (1 << f_r2
);
218 abuf
->h_gr_set
= 0 | (1 << f_r1
);
225 EX_FN_NAME (m32r
,fmt_7_addx
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
227 #define FLD(f) abuf->fields.fmt_7_addx.f
228 EXTRACT_FMT_7_ADDX_VARS
/* f-op1 f-r1 f-op2 f-r2 */
230 EXTRACT_FMT_7_ADDX_CODE
232 /* Record the fields for the semantic handler. */
233 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
234 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
235 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_7_addx", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
237 abuf
->length
= length
;
240 #if WITH_PROFILE_MODEL_P
241 /* Record the fields for profiling. */
242 if (PROFILE_MODEL_P (current_cpu
))
244 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
245 abuf
->h_gr_set
= 0 | (1 << f_r1
);
252 EX_FN_NAME (m32r
,fmt_8_bc8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
254 #define FLD(f) abuf->fields.fmt_8_bc8.f
255 EXTRACT_FMT_8_BC8_VARS
/* f-op1 f-r1 f-disp8 */
257 EXTRACT_FMT_8_BC8_CODE
259 /* Record the fields for the semantic handler. */
260 RECORD_IADDR (FLD (f_disp8
), (pc
& -4L) + f_disp8
);
261 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_8_bc8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
263 abuf
->length
= length
;
269 EX_FN_NAME (m32r
,fmt_9_bc24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
271 #define FLD(f) abuf->fields.fmt_9_bc24.f
272 EXTRACT_FMT_9_BC24_VARS
/* f-op1 f-r1 f-disp24 */
274 EXTRACT_FMT_9_BC24_CODE
276 /* Record the fields for the semantic handler. */
277 RECORD_IADDR (FLD (f_disp24
), pc
+ f_disp24
);
278 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_9_bc24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
280 abuf
->length
= length
;
286 EX_FN_NAME (m32r
,fmt_10_beq
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
288 #define FLD(f) abuf->fields.fmt_10_beq.f
289 EXTRACT_FMT_10_BEQ_VARS
/* f-op1 f-r1 f-op2 f-r2 f-disp16 */
291 EXTRACT_FMT_10_BEQ_CODE
293 /* Record the fields for the semantic handler. */
294 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
295 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
296 RECORD_IADDR (FLD (f_disp16
), pc
+ f_disp16
);
297 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_10_beq", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, "disp16 0x%x", 'x', f_disp16
, (char *) 0));
299 abuf
->length
= length
;
302 #if WITH_PROFILE_MODEL_P
303 /* Record the fields for profiling. */
304 if (PROFILE_MODEL_P (current_cpu
))
306 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
313 EX_FN_NAME (m32r
,fmt_11_beqz
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
315 #define FLD(f) abuf->fields.fmt_11_beqz.f
316 EXTRACT_FMT_11_BEQZ_VARS
/* f-op1 f-r1 f-op2 f-r2 f-disp16 */
318 EXTRACT_FMT_11_BEQZ_CODE
320 /* Record the fields for the semantic handler. */
321 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
322 RECORD_IADDR (FLD (f_disp16
), pc
+ f_disp16
);
323 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_11_beqz", "src2 0x%x", 'x', f_r2
, "disp16 0x%x", 'x', f_disp16
, (char *) 0));
325 abuf
->length
= length
;
328 #if WITH_PROFILE_MODEL_P
329 /* Record the fields for profiling. */
330 if (PROFILE_MODEL_P (current_cpu
))
332 abuf
->h_gr_get
= 0 | (1 << f_r2
);
339 EX_FN_NAME (m32r
,fmt_12_bl8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
341 #define FLD(f) abuf->fields.fmt_12_bl8.f
342 EXTRACT_FMT_12_BL8_VARS
/* f-op1 f-r1 f-disp8 */
344 EXTRACT_FMT_12_BL8_CODE
346 /* Record the fields for the semantic handler. */
347 RECORD_IADDR (FLD (f_disp8
), (pc
& -4L) + f_disp8
);
348 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_12_bl8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
350 abuf
->length
= length
;
353 #if WITH_PROFILE_MODEL_P
354 /* Record the fields for profiling. */
355 if (PROFILE_MODEL_P (current_cpu
))
357 abuf
->h_gr_set
= 0 | (1 << 14);
364 EX_FN_NAME (m32r
,fmt_13_bl24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
366 #define FLD(f) abuf->fields.fmt_13_bl24.f
367 EXTRACT_FMT_13_BL24_VARS
/* f-op1 f-r1 f-disp24 */
369 EXTRACT_FMT_13_BL24_CODE
371 /* Record the fields for the semantic handler. */
372 RECORD_IADDR (FLD (f_disp24
), pc
+ f_disp24
);
373 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_13_bl24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
375 abuf
->length
= length
;
378 #if WITH_PROFILE_MODEL_P
379 /* Record the fields for profiling. */
380 if (PROFILE_MODEL_P (current_cpu
))
382 abuf
->h_gr_set
= 0 | (1 << 14);
389 EX_FN_NAME (m32r
,fmt_14_bra8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
391 #define FLD(f) abuf->fields.fmt_14_bra8.f
392 EXTRACT_FMT_14_BRA8_VARS
/* f-op1 f-r1 f-disp8 */
394 EXTRACT_FMT_14_BRA8_CODE
396 /* Record the fields for the semantic handler. */
397 RECORD_IADDR (FLD (f_disp8
), (pc
& -4L) + f_disp8
);
398 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_14_bra8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
400 abuf
->length
= length
;
406 EX_FN_NAME (m32r
,fmt_15_bra24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
408 #define FLD(f) abuf->fields.fmt_15_bra24.f
409 EXTRACT_FMT_15_BRA24_VARS
/* f-op1 f-r1 f-disp24 */
411 EXTRACT_FMT_15_BRA24_CODE
413 /* Record the fields for the semantic handler. */
414 RECORD_IADDR (FLD (f_disp24
), pc
+ f_disp24
);
415 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_15_bra24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
417 abuf
->length
= length
;
423 EX_FN_NAME (m32r
,fmt_16_cmp
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
425 #define FLD(f) abuf->fields.fmt_16_cmp.f
426 EXTRACT_FMT_16_CMP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
428 EXTRACT_FMT_16_CMP_CODE
430 /* Record the fields for the semantic handler. */
431 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
432 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
433 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_16_cmp", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
435 abuf
->length
= length
;
438 #if WITH_PROFILE_MODEL_P
439 /* Record the fields for profiling. */
440 if (PROFILE_MODEL_P (current_cpu
))
442 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
449 EX_FN_NAME (m32r
,fmt_17_cmpi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
451 #define FLD(f) abuf->fields.fmt_17_cmpi.f
452 EXTRACT_FMT_17_CMPI_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
454 EXTRACT_FMT_17_CMPI_CODE
456 /* Record the fields for the semantic handler. */
457 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
458 FLD (f_simm16
) = f_simm16
;
459 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_17_cmpi", "src2 0x%x", 'x', f_r2
, "simm16 0x%x", 'x', f_simm16
, (char *) 0));
461 abuf
->length
= length
;
464 #if WITH_PROFILE_MODEL_P
465 /* Record the fields for profiling. */
466 if (PROFILE_MODEL_P (current_cpu
))
468 abuf
->h_gr_get
= 0 | (1 << f_r2
);
475 EX_FN_NAME (m32r
,fmt_18_cmpui
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
477 #define FLD(f) abuf->fields.fmt_18_cmpui.f
478 EXTRACT_FMT_18_CMPUI_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
480 EXTRACT_FMT_18_CMPUI_CODE
482 /* Record the fields for the semantic handler. */
483 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
484 FLD (f_uimm16
) = f_uimm16
;
485 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_18_cmpui", "src2 0x%x", 'x', f_r2
, "uimm16 0x%x", 'x', f_uimm16
, (char *) 0));
487 abuf
->length
= length
;
490 #if WITH_PROFILE_MODEL_P
491 /* Record the fields for profiling. */
492 if (PROFILE_MODEL_P (current_cpu
))
494 abuf
->h_gr_get
= 0 | (1 << f_r2
);
501 EX_FN_NAME (m32r
,fmt_19_div
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
503 #define FLD(f) abuf->fields.fmt_19_div.f
504 EXTRACT_FMT_19_DIV_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
506 EXTRACT_FMT_19_DIV_CODE
508 /* Record the fields for the semantic handler. */
509 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
510 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
511 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_19_div", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
513 abuf
->length
= length
;
516 #if WITH_PROFILE_MODEL_P
517 /* Record the fields for profiling. */
518 if (PROFILE_MODEL_P (current_cpu
))
520 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
521 abuf
->h_gr_set
= 0 | (1 << f_r1
);
528 EX_FN_NAME (m32r
,fmt_20_jl
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
530 #define FLD(f) abuf->fields.fmt_20_jl.f
531 EXTRACT_FMT_20_JL_VARS
/* f-op1 f-r1 f-op2 f-r2 */
533 EXTRACT_FMT_20_JL_CODE
535 /* Record the fields for the semantic handler. */
536 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
537 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_20_jl", "sr 0x%x", 'x', f_r2
, (char *) 0));
539 abuf
->length
= length
;
542 #if WITH_PROFILE_MODEL_P
543 /* Record the fields for profiling. */
544 if (PROFILE_MODEL_P (current_cpu
))
546 abuf
->h_gr_get
= 0 | (1 << f_r2
);
547 abuf
->h_gr_set
= 0 | (1 << 14);
554 EX_FN_NAME (m32r
,fmt_21_jmp
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
556 #define FLD(f) abuf->fields.fmt_21_jmp.f
557 EXTRACT_FMT_21_JMP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
559 EXTRACT_FMT_21_JMP_CODE
561 /* Record the fields for the semantic handler. */
562 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
563 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_21_jmp", "sr 0x%x", 'x', f_r2
, (char *) 0));
565 abuf
->length
= length
;
568 #if WITH_PROFILE_MODEL_P
569 /* Record the fields for profiling. */
570 if (PROFILE_MODEL_P (current_cpu
))
572 abuf
->h_gr_get
= 0 | (1 << f_r2
);
579 EX_FN_NAME (m32r
,fmt_22_ld
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
581 #define FLD(f) abuf->fields.fmt_22_ld.f
582 EXTRACT_FMT_22_LD_VARS
/* f-op1 f-r1 f-op2 f-r2 */
584 EXTRACT_FMT_22_LD_CODE
586 /* Record the fields for the semantic handler. */
587 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
588 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
589 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_22_ld", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
591 abuf
->length
= length
;
594 #if WITH_PROFILE_MODEL_P
595 /* Record the fields for profiling. */
596 if (PROFILE_MODEL_P (current_cpu
))
598 abuf
->h_gr_get
= 0 | (1 << f_r2
);
599 abuf
->h_gr_set
= 0 | (1 << f_r1
);
606 EX_FN_NAME (m32r
,fmt_23_ld_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
608 #define FLD(f) abuf->fields.fmt_23_ld_d.f
609 EXTRACT_FMT_23_LD_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
611 EXTRACT_FMT_23_LD_D_CODE
613 /* Record the fields for the semantic handler. */
614 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
615 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
616 FLD (f_simm16
) = f_simm16
;
617 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_23_ld_d", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
619 abuf
->length
= length
;
622 #if WITH_PROFILE_MODEL_P
623 /* Record the fields for profiling. */
624 if (PROFILE_MODEL_P (current_cpu
))
626 abuf
->h_gr_get
= 0 | (1 << f_r2
);
627 abuf
->h_gr_set
= 0 | (1 << f_r1
);
634 EX_FN_NAME (m32r
,fmt_24_ldb
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
636 #define FLD(f) abuf->fields.fmt_24_ldb.f
637 EXTRACT_FMT_24_LDB_VARS
/* f-op1 f-r1 f-op2 f-r2 */
639 EXTRACT_FMT_24_LDB_CODE
641 /* Record the fields for the semantic handler. */
642 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
643 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
644 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_24_ldb", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
646 abuf
->length
= length
;
649 #if WITH_PROFILE_MODEL_P
650 /* Record the fields for profiling. */
651 if (PROFILE_MODEL_P (current_cpu
))
653 abuf
->h_gr_get
= 0 | (1 << f_r2
);
654 abuf
->h_gr_set
= 0 | (1 << f_r1
);
661 EX_FN_NAME (m32r
,fmt_25_ldb_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
663 #define FLD(f) abuf->fields.fmt_25_ldb_d.f
664 EXTRACT_FMT_25_LDB_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
666 EXTRACT_FMT_25_LDB_D_CODE
668 /* Record the fields for the semantic handler. */
669 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
670 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
671 FLD (f_simm16
) = f_simm16
;
672 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_25_ldb_d", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
674 abuf
->length
= length
;
677 #if WITH_PROFILE_MODEL_P
678 /* Record the fields for profiling. */
679 if (PROFILE_MODEL_P (current_cpu
))
681 abuf
->h_gr_get
= 0 | (1 << f_r2
);
682 abuf
->h_gr_set
= 0 | (1 << f_r1
);
689 EX_FN_NAME (m32r
,fmt_26_ldh
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
691 #define FLD(f) abuf->fields.fmt_26_ldh.f
692 EXTRACT_FMT_26_LDH_VARS
/* f-op1 f-r1 f-op2 f-r2 */
694 EXTRACT_FMT_26_LDH_CODE
696 /* Record the fields for the semantic handler. */
697 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
698 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
699 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_26_ldh", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
701 abuf
->length
= length
;
704 #if WITH_PROFILE_MODEL_P
705 /* Record the fields for profiling. */
706 if (PROFILE_MODEL_P (current_cpu
))
708 abuf
->h_gr_get
= 0 | (1 << f_r2
);
709 abuf
->h_gr_set
= 0 | (1 << f_r1
);
716 EX_FN_NAME (m32r
,fmt_27_ldh_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
718 #define FLD(f) abuf->fields.fmt_27_ldh_d.f
719 EXTRACT_FMT_27_LDH_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
721 EXTRACT_FMT_27_LDH_D_CODE
723 /* Record the fields for the semantic handler. */
724 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
725 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
726 FLD (f_simm16
) = f_simm16
;
727 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_27_ldh_d", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
729 abuf
->length
= length
;
732 #if WITH_PROFILE_MODEL_P
733 /* Record the fields for profiling. */
734 if (PROFILE_MODEL_P (current_cpu
))
736 abuf
->h_gr_get
= 0 | (1 << f_r2
);
737 abuf
->h_gr_set
= 0 | (1 << f_r1
);
744 EX_FN_NAME (m32r
,fmt_28_ld_plus
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
746 #define FLD(f) abuf->fields.fmt_28_ld_plus.f
747 EXTRACT_FMT_28_LD_PLUS_VARS
/* f-op1 f-r1 f-op2 f-r2 */
749 EXTRACT_FMT_28_LD_PLUS_CODE
751 /* Record the fields for the semantic handler. */
752 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
753 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
754 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_28_ld_plus", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
756 abuf
->length
= length
;
759 #if WITH_PROFILE_MODEL_P
760 /* Record the fields for profiling. */
761 if (PROFILE_MODEL_P (current_cpu
))
763 abuf
->h_gr_get
= 0 | (1 << f_r2
);
764 abuf
->h_gr_set
= 0 | (1 << f_r1
) | (1 << f_r2
);
771 EX_FN_NAME (m32r
,fmt_29_ld24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
773 #define FLD(f) abuf->fields.fmt_29_ld24.f
774 EXTRACT_FMT_29_LD24_VARS
/* f-op1 f-r1 f-uimm24 */
776 EXTRACT_FMT_29_LD24_CODE
778 /* Record the fields for the semantic handler. */
779 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
780 FLD (f_uimm24
) = f_uimm24
;
781 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_29_ld24", "dr 0x%x", 'x', f_r1
, "uimm24 0x%x", 'x', f_uimm24
, (char *) 0));
783 abuf
->length
= length
;
786 #if WITH_PROFILE_MODEL_P
787 /* Record the fields for profiling. */
788 if (PROFILE_MODEL_P (current_cpu
))
790 abuf
->h_gr_set
= 0 | (1 << f_r1
);
797 EX_FN_NAME (m32r
,fmt_30_ldi8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
799 #define FLD(f) abuf->fields.fmt_30_ldi8.f
800 EXTRACT_FMT_30_LDI8_VARS
/* f-op1 f-r1 f-simm8 */
802 EXTRACT_FMT_30_LDI8_CODE
804 /* Record the fields for the semantic handler. */
805 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
806 FLD (f_simm8
) = f_simm8
;
807 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_30_ldi8", "dr 0x%x", 'x', f_r1
, "simm8 0x%x", 'x', f_simm8
, (char *) 0));
809 abuf
->length
= length
;
812 #if WITH_PROFILE_MODEL_P
813 /* Record the fields for profiling. */
814 if (PROFILE_MODEL_P (current_cpu
))
816 abuf
->h_gr_set
= 0 | (1 << f_r1
);
823 EX_FN_NAME (m32r
,fmt_31_ldi16
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
825 #define FLD(f) abuf->fields.fmt_31_ldi16.f
826 EXTRACT_FMT_31_LDI16_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
828 EXTRACT_FMT_31_LDI16_CODE
830 /* Record the fields for the semantic handler. */
831 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
832 FLD (f_simm16
) = f_simm16
;
833 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_31_ldi16", "dr 0x%x", 'x', f_r1
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
835 abuf
->length
= length
;
838 #if WITH_PROFILE_MODEL_P
839 /* Record the fields for profiling. */
840 if (PROFILE_MODEL_P (current_cpu
))
842 abuf
->h_gr_set
= 0 | (1 << f_r1
);
849 EX_FN_NAME (m32r
,fmt_32_lock
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
851 #define FLD(f) abuf->fields.fmt_32_lock.f
852 EXTRACT_FMT_32_LOCK_VARS
/* f-op1 f-r1 f-op2 f-r2 */
854 EXTRACT_FMT_32_LOCK_CODE
856 /* Record the fields for the semantic handler. */
857 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
858 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
859 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_32_lock", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
861 abuf
->length
= length
;
864 #if WITH_PROFILE_MODEL_P
865 /* Record the fields for profiling. */
866 if (PROFILE_MODEL_P (current_cpu
))
868 abuf
->h_gr_get
= 0 | (1 << f_r2
);
869 abuf
->h_gr_set
= 0 | (1 << f_r1
);
876 EX_FN_NAME (m32r
,fmt_33_machi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
878 #define FLD(f) abuf->fields.fmt_33_machi.f
879 EXTRACT_FMT_33_MACHI_VARS
/* f-op1 f-r1 f-op2 f-r2 */
881 EXTRACT_FMT_33_MACHI_CODE
883 /* Record the fields for the semantic handler. */
884 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
885 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
886 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_33_machi", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
888 abuf
->length
= length
;
891 #if WITH_PROFILE_MODEL_P
892 /* Record the fields for profiling. */
893 if (PROFILE_MODEL_P (current_cpu
))
895 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
902 EX_FN_NAME (m32r
,fmt_34_mulhi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
904 #define FLD(f) abuf->fields.fmt_34_mulhi.f
905 EXTRACT_FMT_34_MULHI_VARS
/* f-op1 f-r1 f-op2 f-r2 */
907 EXTRACT_FMT_34_MULHI_CODE
909 /* Record the fields for the semantic handler. */
910 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
911 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
912 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_34_mulhi", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
914 abuf
->length
= length
;
917 #if WITH_PROFILE_MODEL_P
918 /* Record the fields for profiling. */
919 if (PROFILE_MODEL_P (current_cpu
))
921 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
928 EX_FN_NAME (m32r
,fmt_35_mv
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
930 #define FLD(f) abuf->fields.fmt_35_mv.f
931 EXTRACT_FMT_35_MV_VARS
/* f-op1 f-r1 f-op2 f-r2 */
933 EXTRACT_FMT_35_MV_CODE
935 /* Record the fields for the semantic handler. */
936 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
937 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
938 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_35_mv", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
940 abuf
->length
= length
;
943 #if WITH_PROFILE_MODEL_P
944 /* Record the fields for profiling. */
945 if (PROFILE_MODEL_P (current_cpu
))
947 abuf
->h_gr_get
= 0 | (1 << f_r2
);
948 abuf
->h_gr_set
= 0 | (1 << f_r1
);
955 EX_FN_NAME (m32r
,fmt_36_mvfachi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
957 #define FLD(f) abuf->fields.fmt_36_mvfachi.f
958 EXTRACT_FMT_36_MVFACHI_VARS
/* f-op1 f-r1 f-op2 f-r2 */
960 EXTRACT_FMT_36_MVFACHI_CODE
962 /* Record the fields for the semantic handler. */
963 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
964 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_36_mvfachi", "dr 0x%x", 'x', f_r1
, (char *) 0));
966 abuf
->length
= length
;
969 #if WITH_PROFILE_MODEL_P
970 /* Record the fields for profiling. */
971 if (PROFILE_MODEL_P (current_cpu
))
973 abuf
->h_gr_set
= 0 | (1 << f_r1
);
980 EX_FN_NAME (m32r
,fmt_37_mvfc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
982 #define FLD(f) abuf->fields.fmt_37_mvfc.f
983 EXTRACT_FMT_37_MVFC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
985 EXTRACT_FMT_37_MVFC_CODE
987 /* Record the fields for the semantic handler. */
988 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
990 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_37_mvfc", "dr 0x%x", 'x', f_r1
, "scr 0x%x", 'x', f_r2
, (char *) 0));
992 abuf
->length
= length
;
995 #if WITH_PROFILE_MODEL_P
996 /* Record the fields for profiling. */
997 if (PROFILE_MODEL_P (current_cpu
))
999 abuf
->h_gr_set
= 0 | (1 << f_r1
);
1006 EX_FN_NAME (m32r
,fmt_38_mvtachi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1008 #define FLD(f) abuf->fields.fmt_38_mvtachi.f
1009 EXTRACT_FMT_38_MVTACHI_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1011 EXTRACT_FMT_38_MVTACHI_CODE
1013 /* Record the fields for the semantic handler. */
1014 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1015 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_38_mvtachi", "src1 0x%x", 'x', f_r1
, (char *) 0));
1017 abuf
->length
= length
;
1020 #if WITH_PROFILE_MODEL_P
1021 /* Record the fields for profiling. */
1022 if (PROFILE_MODEL_P (current_cpu
))
1024 abuf
->h_gr_get
= 0 | (1 << f_r1
);
1031 EX_FN_NAME (m32r
,fmt_39_mvtc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1033 #define FLD(f) abuf->fields.fmt_39_mvtc.f
1034 EXTRACT_FMT_39_MVTC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1036 EXTRACT_FMT_39_MVTC_CODE
1038 /* Record the fields for the semantic handler. */
1040 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1041 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_39_mvtc", "dcr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
1043 abuf
->length
= length
;
1046 #if WITH_PROFILE_MODEL_P
1047 /* Record the fields for profiling. */
1048 if (PROFILE_MODEL_P (current_cpu
))
1050 abuf
->h_gr_get
= 0 | (1 << f_r2
);
1057 EX_FN_NAME (m32r
,fmt_40_nop
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1059 #define FLD(f) abuf->fields.fmt_40_nop.f
1060 EXTRACT_FMT_40_NOP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1062 EXTRACT_FMT_40_NOP_CODE
1064 /* Record the fields for the semantic handler. */
1065 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_40_nop", (char *) 0));
1067 abuf
->length
= length
;
1073 EX_FN_NAME (m32r
,fmt_41_rac
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1075 #define FLD(f) abuf->fields.fmt_41_rac.f
1076 EXTRACT_FMT_41_RAC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1078 EXTRACT_FMT_41_RAC_CODE
1080 /* Record the fields for the semantic handler. */
1081 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_41_rac", (char *) 0));
1083 abuf
->length
= length
;
1089 EX_FN_NAME (m32r
,fmt_42_rte
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1091 #define FLD(f) abuf->fields.fmt_42_rte.f
1092 EXTRACT_FMT_42_RTE_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1094 EXTRACT_FMT_42_RTE_CODE
1096 /* Record the fields for the semantic handler. */
1097 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_42_rte", (char *) 0));
1099 abuf
->length
= length
;
1105 EX_FN_NAME (m32r
,fmt_43_seth
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1107 #define FLD(f) abuf->fields.fmt_43_seth.f
1108 EXTRACT_FMT_43_SETH_VARS
/* f-op1 f-r1 f-op2 f-r2 f-hi16 */
1110 EXTRACT_FMT_43_SETH_CODE
1112 /* Record the fields for the semantic handler. */
1113 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1114 FLD (f_hi16
) = f_hi16
;
1115 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_43_seth", "dr 0x%x", 'x', f_r1
, "hi16 0x%x", 'x', f_hi16
, (char *) 0));
1117 abuf
->length
= length
;
1120 #if WITH_PROFILE_MODEL_P
1121 /* Record the fields for profiling. */
1122 if (PROFILE_MODEL_P (current_cpu
))
1124 abuf
->h_gr_set
= 0 | (1 << f_r1
);
1131 EX_FN_NAME (m32r
,fmt_44_sll3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1133 #define FLD(f) abuf->fields.fmt_44_sll3.f
1134 EXTRACT_FMT_44_SLL3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1136 EXTRACT_FMT_44_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_44_sll3", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, "simm16 0x%x", 'x', f_simm16
, (char *) 0));
1144 abuf
->length
= length
;
1147 #if WITH_PROFILE_MODEL_P
1148 /* Record the fields for profiling. */
1149 if (PROFILE_MODEL_P (current_cpu
))
1151 abuf
->h_gr_get
= 0 | (1 << f_r2
);
1152 abuf
->h_gr_set
= 0 | (1 << f_r1
);
1159 EX_FN_NAME (m32r
,fmt_45_slli
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1161 #define FLD(f) abuf->fields.fmt_45_slli.f
1162 EXTRACT_FMT_45_SLLI_VARS
/* f-op1 f-r1 f-shift-op2 f-uimm5 */
1164 EXTRACT_FMT_45_SLLI_CODE
1166 /* Record the fields for the semantic handler. */
1167 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1168 FLD (f_uimm5
) = f_uimm5
;
1169 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_45_slli", "dr 0x%x", 'x', f_r1
, "uimm5 0x%x", 'x', f_uimm5
, (char *) 0));
1171 abuf
->length
= length
;
1174 #if WITH_PROFILE_MODEL_P
1175 /* Record the fields for profiling. */
1176 if (PROFILE_MODEL_P (current_cpu
))
1178 abuf
->h_gr_get
= 0 | (1 << f_r1
);
1179 abuf
->h_gr_set
= 0 | (1 << f_r1
);
1186 EX_FN_NAME (m32r
,fmt_46_st
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1188 #define FLD(f) abuf->fields.fmt_46_st.f
1189 EXTRACT_FMT_46_ST_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1191 EXTRACT_FMT_46_ST_CODE
1193 /* Record the fields for the semantic handler. */
1194 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1195 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1196 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_46_st", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1198 abuf
->length
= length
;
1201 #if WITH_PROFILE_MODEL_P
1202 /* Record the fields for profiling. */
1203 if (PROFILE_MODEL_P (current_cpu
))
1205 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
1212 EX_FN_NAME (m32r
,fmt_47_st_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1214 #define FLD(f) abuf->fields.fmt_47_st_d.f
1215 EXTRACT_FMT_47_ST_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1217 EXTRACT_FMT_47_ST_D_CODE
1219 /* Record the fields for the semantic handler. */
1220 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1221 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1222 FLD (f_simm16
) = f_simm16
;
1223 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_47_st_d", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
1225 abuf
->length
= length
;
1228 #if WITH_PROFILE_MODEL_P
1229 /* Record the fields for profiling. */
1230 if (PROFILE_MODEL_P (current_cpu
))
1232 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
1239 EX_FN_NAME (m32r
,fmt_48_stb
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1241 #define FLD(f) abuf->fields.fmt_48_stb.f
1242 EXTRACT_FMT_48_STB_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1244 EXTRACT_FMT_48_STB_CODE
1246 /* Record the fields for the semantic handler. */
1247 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1248 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1249 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_48_stb", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1251 abuf
->length
= length
;
1254 #if WITH_PROFILE_MODEL_P
1255 /* Record the fields for profiling. */
1256 if (PROFILE_MODEL_P (current_cpu
))
1258 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
1265 EX_FN_NAME (m32r
,fmt_49_stb_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1267 #define FLD(f) abuf->fields.fmt_49_stb_d.f
1268 EXTRACT_FMT_49_STB_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1270 EXTRACT_FMT_49_STB_D_CODE
1272 /* Record the fields for the semantic handler. */
1273 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1274 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1275 FLD (f_simm16
) = f_simm16
;
1276 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_49_stb_d", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
1278 abuf
->length
= length
;
1281 #if WITH_PROFILE_MODEL_P
1282 /* Record the fields for profiling. */
1283 if (PROFILE_MODEL_P (current_cpu
))
1285 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
1292 EX_FN_NAME (m32r
,fmt_50_sth
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1294 #define FLD(f) abuf->fields.fmt_50_sth.f
1295 EXTRACT_FMT_50_STH_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1297 EXTRACT_FMT_50_STH_CODE
1299 /* Record the fields for the semantic handler. */
1300 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1301 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1302 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_50_sth", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1304 abuf
->length
= length
;
1307 #if WITH_PROFILE_MODEL_P
1308 /* Record the fields for profiling. */
1309 if (PROFILE_MODEL_P (current_cpu
))
1311 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
1318 EX_FN_NAME (m32r
,fmt_51_sth_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1320 #define FLD(f) abuf->fields.fmt_51_sth_d.f
1321 EXTRACT_FMT_51_STH_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1323 EXTRACT_FMT_51_STH_D_CODE
1325 /* Record the fields for the semantic handler. */
1326 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1327 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1328 FLD (f_simm16
) = f_simm16
;
1329 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_51_sth_d", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
1331 abuf
->length
= length
;
1334 #if WITH_PROFILE_MODEL_P
1335 /* Record the fields for profiling. */
1336 if (PROFILE_MODEL_P (current_cpu
))
1338 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
1345 EX_FN_NAME (m32r
,fmt_52_st_plus
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1347 #define FLD(f) abuf->fields.fmt_52_st_plus.f
1348 EXTRACT_FMT_52_ST_PLUS_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1350 EXTRACT_FMT_52_ST_PLUS_CODE
1352 /* Record the fields for the semantic handler. */
1353 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1354 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1355 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_52_st_plus", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1357 abuf
->length
= length
;
1360 #if WITH_PROFILE_MODEL_P
1361 /* Record the fields for profiling. */
1362 if (PROFILE_MODEL_P (current_cpu
))
1364 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
1365 abuf
->h_gr_set
= 0 | (1 << f_r2
);
1372 EX_FN_NAME (m32r
,fmt_53_trap
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1374 #define FLD(f) abuf->fields.fmt_53_trap.f
1375 EXTRACT_FMT_53_TRAP_VARS
/* f-op1 f-r1 f-op2 f-uimm4 */
1377 EXTRACT_FMT_53_TRAP_CODE
1379 /* Record the fields for the semantic handler. */
1380 FLD (f_uimm4
) = f_uimm4
;
1381 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_53_trap", "uimm4 0x%x", 'x', f_uimm4
, (char *) 0));
1383 abuf
->length
= length
;
1389 EX_FN_NAME (m32r
,fmt_54_unlock
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1391 #define FLD(f) abuf->fields.fmt_54_unlock.f
1392 EXTRACT_FMT_54_UNLOCK_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1394 EXTRACT_FMT_54_UNLOCK_CODE
1396 /* Record the fields for the semantic handler. */
1397 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1398 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1399 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_54_unlock", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1401 abuf
->length
= length
;
1404 #if WITH_PROFILE_MODEL_P
1405 /* Record the fields for profiling. */
1406 if (PROFILE_MODEL_P (current_cpu
))
1408 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
1415 EX_FN_NAME (m32r
,illegal
) (SIM_CPU
*cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1417 abuf
->length
= CGEN_BASE_INSN_SIZE
;
1419 /* Leave signalling to semantic fn. */
1424 EXC_FN_NAME (m32r
,illegal
) (SIM_CPU
*cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1426 abuf
->length
= CGEN_BASE_INSN_SIZE
;
1428 /* Leave signalling to semantic fn. */