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_M32RB
33 EX_FN_NAME (m32rb
,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 abuf
->length
= length
;
48 #if WITH_PROFILE_MODEL_P
49 /* Record the fields for profiling. */
50 if (PROFILE_MODEL_P (current_cpu
))
52 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
53 abuf
->h_gr_set
= 0 | (1 << f_r1
);
60 EX_FN_NAME (m32rb
,fmt_add3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
62 #define FLD(f) abuf->fields.fmt_add3.f
63 EXTRACT_FMT_ADD3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
67 /* Record the fields for the semantic handler. */
68 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
69 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
70 FLD (f_simm16
) = f_simm16
;
71 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));
73 abuf
->length
= length
;
76 #if WITH_PROFILE_MODEL_P
77 /* Record the fields for profiling. */
78 if (PROFILE_MODEL_P (current_cpu
))
80 abuf
->h_gr_get
= 0 | (1 << f_r2
);
81 abuf
->h_gr_set
= 0 | (1 << f_r1
);
88 EX_FN_NAME (m32rb
,fmt_and3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
90 #define FLD(f) abuf->fields.fmt_and3.f
91 EXTRACT_FMT_AND3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
95 /* Record the fields for the semantic handler. */
96 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
97 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
98 FLD (f_uimm16
) = f_uimm16
;
99 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));
101 abuf
->length
= length
;
104 #if WITH_PROFILE_MODEL_P
105 /* Record the fields for profiling. */
106 if (PROFILE_MODEL_P (current_cpu
))
108 abuf
->h_gr_get
= 0 | (1 << f_r2
);
109 abuf
->h_gr_set
= 0 | (1 << f_r1
);
116 EX_FN_NAME (m32rb
,fmt_or3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
118 #define FLD(f) abuf->fields.fmt_or3.f
119 EXTRACT_FMT_OR3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-uimm16 */
123 /* Record the fields for the semantic handler. */
124 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
125 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
126 FLD (f_uimm16
) = f_uimm16
;
127 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));
129 abuf
->length
= length
;
132 #if WITH_PROFILE_MODEL_P
133 /* Record the fields for profiling. */
134 if (PROFILE_MODEL_P (current_cpu
))
136 abuf
->h_gr_get
= 0 | (1 << f_r2
);
137 abuf
->h_gr_set
= 0 | (1 << f_r1
);
144 EX_FN_NAME (m32rb
,fmt_addi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
146 #define FLD(f) abuf->fields.fmt_addi.f
147 EXTRACT_FMT_ADDI_VARS
/* f-op1 f-r1 f-simm8 */
149 EXTRACT_FMT_ADDI_CODE
151 /* Record the fields for the semantic handler. */
152 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
153 FLD (f_simm8
) = f_simm8
;
154 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_addi", "dr 0x%x", 'x', f_r1
, "simm8 0x%x", 'x', f_simm8
, (char *) 0));
156 abuf
->length
= length
;
159 #if WITH_PROFILE_MODEL_P
160 /* Record the fields for profiling. */
161 if (PROFILE_MODEL_P (current_cpu
))
163 abuf
->h_gr_get
= 0 | (1 << f_r1
);
164 abuf
->h_gr_set
= 0 | (1 << f_r1
);
171 EX_FN_NAME (m32rb
,fmt_addv
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
173 #define FLD(f) abuf->fields.fmt_addv.f
174 EXTRACT_FMT_ADDV_VARS
/* f-op1 f-r1 f-op2 f-r2 */
176 EXTRACT_FMT_ADDV_CODE
178 /* Record the fields for the semantic handler. */
179 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
180 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
181 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_addv", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
183 abuf
->length
= length
;
186 #if WITH_PROFILE_MODEL_P
187 /* Record the fields for profiling. */
188 if (PROFILE_MODEL_P (current_cpu
))
190 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
191 abuf
->h_gr_set
= 0 | (1 << f_r1
);
198 EX_FN_NAME (m32rb
,fmt_addv3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
200 #define FLD(f) abuf->fields.fmt_addv3.f
201 EXTRACT_FMT_ADDV3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
203 EXTRACT_FMT_ADDV3_CODE
205 /* Record the fields for the semantic handler. */
206 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
207 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
208 FLD (f_simm16
) = f_simm16
;
209 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));
211 abuf
->length
= length
;
214 #if WITH_PROFILE_MODEL_P
215 /* Record the fields for profiling. */
216 if (PROFILE_MODEL_P (current_cpu
))
218 abuf
->h_gr_get
= 0 | (1 << f_r2
);
219 abuf
->h_gr_set
= 0 | (1 << f_r1
);
226 EX_FN_NAME (m32rb
,fmt_addx
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
228 #define FLD(f) abuf->fields.fmt_addx.f
229 EXTRACT_FMT_ADDX_VARS
/* f-op1 f-r1 f-op2 f-r2 */
231 EXTRACT_FMT_ADDX_CODE
233 /* Record the fields for the semantic handler. */
234 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
235 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
236 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_addx", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
238 abuf
->length
= length
;
241 #if WITH_PROFILE_MODEL_P
242 /* Record the fields for profiling. */
243 if (PROFILE_MODEL_P (current_cpu
))
245 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
246 abuf
->h_gr_set
= 0 | (1 << f_r1
);
253 EX_FN_NAME (m32rb
,fmt_bc8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
255 #define FLD(f) abuf->fields.fmt_bc8.f
256 EXTRACT_FMT_BC8_VARS
/* f-op1 f-r1 f-disp8 */
260 /* Record the fields for the semantic handler. */
261 FLD (f_disp8
) = f_disp8
;
262 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bc8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
264 abuf
->length
= length
;
270 EX_FN_NAME (m32rb
,fmt_bc24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
272 #define FLD(f) abuf->fields.fmt_bc24.f
273 EXTRACT_FMT_BC24_VARS
/* f-op1 f-r1 f-disp24 */
275 EXTRACT_FMT_BC24_CODE
277 /* Record the fields for the semantic handler. */
278 FLD (f_disp24
) = f_disp24
;
279 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bc24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
281 abuf
->length
= length
;
287 EX_FN_NAME (m32rb
,fmt_beq
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
289 #define FLD(f) abuf->fields.fmt_beq.f
290 EXTRACT_FMT_BEQ_VARS
/* f-op1 f-r1 f-op2 f-r2 f-disp16 */
294 /* Record the fields for the semantic handler. */
295 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
296 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
297 FLD (f_disp16
) = f_disp16
;
298 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));
300 abuf
->length
= length
;
303 #if WITH_PROFILE_MODEL_P
304 /* Record the fields for profiling. */
305 if (PROFILE_MODEL_P (current_cpu
))
307 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
314 EX_FN_NAME (m32rb
,fmt_beqz
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
316 #define FLD(f) abuf->fields.fmt_beqz.f
317 EXTRACT_FMT_BEQZ_VARS
/* f-op1 f-r1 f-op2 f-r2 f-disp16 */
319 EXTRACT_FMT_BEQZ_CODE
321 /* Record the fields for the semantic handler. */
322 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
323 FLD (f_disp16
) = f_disp16
;
324 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_beqz", "src2 0x%x", 'x', f_r2
, "disp16 0x%x", 'x', f_disp16
, (char *) 0));
326 abuf
->length
= length
;
329 #if WITH_PROFILE_MODEL_P
330 /* Record the fields for profiling. */
331 if (PROFILE_MODEL_P (current_cpu
))
333 abuf
->h_gr_get
= 0 | (1 << f_r2
);
340 EX_FN_NAME (m32rb
,fmt_bl8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
342 #define FLD(f) abuf->fields.fmt_bl8.f
343 EXTRACT_FMT_BL8_VARS
/* f-op1 f-r1 f-disp8 */
347 /* Record the fields for the semantic handler. */
348 FLD (f_disp8
) = f_disp8
;
349 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bl8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
351 abuf
->length
= length
;
354 #if WITH_PROFILE_MODEL_P
355 /* Record the fields for profiling. */
356 if (PROFILE_MODEL_P (current_cpu
))
358 abuf
->h_gr_set
= 0 | (1 << 14);
365 EX_FN_NAME (m32rb
,fmt_bl24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
367 #define FLD(f) abuf->fields.fmt_bl24.f
368 EXTRACT_FMT_BL24_VARS
/* f-op1 f-r1 f-disp24 */
370 EXTRACT_FMT_BL24_CODE
372 /* Record the fields for the semantic handler. */
373 FLD (f_disp24
) = f_disp24
;
374 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bl24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
376 abuf
->length
= length
;
379 #if WITH_PROFILE_MODEL_P
380 /* Record the fields for profiling. */
381 if (PROFILE_MODEL_P (current_cpu
))
383 abuf
->h_gr_set
= 0 | (1 << 14);
390 EX_FN_NAME (m32rb
,fmt_bra8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
392 #define FLD(f) abuf->fields.fmt_bra8.f
393 EXTRACT_FMT_BRA8_VARS
/* f-op1 f-r1 f-disp8 */
395 EXTRACT_FMT_BRA8_CODE
397 /* Record the fields for the semantic handler. */
398 FLD (f_disp8
) = f_disp8
;
399 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bra8", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
401 abuf
->length
= length
;
407 EX_FN_NAME (m32rb
,fmt_bra24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
409 #define FLD(f) abuf->fields.fmt_bra24.f
410 EXTRACT_FMT_BRA24_VARS
/* f-op1 f-r1 f-disp24 */
412 EXTRACT_FMT_BRA24_CODE
414 /* Record the fields for the semantic handler. */
415 FLD (f_disp24
) = f_disp24
;
416 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_bra24", "disp24 0x%x", 'x', f_disp24
, (char *) 0));
418 abuf
->length
= length
;
424 EX_FN_NAME (m32rb
,fmt_cmp
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
426 #define FLD(f) abuf->fields.fmt_cmp.f
427 EXTRACT_FMT_CMP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
431 /* Record the fields for the semantic handler. */
432 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
433 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
434 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_cmp", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
436 abuf
->length
= length
;
439 #if WITH_PROFILE_MODEL_P
440 /* Record the fields for profiling. */
441 if (PROFILE_MODEL_P (current_cpu
))
443 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
450 EX_FN_NAME (m32rb
,fmt_cmpi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
452 #define FLD(f) abuf->fields.fmt_cmpi.f
453 EXTRACT_FMT_CMPI_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
455 EXTRACT_FMT_CMPI_CODE
457 /* Record the fields for the semantic handler. */
458 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
459 FLD (f_simm16
) = f_simm16
;
460 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_cmpi", "src2 0x%x", 'x', f_r2
, "simm16 0x%x", 'x', f_simm16
, (char *) 0));
462 abuf
->length
= length
;
465 #if WITH_PROFILE_MODEL_P
466 /* Record the fields for profiling. */
467 if (PROFILE_MODEL_P (current_cpu
))
469 abuf
->h_gr_get
= 0 | (1 << f_r2
);
476 EX_FN_NAME (m32rb
,fmt_div
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
478 #define FLD(f) abuf->fields.fmt_div.f
479 EXTRACT_FMT_DIV_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
483 /* Record the fields for the semantic handler. */
484 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
485 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
486 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_div", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
488 abuf
->length
= length
;
491 #if WITH_PROFILE_MODEL_P
492 /* Record the fields for profiling. */
493 if (PROFILE_MODEL_P (current_cpu
))
495 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
496 abuf
->h_gr_set
= 0 | (1 << f_r1
);
503 EX_FN_NAME (m32rb
,fmt_jl
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
505 #define FLD(f) abuf->fields.fmt_jl.f
506 EXTRACT_FMT_JL_VARS
/* f-op1 f-r1 f-op2 f-r2 */
510 /* Record the fields for the semantic handler. */
511 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
512 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_jl", "sr 0x%x", 'x', f_r2
, (char *) 0));
514 abuf
->length
= length
;
517 #if WITH_PROFILE_MODEL_P
518 /* Record the fields for profiling. */
519 if (PROFILE_MODEL_P (current_cpu
))
521 abuf
->h_gr_get
= 0 | (1 << f_r2
);
522 abuf
->h_gr_set
= 0 | (1 << 14);
529 EX_FN_NAME (m32rb
,fmt_jmp
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
531 #define FLD(f) abuf->fields.fmt_jmp.f
532 EXTRACT_FMT_JMP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
536 /* Record the fields for the semantic handler. */
537 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
538 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_jmp", "sr 0x%x", 'x', f_r2
, (char *) 0));
540 abuf
->length
= length
;
543 #if WITH_PROFILE_MODEL_P
544 /* Record the fields for profiling. */
545 if (PROFILE_MODEL_P (current_cpu
))
547 abuf
->h_gr_get
= 0 | (1 << f_r2
);
554 EX_FN_NAME (m32rb
,fmt_ld
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
556 #define FLD(f) abuf->fields.fmt_ld.f
557 EXTRACT_FMT_LD_VARS
/* f-op1 f-r1 f-op2 f-r2 */
561 /* Record the fields for the semantic handler. */
562 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
563 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
564 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ld", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
566 abuf
->length
= length
;
569 #if WITH_PROFILE_MODEL_P
570 /* Record the fields for profiling. */
571 if (PROFILE_MODEL_P (current_cpu
))
573 abuf
->h_gr_get
= 0 | (1 << f_r2
);
574 abuf
->h_gr_set
= 0 | (1 << f_r1
);
581 EX_FN_NAME (m32rb
,fmt_ld_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
583 #define FLD(f) abuf->fields.fmt_ld_d.f
584 EXTRACT_FMT_LD_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
586 EXTRACT_FMT_LD_D_CODE
588 /* Record the fields for the semantic handler. */
589 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
590 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
591 FLD (f_simm16
) = f_simm16
;
592 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));
594 abuf
->length
= length
;
597 #if WITH_PROFILE_MODEL_P
598 /* Record the fields for profiling. */
599 if (PROFILE_MODEL_P (current_cpu
))
601 abuf
->h_gr_get
= 0 | (1 << f_r2
);
602 abuf
->h_gr_set
= 0 | (1 << f_r1
);
609 EX_FN_NAME (m32rb
,fmt_ldb
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
611 #define FLD(f) abuf->fields.fmt_ldb.f
612 EXTRACT_FMT_LDB_VARS
/* f-op1 f-r1 f-op2 f-r2 */
616 /* Record the fields for the semantic handler. */
617 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
618 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
619 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldb", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
621 abuf
->length
= length
;
624 #if WITH_PROFILE_MODEL_P
625 /* Record the fields for profiling. */
626 if (PROFILE_MODEL_P (current_cpu
))
628 abuf
->h_gr_get
= 0 | (1 << f_r2
);
629 abuf
->h_gr_set
= 0 | (1 << f_r1
);
636 EX_FN_NAME (m32rb
,fmt_ldb_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
638 #define FLD(f) abuf->fields.fmt_ldb_d.f
639 EXTRACT_FMT_LDB_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
641 EXTRACT_FMT_LDB_D_CODE
643 /* Record the fields for the semantic handler. */
644 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
645 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
646 FLD (f_simm16
) = f_simm16
;
647 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));
649 abuf
->length
= length
;
652 #if WITH_PROFILE_MODEL_P
653 /* Record the fields for profiling. */
654 if (PROFILE_MODEL_P (current_cpu
))
656 abuf
->h_gr_get
= 0 | (1 << f_r2
);
657 abuf
->h_gr_set
= 0 | (1 << f_r1
);
664 EX_FN_NAME (m32rb
,fmt_ldh
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
666 #define FLD(f) abuf->fields.fmt_ldh.f
667 EXTRACT_FMT_LDH_VARS
/* f-op1 f-r1 f-op2 f-r2 */
671 /* Record the fields for the semantic handler. */
672 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
673 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
674 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldh", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
676 abuf
->length
= length
;
679 #if WITH_PROFILE_MODEL_P
680 /* Record the fields for profiling. */
681 if (PROFILE_MODEL_P (current_cpu
))
683 abuf
->h_gr_get
= 0 | (1 << f_r2
);
684 abuf
->h_gr_set
= 0 | (1 << f_r1
);
691 EX_FN_NAME (m32rb
,fmt_ldh_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
693 #define FLD(f) abuf->fields.fmt_ldh_d.f
694 EXTRACT_FMT_LDH_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
696 EXTRACT_FMT_LDH_D_CODE
698 /* Record the fields for the semantic handler. */
699 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
700 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
701 FLD (f_simm16
) = f_simm16
;
702 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));
704 abuf
->length
= length
;
707 #if WITH_PROFILE_MODEL_P
708 /* Record the fields for profiling. */
709 if (PROFILE_MODEL_P (current_cpu
))
711 abuf
->h_gr_get
= 0 | (1 << f_r2
);
712 abuf
->h_gr_set
= 0 | (1 << f_r1
);
719 EX_FN_NAME (m32rb
,fmt_ld_plus
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
721 #define FLD(f) abuf->fields.fmt_ld_plus.f
722 EXTRACT_FMT_LD_PLUS_VARS
/* f-op1 f-r1 f-op2 f-r2 */
724 EXTRACT_FMT_LD_PLUS_CODE
726 /* Record the fields for the semantic handler. */
727 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
728 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
729 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ld_plus", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
731 abuf
->length
= length
;
734 #if WITH_PROFILE_MODEL_P
735 /* Record the fields for profiling. */
736 if (PROFILE_MODEL_P (current_cpu
))
738 abuf
->h_gr_get
= 0 | (1 << f_r2
);
739 abuf
->h_gr_set
= 0 | (1 << f_r1
) | (1 << f_r2
);
746 EX_FN_NAME (m32rb
,fmt_ld24
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
748 #define FLD(f) abuf->fields.fmt_ld24.f
749 EXTRACT_FMT_LD24_VARS
/* f-op1 f-r1 f-uimm24 */
751 EXTRACT_FMT_LD24_CODE
753 /* Record the fields for the semantic handler. */
754 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
755 FLD (f_uimm24
) = f_uimm24
;
756 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ld24", "dr 0x%x", 'x', f_r1
, "uimm24 0x%x", 'x', f_uimm24
, (char *) 0));
758 abuf
->length
= length
;
761 #if WITH_PROFILE_MODEL_P
762 /* Record the fields for profiling. */
763 if (PROFILE_MODEL_P (current_cpu
))
765 abuf
->h_gr_set
= 0 | (1 << f_r1
);
772 EX_FN_NAME (m32rb
,fmt_ldi8
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
774 #define FLD(f) abuf->fields.fmt_ldi8.f
775 EXTRACT_FMT_LDI8_VARS
/* f-op1 f-r1 f-simm8 */
777 EXTRACT_FMT_LDI8_CODE
779 /* Record the fields for the semantic handler. */
780 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
781 FLD (f_simm8
) = f_simm8
;
782 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldi8", "dr 0x%x", 'x', f_r1
, "simm8 0x%x", 'x', f_simm8
, (char *) 0));
784 abuf
->length
= length
;
787 #if WITH_PROFILE_MODEL_P
788 /* Record the fields for profiling. */
789 if (PROFILE_MODEL_P (current_cpu
))
791 abuf
->h_gr_set
= 0 | (1 << f_r1
);
798 EX_FN_NAME (m32rb
,fmt_ldi16
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
800 #define FLD(f) abuf->fields.fmt_ldi16.f
801 EXTRACT_FMT_LDI16_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
803 EXTRACT_FMT_LDI16_CODE
805 /* Record the fields for the semantic handler. */
806 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
807 FLD (f_simm16
) = f_simm16
;
808 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_ldi16", "dr 0x%x", 'x', f_r1
, "slo16 0x%x", 'x', f_simm16
, (char *) 0));
810 abuf
->length
= length
;
813 #if WITH_PROFILE_MODEL_P
814 /* Record the fields for profiling. */
815 if (PROFILE_MODEL_P (current_cpu
))
817 abuf
->h_gr_set
= 0 | (1 << f_r1
);
824 EX_FN_NAME (m32rb
,fmt_lock
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
826 #define FLD(f) abuf->fields.fmt_lock.f
827 EXTRACT_FMT_LOCK_VARS
/* f-op1 f-r1 f-op2 f-r2 */
829 EXTRACT_FMT_LOCK_CODE
831 /* Record the fields for the semantic handler. */
832 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
833 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
834 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_lock", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
836 abuf
->length
= length
;
839 #if WITH_PROFILE_MODEL_P
840 /* Record the fields for profiling. */
841 if (PROFILE_MODEL_P (current_cpu
))
843 abuf
->h_gr_get
= 0 | (1 << f_r2
);
844 abuf
->h_gr_set
= 0 | (1 << f_r1
);
851 EX_FN_NAME (m32rb
,fmt_machi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
853 #define FLD(f) abuf->fields.fmt_machi.f
854 EXTRACT_FMT_MACHI_VARS
/* f-op1 f-r1 f-op2 f-r2 */
856 EXTRACT_FMT_MACHI_CODE
858 /* Record the fields for the semantic handler. */
859 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
860 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
861 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_machi", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
863 abuf
->length
= length
;
866 #if WITH_PROFILE_MODEL_P
867 /* Record the fields for profiling. */
868 if (PROFILE_MODEL_P (current_cpu
))
870 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
877 EX_FN_NAME (m32rb
,fmt_mulhi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
879 #define FLD(f) abuf->fields.fmt_mulhi.f
880 EXTRACT_FMT_MULHI_VARS
/* f-op1 f-r1 f-op2 f-r2 */
882 EXTRACT_FMT_MULHI_CODE
884 /* Record the fields for the semantic handler. */
885 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
886 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
887 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mulhi", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
889 abuf
->length
= length
;
892 #if WITH_PROFILE_MODEL_P
893 /* Record the fields for profiling. */
894 if (PROFILE_MODEL_P (current_cpu
))
896 abuf
->h_gr_get
= 0 | (1 << f_r1
) | (1 << f_r2
);
903 EX_FN_NAME (m32rb
,fmt_mv
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
905 #define FLD(f) abuf->fields.fmt_mv.f
906 EXTRACT_FMT_MV_VARS
/* f-op1 f-r1 f-op2 f-r2 */
910 /* Record the fields for the semantic handler. */
911 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
912 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
913 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mv", "dr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
915 abuf
->length
= length
;
918 #if WITH_PROFILE_MODEL_P
919 /* Record the fields for profiling. */
920 if (PROFILE_MODEL_P (current_cpu
))
922 abuf
->h_gr_get
= 0 | (1 << f_r2
);
923 abuf
->h_gr_set
= 0 | (1 << f_r1
);
930 EX_FN_NAME (m32rb
,fmt_mvfachi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
932 #define FLD(f) abuf->fields.fmt_mvfachi.f
933 EXTRACT_FMT_MVFACHI_VARS
/* f-op1 f-r1 f-op2 f-r2 */
935 EXTRACT_FMT_MVFACHI_CODE
937 /* Record the fields for the semantic handler. */
938 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
939 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvfachi", "dr 0x%x", 'x', f_r1
, (char *) 0));
941 abuf
->length
= length
;
944 #if WITH_PROFILE_MODEL_P
945 /* Record the fields for profiling. */
946 if (PROFILE_MODEL_P (current_cpu
))
948 abuf
->h_gr_set
= 0 | (1 << f_r1
);
955 EX_FN_NAME (m32rb
,fmt_mvfc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
957 #define FLD(f) abuf->fields.fmt_mvfc.f
958 EXTRACT_FMT_MVFC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
960 EXTRACT_FMT_MVFC_CODE
962 /* Record the fields for the semantic handler. */
963 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
965 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvfc", "dr 0x%x", 'x', f_r1
, "scr 0x%x", 'x', f_r2
, (char *) 0));
967 abuf
->length
= length
;
970 #if WITH_PROFILE_MODEL_P
971 /* Record the fields for profiling. */
972 if (PROFILE_MODEL_P (current_cpu
))
974 abuf
->h_gr_set
= 0 | (1 << f_r1
);
981 EX_FN_NAME (m32rb
,fmt_mvtachi
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
983 #define FLD(f) abuf->fields.fmt_mvtachi.f
984 EXTRACT_FMT_MVTACHI_VARS
/* f-op1 f-r1 f-op2 f-r2 */
986 EXTRACT_FMT_MVTACHI_CODE
988 /* Record the fields for the semantic handler. */
989 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
990 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvtachi", "src1 0x%x", 'x', f_r1
, (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_get
= 0 | (1 << f_r1
);
1006 EX_FN_NAME (m32rb
,fmt_mvtc
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1008 #define FLD(f) abuf->fields.fmt_mvtc.f
1009 EXTRACT_FMT_MVTC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1011 EXTRACT_FMT_MVTC_CODE
1013 /* Record the fields for the semantic handler. */
1015 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1016 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_mvtc", "dcr 0x%x", 'x', f_r1
, "sr 0x%x", 'x', f_r2
, (char *) 0));
1018 abuf
->length
= length
;
1021 #if WITH_PROFILE_MODEL_P
1022 /* Record the fields for profiling. */
1023 if (PROFILE_MODEL_P (current_cpu
))
1025 abuf
->h_gr_get
= 0 | (1 << f_r2
);
1032 EX_FN_NAME (m32rb
,fmt_nop
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1034 #define FLD(f) abuf->fields.fmt_nop.f
1035 EXTRACT_FMT_NOP_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1037 EXTRACT_FMT_NOP_CODE
1039 /* Record the fields for the semantic handler. */
1040 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_nop", (char *) 0));
1042 abuf
->length
= length
;
1048 EX_FN_NAME (m32rb
,fmt_rac
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1050 #define FLD(f) abuf->fields.fmt_rac.f
1051 EXTRACT_FMT_RAC_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1053 EXTRACT_FMT_RAC_CODE
1055 /* Record the fields for the semantic handler. */
1056 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_rac", (char *) 0));
1058 abuf
->length
= length
;
1064 EX_FN_NAME (m32rb
,fmt_rte
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1066 #define FLD(f) abuf->fields.fmt_rte.f
1067 EXTRACT_FMT_RTE_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1069 EXTRACT_FMT_RTE_CODE
1071 /* Record the fields for the semantic handler. */
1072 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_rte", (char *) 0));
1074 abuf
->length
= length
;
1080 EX_FN_NAME (m32rb
,fmt_seth
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1082 #define FLD(f) abuf->fields.fmt_seth.f
1083 EXTRACT_FMT_SETH_VARS
/* f-op1 f-r1 f-op2 f-r2 f-hi16 */
1085 EXTRACT_FMT_SETH_CODE
1087 /* Record the fields for the semantic handler. */
1088 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1089 FLD (f_hi16
) = f_hi16
;
1090 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_seth", "dr 0x%x", 'x', f_r1
, "hi16 0x%x", 'x', f_hi16
, (char *) 0));
1092 abuf
->length
= length
;
1095 #if WITH_PROFILE_MODEL_P
1096 /* Record the fields for profiling. */
1097 if (PROFILE_MODEL_P (current_cpu
))
1099 abuf
->h_gr_set
= 0 | (1 << f_r1
);
1106 EX_FN_NAME (m32rb
,fmt_sll3
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1108 #define FLD(f) abuf->fields.fmt_sll3.f
1109 EXTRACT_FMT_SLL3_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1111 EXTRACT_FMT_SLL3_CODE
1113 /* Record the fields for the semantic handler. */
1114 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1115 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1116 FLD (f_simm16
) = f_simm16
;
1117 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));
1119 abuf
->length
= length
;
1122 #if WITH_PROFILE_MODEL_P
1123 /* Record the fields for profiling. */
1124 if (PROFILE_MODEL_P (current_cpu
))
1126 abuf
->h_gr_get
= 0 | (1 << f_r2
);
1127 abuf
->h_gr_set
= 0 | (1 << f_r1
);
1134 EX_FN_NAME (m32rb
,fmt_slli
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1136 #define FLD(f) abuf->fields.fmt_slli.f
1137 EXTRACT_FMT_SLLI_VARS
/* f-op1 f-r1 f-shift-op2 f-uimm5 */
1139 EXTRACT_FMT_SLLI_CODE
1141 /* Record the fields for the semantic handler. */
1142 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1143 FLD (f_uimm5
) = f_uimm5
;
1144 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_slli", "dr 0x%x", 'x', f_r1
, "uimm5 0x%x", 'x', f_uimm5
, (char *) 0));
1146 abuf
->length
= length
;
1149 #if WITH_PROFILE_MODEL_P
1150 /* Record the fields for profiling. */
1151 if (PROFILE_MODEL_P (current_cpu
))
1153 abuf
->h_gr_get
= 0 | (1 << f_r1
);
1154 abuf
->h_gr_set
= 0 | (1 << f_r1
);
1161 EX_FN_NAME (m32rb
,fmt_st
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1163 #define FLD(f) abuf->fields.fmt_st.f
1164 EXTRACT_FMT_ST_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1168 /* Record the fields for the semantic handler. */
1169 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1170 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1171 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_st", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1173 abuf
->length
= length
;
1176 #if WITH_PROFILE_MODEL_P
1177 /* Record the fields for profiling. */
1178 if (PROFILE_MODEL_P (current_cpu
))
1180 abuf
->h_gr_get
= 0 | (1 << f_r2
) | (1 << f_r1
);
1187 EX_FN_NAME (m32rb
,fmt_st_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1189 #define FLD(f) abuf->fields.fmt_st_d.f
1190 EXTRACT_FMT_ST_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1192 EXTRACT_FMT_ST_D_CODE
1194 /* Record the fields for the semantic handler. */
1195 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1196 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1197 FLD (f_simm16
) = f_simm16
;
1198 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));
1200 abuf
->length
= length
;
1203 #if WITH_PROFILE_MODEL_P
1204 /* Record the fields for profiling. */
1205 if (PROFILE_MODEL_P (current_cpu
))
1207 abuf
->h_gr_get
= 0 | (1 << f_r2
) | (1 << f_r1
);
1214 EX_FN_NAME (m32rb
,fmt_stb
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1216 #define FLD(f) abuf->fields.fmt_stb.f
1217 EXTRACT_FMT_STB_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1219 EXTRACT_FMT_STB_CODE
1221 /* Record the fields for the semantic handler. */
1222 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1223 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1224 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_stb", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1226 abuf
->length
= length
;
1229 #if WITH_PROFILE_MODEL_P
1230 /* Record the fields for profiling. */
1231 if (PROFILE_MODEL_P (current_cpu
))
1233 abuf
->h_gr_get
= 0 | (1 << f_r2
) | (1 << f_r1
);
1240 EX_FN_NAME (m32rb
,fmt_stb_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1242 #define FLD(f) abuf->fields.fmt_stb_d.f
1243 EXTRACT_FMT_STB_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1245 EXTRACT_FMT_STB_D_CODE
1247 /* Record the fields for the semantic handler. */
1248 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1249 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1250 FLD (f_simm16
) = f_simm16
;
1251 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));
1253 abuf
->length
= length
;
1256 #if WITH_PROFILE_MODEL_P
1257 /* Record the fields for profiling. */
1258 if (PROFILE_MODEL_P (current_cpu
))
1260 abuf
->h_gr_get
= 0 | (1 << f_r2
) | (1 << f_r1
);
1267 EX_FN_NAME (m32rb
,fmt_sth
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1269 #define FLD(f) abuf->fields.fmt_sth.f
1270 EXTRACT_FMT_STH_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1272 EXTRACT_FMT_STH_CODE
1274 /* Record the fields for the semantic handler. */
1275 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1276 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1277 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_sth", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1279 abuf
->length
= length
;
1282 #if WITH_PROFILE_MODEL_P
1283 /* Record the fields for profiling. */
1284 if (PROFILE_MODEL_P (current_cpu
))
1286 abuf
->h_gr_get
= 0 | (1 << f_r2
) | (1 << f_r1
);
1293 EX_FN_NAME (m32rb
,fmt_sth_d
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1295 #define FLD(f) abuf->fields.fmt_sth_d.f
1296 EXTRACT_FMT_STH_D_VARS
/* f-op1 f-r1 f-op2 f-r2 f-simm16 */
1298 EXTRACT_FMT_STH_D_CODE
1300 /* Record the fields for the semantic handler. */
1301 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1302 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1303 FLD (f_simm16
) = f_simm16
;
1304 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));
1306 abuf
->length
= length
;
1309 #if WITH_PROFILE_MODEL_P
1310 /* Record the fields for profiling. */
1311 if (PROFILE_MODEL_P (current_cpu
))
1313 abuf
->h_gr_get
= 0 | (1 << f_r2
) | (1 << f_r1
);
1320 EX_FN_NAME (m32rb
,fmt_st_plus
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1322 #define FLD(f) abuf->fields.fmt_st_plus.f
1323 EXTRACT_FMT_ST_PLUS_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1325 EXTRACT_FMT_ST_PLUS_CODE
1327 /* Record the fields for the semantic handler. */
1328 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1329 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1330 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_st_plus", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1332 abuf
->length
= length
;
1335 #if WITH_PROFILE_MODEL_P
1336 /* Record the fields for profiling. */
1337 if (PROFILE_MODEL_P (current_cpu
))
1339 abuf
->h_gr_get
= 0 | (1 << f_r2
) | (1 << f_r1
);
1340 abuf
->h_gr_set
= 0 | (1 << f_r2
);
1347 EX_FN_NAME (m32rb
,fmt_trap
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1349 #define FLD(f) abuf->fields.fmt_trap.f
1350 EXTRACT_FMT_TRAP_VARS
/* f-op1 f-r1 f-op2 f-uimm4 */
1352 EXTRACT_FMT_TRAP_CODE
1354 /* Record the fields for the semantic handler. */
1355 FLD (f_uimm4
) = f_uimm4
;
1356 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_trap", "uimm4 0x%x", 'x', f_uimm4
, (char *) 0));
1358 abuf
->length
= length
;
1364 EX_FN_NAME (m32rb
,fmt_unlock
) (SIM_CPU
*current_cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1366 #define FLD(f) abuf->fields.fmt_unlock.f
1367 EXTRACT_FMT_UNLOCK_VARS
/* f-op1 f-r1 f-op2 f-r2 */
1369 EXTRACT_FMT_UNLOCK_CODE
1371 /* Record the fields for the semantic handler. */
1372 FLD (f_r1
) = & CPU (h_gr
)[f_r1
];
1373 FLD (f_r2
) = & CPU (h_gr
)[f_r2
];
1374 TRACE_EXTRACT (current_cpu
, (current_cpu
, pc
, "fmt_unlock", "src1 0x%x", 'x', f_r1
, "src2 0x%x", 'x', f_r2
, (char *) 0));
1376 abuf
->length
= length
;
1379 #if WITH_PROFILE_MODEL_P
1380 /* Record the fields for profiling. */
1381 if (PROFILE_MODEL_P (current_cpu
))
1383 abuf
->h_gr_get
= 0 | (1 << f_r2
) | (1 << f_r1
);
1390 EX_FN_NAME (m32rb
,illegal
) (SIM_CPU
*cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1392 abuf
->length
= CGEN_BASE_INSN_SIZE
;
1394 /* Leave signalling to semantic fn. */
1399 EXC_FN_NAME (m32rb
,illegal
) (SIM_CPU
*cpu
, PCADDR pc
, insn_t insn
, ARGBUF
*abuf
)
1401 abuf
->length
= CGEN_BASE_INSN_SIZE
;
1403 /* Leave signalling to semantic fn. */
This page took 0.058121 seconds and 4 git commands to generate.