1 /* Decode header for sh2a_fpu.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 2000-2010 Red Hat, Inc.
7 This file is part of the Red Hat simulators.
12 #ifndef SH2A_FPU_DECODE_H
13 #define SH2A_FPU_DECODE_H
16 // forward declaration of struct in -defs.h
25 typedef UINT sh2a_fpu_insn_word;
27 /* Enum declaration for instructions in cpu family sh2a_fpu. */
28 typedef enum sh2a_fpu_insn_type {
29 SH2A_FPU_INSN_X_INVALID, SH2A_FPU_INSN_ADD_COMPACT, SH2A_FPU_INSN_ADDI_COMPACT, SH2A_FPU_INSN_ADDC_COMPACT
30 , SH2A_FPU_INSN_ADDV_COMPACT, SH2A_FPU_INSN_AND_COMPACT, SH2A_FPU_INSN_ANDI_COMPACT, SH2A_FPU_INSN_ANDB_COMPACT
31 , SH2A_FPU_INSN_BF_COMPACT, SH2A_FPU_INSN_BFS_COMPACT, SH2A_FPU_INSN_BRA_COMPACT, SH2A_FPU_INSN_BRAF_COMPACT
32 , SH2A_FPU_INSN_BSR_COMPACT, SH2A_FPU_INSN_BSRF_COMPACT, SH2A_FPU_INSN_BT_COMPACT, SH2A_FPU_INSN_BTS_COMPACT
33 , SH2A_FPU_INSN_CLRMAC_COMPACT, SH2A_FPU_INSN_CLRT_COMPACT, SH2A_FPU_INSN_CMPEQ_COMPACT, SH2A_FPU_INSN_CMPEQI_COMPACT
34 , SH2A_FPU_INSN_CMPGE_COMPACT, SH2A_FPU_INSN_CMPGT_COMPACT, SH2A_FPU_INSN_CMPHI_COMPACT, SH2A_FPU_INSN_CMPHS_COMPACT
35 , SH2A_FPU_INSN_CMPPL_COMPACT, SH2A_FPU_INSN_CMPPZ_COMPACT, SH2A_FPU_INSN_CMPSTR_COMPACT, SH2A_FPU_INSN_DIV0S_COMPACT
36 , SH2A_FPU_INSN_DIV0U_COMPACT, SH2A_FPU_INSN_DIV1_COMPACT, SH2A_FPU_INSN_DIVU_COMPACT, SH2A_FPU_INSN_MULR_COMPACT
37 , SH2A_FPU_INSN_DMULSL_COMPACT, SH2A_FPU_INSN_DMULUL_COMPACT, SH2A_FPU_INSN_DT_COMPACT, SH2A_FPU_INSN_EXTSB_COMPACT
38 , SH2A_FPU_INSN_EXTSW_COMPACT, SH2A_FPU_INSN_EXTUB_COMPACT, SH2A_FPU_INSN_EXTUW_COMPACT, SH2A_FPU_INSN_FABS_COMPACT
39 , SH2A_FPU_INSN_FADD_COMPACT, SH2A_FPU_INSN_FCMPEQ_COMPACT, SH2A_FPU_INSN_FCMPGT_COMPACT, SH2A_FPU_INSN_FCNVDS_COMPACT
40 , SH2A_FPU_INSN_FCNVSD_COMPACT, SH2A_FPU_INSN_FDIV_COMPACT, SH2A_FPU_INSN_FLDS_COMPACT, SH2A_FPU_INSN_FLDI0_COMPACT
41 , SH2A_FPU_INSN_FLDI1_COMPACT, SH2A_FPU_INSN_FLOAT_COMPACT, SH2A_FPU_INSN_FMAC_COMPACT, SH2A_FPU_INSN_FMOV1_COMPACT
42 , SH2A_FPU_INSN_FMOV2_COMPACT, SH2A_FPU_INSN_FMOV3_COMPACT, SH2A_FPU_INSN_FMOV4_COMPACT, SH2A_FPU_INSN_FMOV5_COMPACT
43 , SH2A_FPU_INSN_FMOV6_COMPACT, SH2A_FPU_INSN_FMOV7_COMPACT, SH2A_FPU_INSN_FMOV8_COMPACT, SH2A_FPU_INSN_FMOV9_COMPACT
44 , SH2A_FPU_INSN_FMUL_COMPACT, SH2A_FPU_INSN_FNEG_COMPACT, SH2A_FPU_INSN_FRCHG_COMPACT, SH2A_FPU_INSN_FSCHG_COMPACT
45 , SH2A_FPU_INSN_FSQRT_COMPACT, SH2A_FPU_INSN_FSTS_COMPACT, SH2A_FPU_INSN_FSUB_COMPACT, SH2A_FPU_INSN_FTRC_COMPACT
46 , SH2A_FPU_INSN_JMP_COMPACT, SH2A_FPU_INSN_JSR_COMPACT, SH2A_FPU_INSN_LDC_GBR_COMPACT, SH2A_FPU_INSN_LDC_VBR_COMPACT
47 , SH2A_FPU_INSN_LDC_SR_COMPACT, SH2A_FPU_INSN_LDCL_GBR_COMPACT, SH2A_FPU_INSN_LDCL_VBR_COMPACT, SH2A_FPU_INSN_LDS_FPSCR_COMPACT
48 , SH2A_FPU_INSN_LDSL_FPSCR_COMPACT, SH2A_FPU_INSN_LDS_FPUL_COMPACT, SH2A_FPU_INSN_LDSL_FPUL_COMPACT, SH2A_FPU_INSN_LDS_MACH_COMPACT
49 , SH2A_FPU_INSN_LDSL_MACH_COMPACT, SH2A_FPU_INSN_LDS_MACL_COMPACT, SH2A_FPU_INSN_LDSL_MACL_COMPACT, SH2A_FPU_INSN_LDS_PR_COMPACT
50 , SH2A_FPU_INSN_LDSL_PR_COMPACT, SH2A_FPU_INSN_MACL_COMPACT, SH2A_FPU_INSN_MACW_COMPACT, SH2A_FPU_INSN_MOV_COMPACT
51 , SH2A_FPU_INSN_MOVI_COMPACT, SH2A_FPU_INSN_MOVI20_COMPACT, SH2A_FPU_INSN_MOVB1_COMPACT, SH2A_FPU_INSN_MOVB2_COMPACT
52 , SH2A_FPU_INSN_MOVB3_COMPACT, SH2A_FPU_INSN_MOVB4_COMPACT, SH2A_FPU_INSN_MOVB5_COMPACT, SH2A_FPU_INSN_MOVB6_COMPACT
53 , SH2A_FPU_INSN_MOVB7_COMPACT, SH2A_FPU_INSN_MOVB8_COMPACT, SH2A_FPU_INSN_MOVB9_COMPACT, SH2A_FPU_INSN_MOVB10_COMPACT
54 , SH2A_FPU_INSN_MOVL1_COMPACT, SH2A_FPU_INSN_MOVL2_COMPACT, SH2A_FPU_INSN_MOVL3_COMPACT, SH2A_FPU_INSN_MOVL4_COMPACT
55 , SH2A_FPU_INSN_MOVL5_COMPACT, SH2A_FPU_INSN_MOVL6_COMPACT, SH2A_FPU_INSN_MOVL7_COMPACT, SH2A_FPU_INSN_MOVL8_COMPACT
56 , SH2A_FPU_INSN_MOVL9_COMPACT, SH2A_FPU_INSN_MOVL10_COMPACT, SH2A_FPU_INSN_MOVL11_COMPACT, SH2A_FPU_INSN_MOVL12_COMPACT
57 , SH2A_FPU_INSN_MOVL13_COMPACT, SH2A_FPU_INSN_MOVW1_COMPACT, SH2A_FPU_INSN_MOVW2_COMPACT, SH2A_FPU_INSN_MOVW3_COMPACT
58 , SH2A_FPU_INSN_MOVW4_COMPACT, SH2A_FPU_INSN_MOVW5_COMPACT, SH2A_FPU_INSN_MOVW6_COMPACT, SH2A_FPU_INSN_MOVW7_COMPACT
59 , SH2A_FPU_INSN_MOVW8_COMPACT, SH2A_FPU_INSN_MOVW9_COMPACT, SH2A_FPU_INSN_MOVW10_COMPACT, SH2A_FPU_INSN_MOVW11_COMPACT
60 , SH2A_FPU_INSN_MOVA_COMPACT, SH2A_FPU_INSN_MOVT_COMPACT, SH2A_FPU_INSN_MULL_COMPACT, SH2A_FPU_INSN_MULSW_COMPACT
61 , SH2A_FPU_INSN_MULUW_COMPACT, SH2A_FPU_INSN_NEG_COMPACT, SH2A_FPU_INSN_NEGC_COMPACT, SH2A_FPU_INSN_NOP_COMPACT
62 , SH2A_FPU_INSN_NOT_COMPACT, SH2A_FPU_INSN_OR_COMPACT, SH2A_FPU_INSN_ORI_COMPACT, SH2A_FPU_INSN_ORB_COMPACT
63 , SH2A_FPU_INSN_ROTCL_COMPACT, SH2A_FPU_INSN_ROTCR_COMPACT, SH2A_FPU_INSN_ROTL_COMPACT, SH2A_FPU_INSN_ROTR_COMPACT
64 , SH2A_FPU_INSN_RTS_COMPACT, SH2A_FPU_INSN_SETT_COMPACT, SH2A_FPU_INSN_SHAD_COMPACT, SH2A_FPU_INSN_SHAL_COMPACT
65 , SH2A_FPU_INSN_SHAR_COMPACT, SH2A_FPU_INSN_SHLL_COMPACT, SH2A_FPU_INSN_SHLL2_COMPACT, SH2A_FPU_INSN_SHLL8_COMPACT
66 , SH2A_FPU_INSN_SHLL16_COMPACT, SH2A_FPU_INSN_SHLR_COMPACT, SH2A_FPU_INSN_SHLR2_COMPACT, SH2A_FPU_INSN_SHLR8_COMPACT
67 , SH2A_FPU_INSN_SHLR16_COMPACT, SH2A_FPU_INSN_STC_GBR_COMPACT, SH2A_FPU_INSN_STC_VBR_COMPACT, SH2A_FPU_INSN_STCL_GBR_COMPACT
68 , SH2A_FPU_INSN_STCL_VBR_COMPACT, SH2A_FPU_INSN_STS_FPSCR_COMPACT, SH2A_FPU_INSN_STSL_FPSCR_COMPACT, SH2A_FPU_INSN_STS_FPUL_COMPACT
69 , SH2A_FPU_INSN_STSL_FPUL_COMPACT, SH2A_FPU_INSN_STS_MACH_COMPACT, SH2A_FPU_INSN_STSL_MACH_COMPACT, SH2A_FPU_INSN_STS_MACL_COMPACT
70 , SH2A_FPU_INSN_STSL_MACL_COMPACT, SH2A_FPU_INSN_STS_PR_COMPACT, SH2A_FPU_INSN_STSL_PR_COMPACT, SH2A_FPU_INSN_SUB_COMPACT
71 , SH2A_FPU_INSN_SUBC_COMPACT, SH2A_FPU_INSN_SUBV_COMPACT, SH2A_FPU_INSN_SWAPB_COMPACT, SH2A_FPU_INSN_SWAPW_COMPACT
72 , SH2A_FPU_INSN_TASB_COMPACT, SH2A_FPU_INSN_TRAPA_COMPACT, SH2A_FPU_INSN_TST_COMPACT, SH2A_FPU_INSN_TSTI_COMPACT
73 , SH2A_FPU_INSN_TSTB_COMPACT, SH2A_FPU_INSN_XOR_COMPACT, SH2A_FPU_INSN_XORI_COMPACT, SH2A_FPU_INSN_XORB_COMPACT
74 , SH2A_FPU_INSN_XTRCT_COMPACT
80 struct sh2a_fpu_scache;
81 typedef void (sh2a_fpu_sem_fn) (sh2a_fpu_cpu* cpu, sh2a_fpu_scache* sem, int tick, sh2a_fpu::write_stacks &buf);
84 // Instruction descriptor.
86 struct sh2a_fpu_idesc {
88 // scache engine executor for this insn
89 sh2a_fpu_sem_fn* execute;
91 const char* insn_name;
92 enum sh2a_fpu_insn_type sem_index;
95 // idesc table: indexed by sem_index
96 static sh2a_fpu_idesc idesc_table[];
98 static sh2a_fpu_insn_type lookup_virtual (virtual_insn_type vit);
101 // Instruction argument buffer.
103 union sh2a_fpu_sem_fields {
104 struct { /* no operands */
115 unsigned char out_r0;
116 } sfmt_movw9_compact;
120 } sfmt_movw4_compact;
123 unsigned char out_r0;
124 } sfmt_movl9_compact;
128 } sfmt_movl4_compact;
132 unsigned char out_rn;
133 } sfmt_movw10_compact;
137 unsigned char out_rn;
138 } sfmt_movl10_compact;
142 unsigned char out_rn;
143 } sfmt_movi20_compact;
146 unsigned char in_fsdn;
147 unsigned char out_fpul;
151 unsigned char in_fpul;
152 unsigned char out_frn;
156 unsigned char in_fpul;
157 unsigned char out_fsdn;
158 } sfmt_float_compact;
161 unsigned char in_frn;
162 unsigned char out_fpul;
166 unsigned char in_fpul;
167 unsigned char out_drn;
168 } sfmt_fcnvsd_compact;
171 unsigned char in_drn;
172 unsigned char out_fpul;
173 } sfmt_fcnvds_compact;
177 unsigned char out_r0;
181 unsigned char in_fpul;
183 unsigned char out_rn;
184 } sfmt_stsl_fpul_compact;
189 unsigned char out_r0;
190 } sfmt_movw11_compact;
196 } sfmt_movw5_compact;
201 unsigned char out_r0;
202 } sfmt_movb10_compact;
208 } sfmt_movb5_compact;
212 unsigned char out_fpul;
213 unsigned char out_rn;
214 } sfmt_ldsl_fpul_compact;
218 unsigned char in_fmovm;
219 unsigned char out_fmovn;
220 } sfmt_fmov1_compact;
225 unsigned char out_rn;
231 unsigned char out_rn;
239 } sfmt_movl13_compact;
245 unsigned char out_rn;
246 } sfmt_movl12_compact;
252 unsigned char out_rn;
253 } sfmt_movl11_compact;
260 } sfmt_movl5_compact;
266 unsigned char out_rn;
267 } sfmt_movb8_compact;
274 } sfmt_movb3_compact;
279 unsigned char in_drm;
281 } sfmt_fmov9_compact;
287 unsigned char out_drn;
288 } sfmt_fmov8_compact;
292 unsigned char in_fmovm;
295 } sfmt_fmov7_compact;
299 unsigned char in_fmovm;
301 unsigned char out_rn;
302 } sfmt_fmov6_compact;
308 unsigned char out_fmovn;
309 } sfmt_fmov4_compact;
314 unsigned char out_fmovn;
315 unsigned char out_rm;
316 } sfmt_fmov3_compact;
320 unsigned char in_fsdm;
321 unsigned char in_fsdn;
322 unsigned char out_fsdn;
327 unsigned char in_rm64;
328 unsigned char in_rn64;
329 unsigned char out_rn64;
336 unsigned char out_rm;
337 unsigned char out_rn;
342 unsigned char in_fr0;
343 unsigned char in_frm;
344 unsigned char in_frn;
345 unsigned char out_frn;
347 // This one is for chain/cti-chain virtual insns.
349 // Number of insns in pbb.
351 // This is used by chain insns and by untaken conditional branches.
352 sh2a_fpu_scache* next;
353 sh2a_fpu_scache* branch_target;
355 // This one is for `before' virtual insns.
357 // The cache entry of the real insn.
358 sh2a_fpu_scache* insn;
362 // Simulator instruction cache.
364 struct sh2a_fpu_scache {
371 // PC of this instruction.
375 sh2a_fpu_idesc* idesc;
378 sh2a_fpu_sem_fields fields;
382 // Only used if profiling or parallel execution support enabled during
384 unsigned long long written;
387 // decode given instruction
388 void decode (sh2a_fpu_cpu* current_cpu, PCADDR pc, sh2a_fpu_insn_word base_insn, sh2a_fpu_insn_word entire_insn);
391 } // end sh2a_fpu namespace
393 // Decls of each semantic fn.
395 using sh2a_fpu::sh2a_fpu_sem_fn;
396 extern sh2a_fpu_sem_fn sh2a_fpu_sem_x_invalid;
397 extern sh2a_fpu_sem_fn sh2a_fpu_sem_add_compact;
398 extern sh2a_fpu_sem_fn sh2a_fpu_sem_addi_compact;
399 extern sh2a_fpu_sem_fn sh2a_fpu_sem_addc_compact;
400 extern sh2a_fpu_sem_fn sh2a_fpu_sem_addv_compact;
401 extern sh2a_fpu_sem_fn sh2a_fpu_sem_and_compact;
402 extern sh2a_fpu_sem_fn sh2a_fpu_sem_andi_compact;
403 extern sh2a_fpu_sem_fn sh2a_fpu_sem_andb_compact;
404 extern sh2a_fpu_sem_fn sh2a_fpu_sem_bf_compact;
405 extern sh2a_fpu_sem_fn sh2a_fpu_sem_bfs_compact;
406 extern sh2a_fpu_sem_fn sh2a_fpu_sem_bra_compact;
407 extern sh2a_fpu_sem_fn sh2a_fpu_sem_braf_compact;
408 extern sh2a_fpu_sem_fn sh2a_fpu_sem_bsr_compact;
409 extern sh2a_fpu_sem_fn sh2a_fpu_sem_bsrf_compact;
410 extern sh2a_fpu_sem_fn sh2a_fpu_sem_bt_compact;
411 extern sh2a_fpu_sem_fn sh2a_fpu_sem_bts_compact;
412 extern sh2a_fpu_sem_fn sh2a_fpu_sem_clrmac_compact;
413 extern sh2a_fpu_sem_fn sh2a_fpu_sem_clrt_compact;
414 extern sh2a_fpu_sem_fn sh2a_fpu_sem_cmpeq_compact;
415 extern sh2a_fpu_sem_fn sh2a_fpu_sem_cmpeqi_compact;
416 extern sh2a_fpu_sem_fn sh2a_fpu_sem_cmpge_compact;
417 extern sh2a_fpu_sem_fn sh2a_fpu_sem_cmpgt_compact;
418 extern sh2a_fpu_sem_fn sh2a_fpu_sem_cmphi_compact;
419 extern sh2a_fpu_sem_fn sh2a_fpu_sem_cmphs_compact;
420 extern sh2a_fpu_sem_fn sh2a_fpu_sem_cmppl_compact;
421 extern sh2a_fpu_sem_fn sh2a_fpu_sem_cmppz_compact;
422 extern sh2a_fpu_sem_fn sh2a_fpu_sem_cmpstr_compact;
423 extern sh2a_fpu_sem_fn sh2a_fpu_sem_div0s_compact;
424 extern sh2a_fpu_sem_fn sh2a_fpu_sem_div0u_compact;
425 extern sh2a_fpu_sem_fn sh2a_fpu_sem_div1_compact;
426 extern sh2a_fpu_sem_fn sh2a_fpu_sem_divu_compact;
427 extern sh2a_fpu_sem_fn sh2a_fpu_sem_mulr_compact;
428 extern sh2a_fpu_sem_fn sh2a_fpu_sem_dmulsl_compact;
429 extern sh2a_fpu_sem_fn sh2a_fpu_sem_dmulul_compact;
430 extern sh2a_fpu_sem_fn sh2a_fpu_sem_dt_compact;
431 extern sh2a_fpu_sem_fn sh2a_fpu_sem_extsb_compact;
432 extern sh2a_fpu_sem_fn sh2a_fpu_sem_extsw_compact;
433 extern sh2a_fpu_sem_fn sh2a_fpu_sem_extub_compact;
434 extern sh2a_fpu_sem_fn sh2a_fpu_sem_extuw_compact;
435 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fabs_compact;
436 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fadd_compact;
437 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fcmpeq_compact;
438 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fcmpgt_compact;
439 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fcnvds_compact;
440 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fcnvsd_compact;
441 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fdiv_compact;
442 extern sh2a_fpu_sem_fn sh2a_fpu_sem_flds_compact;
443 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fldi0_compact;
444 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fldi1_compact;
445 extern sh2a_fpu_sem_fn sh2a_fpu_sem_float_compact;
446 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fmac_compact;
447 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fmov1_compact;
448 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fmov2_compact;
449 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fmov3_compact;
450 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fmov4_compact;
451 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fmov5_compact;
452 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fmov6_compact;
453 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fmov7_compact;
454 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fmov8_compact;
455 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fmov9_compact;
456 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fmul_compact;
457 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fneg_compact;
458 extern sh2a_fpu_sem_fn sh2a_fpu_sem_frchg_compact;
459 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fschg_compact;
460 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fsqrt_compact;
461 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fsts_compact;
462 extern sh2a_fpu_sem_fn sh2a_fpu_sem_fsub_compact;
463 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ftrc_compact;
464 extern sh2a_fpu_sem_fn sh2a_fpu_sem_jmp_compact;
465 extern sh2a_fpu_sem_fn sh2a_fpu_sem_jsr_compact;
466 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ldc_gbr_compact;
467 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ldc_vbr_compact;
468 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ldc_sr_compact;
469 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ldcl_gbr_compact;
470 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ldcl_vbr_compact;
471 extern sh2a_fpu_sem_fn sh2a_fpu_sem_lds_fpscr_compact;
472 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ldsl_fpscr_compact;
473 extern sh2a_fpu_sem_fn sh2a_fpu_sem_lds_fpul_compact;
474 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ldsl_fpul_compact;
475 extern sh2a_fpu_sem_fn sh2a_fpu_sem_lds_mach_compact;
476 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ldsl_mach_compact;
477 extern sh2a_fpu_sem_fn sh2a_fpu_sem_lds_macl_compact;
478 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ldsl_macl_compact;
479 extern sh2a_fpu_sem_fn sh2a_fpu_sem_lds_pr_compact;
480 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ldsl_pr_compact;
481 extern sh2a_fpu_sem_fn sh2a_fpu_sem_macl_compact;
482 extern sh2a_fpu_sem_fn sh2a_fpu_sem_macw_compact;
483 extern sh2a_fpu_sem_fn sh2a_fpu_sem_mov_compact;
484 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movi_compact;
485 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movi20_compact;
486 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movb1_compact;
487 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movb2_compact;
488 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movb3_compact;
489 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movb4_compact;
490 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movb5_compact;
491 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movb6_compact;
492 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movb7_compact;
493 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movb8_compact;
494 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movb9_compact;
495 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movb10_compact;
496 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl1_compact;
497 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl2_compact;
498 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl3_compact;
499 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl4_compact;
500 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl5_compact;
501 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl6_compact;
502 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl7_compact;
503 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl8_compact;
504 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl9_compact;
505 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl10_compact;
506 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl11_compact;
507 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl12_compact;
508 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movl13_compact;
509 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movw1_compact;
510 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movw2_compact;
511 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movw3_compact;
512 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movw4_compact;
513 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movw5_compact;
514 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movw6_compact;
515 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movw7_compact;
516 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movw8_compact;
517 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movw9_compact;
518 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movw10_compact;
519 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movw11_compact;
520 extern sh2a_fpu_sem_fn sh2a_fpu_sem_mova_compact;
521 extern sh2a_fpu_sem_fn sh2a_fpu_sem_movt_compact;
522 extern sh2a_fpu_sem_fn sh2a_fpu_sem_mull_compact;
523 extern sh2a_fpu_sem_fn sh2a_fpu_sem_mulsw_compact;
524 extern sh2a_fpu_sem_fn sh2a_fpu_sem_muluw_compact;
525 extern sh2a_fpu_sem_fn sh2a_fpu_sem_neg_compact;
526 extern sh2a_fpu_sem_fn sh2a_fpu_sem_negc_compact;
527 extern sh2a_fpu_sem_fn sh2a_fpu_sem_nop_compact;
528 extern sh2a_fpu_sem_fn sh2a_fpu_sem_not_compact;
529 extern sh2a_fpu_sem_fn sh2a_fpu_sem_or_compact;
530 extern sh2a_fpu_sem_fn sh2a_fpu_sem_ori_compact;
531 extern sh2a_fpu_sem_fn sh2a_fpu_sem_orb_compact;
532 extern sh2a_fpu_sem_fn sh2a_fpu_sem_rotcl_compact;
533 extern sh2a_fpu_sem_fn sh2a_fpu_sem_rotcr_compact;
534 extern sh2a_fpu_sem_fn sh2a_fpu_sem_rotl_compact;
535 extern sh2a_fpu_sem_fn sh2a_fpu_sem_rotr_compact;
536 extern sh2a_fpu_sem_fn sh2a_fpu_sem_rts_compact;
537 extern sh2a_fpu_sem_fn sh2a_fpu_sem_sett_compact;
538 extern sh2a_fpu_sem_fn sh2a_fpu_sem_shad_compact;
539 extern sh2a_fpu_sem_fn sh2a_fpu_sem_shal_compact;
540 extern sh2a_fpu_sem_fn sh2a_fpu_sem_shar_compact;
541 extern sh2a_fpu_sem_fn sh2a_fpu_sem_shll_compact;
542 extern sh2a_fpu_sem_fn sh2a_fpu_sem_shll2_compact;
543 extern sh2a_fpu_sem_fn sh2a_fpu_sem_shll8_compact;
544 extern sh2a_fpu_sem_fn sh2a_fpu_sem_shll16_compact;
545 extern sh2a_fpu_sem_fn sh2a_fpu_sem_shlr_compact;
546 extern sh2a_fpu_sem_fn sh2a_fpu_sem_shlr2_compact;
547 extern sh2a_fpu_sem_fn sh2a_fpu_sem_shlr8_compact;
548 extern sh2a_fpu_sem_fn sh2a_fpu_sem_shlr16_compact;
549 extern sh2a_fpu_sem_fn sh2a_fpu_sem_stc_gbr_compact;
550 extern sh2a_fpu_sem_fn sh2a_fpu_sem_stc_vbr_compact;
551 extern sh2a_fpu_sem_fn sh2a_fpu_sem_stcl_gbr_compact;
552 extern sh2a_fpu_sem_fn sh2a_fpu_sem_stcl_vbr_compact;
553 extern sh2a_fpu_sem_fn sh2a_fpu_sem_sts_fpscr_compact;
554 extern sh2a_fpu_sem_fn sh2a_fpu_sem_stsl_fpscr_compact;
555 extern sh2a_fpu_sem_fn sh2a_fpu_sem_sts_fpul_compact;
556 extern sh2a_fpu_sem_fn sh2a_fpu_sem_stsl_fpul_compact;
557 extern sh2a_fpu_sem_fn sh2a_fpu_sem_sts_mach_compact;
558 extern sh2a_fpu_sem_fn sh2a_fpu_sem_stsl_mach_compact;
559 extern sh2a_fpu_sem_fn sh2a_fpu_sem_sts_macl_compact;
560 extern sh2a_fpu_sem_fn sh2a_fpu_sem_stsl_macl_compact;
561 extern sh2a_fpu_sem_fn sh2a_fpu_sem_sts_pr_compact;
562 extern sh2a_fpu_sem_fn sh2a_fpu_sem_stsl_pr_compact;
563 extern sh2a_fpu_sem_fn sh2a_fpu_sem_sub_compact;
564 extern sh2a_fpu_sem_fn sh2a_fpu_sem_subc_compact;
565 extern sh2a_fpu_sem_fn sh2a_fpu_sem_subv_compact;
566 extern sh2a_fpu_sem_fn sh2a_fpu_sem_swapb_compact;
567 extern sh2a_fpu_sem_fn sh2a_fpu_sem_swapw_compact;
568 extern sh2a_fpu_sem_fn sh2a_fpu_sem_tasb_compact;
569 extern sh2a_fpu_sem_fn sh2a_fpu_sem_trapa_compact;
570 extern sh2a_fpu_sem_fn sh2a_fpu_sem_tst_compact;
571 extern sh2a_fpu_sem_fn sh2a_fpu_sem_tsti_compact;
572 extern sh2a_fpu_sem_fn sh2a_fpu_sem_tstb_compact;
573 extern sh2a_fpu_sem_fn sh2a_fpu_sem_xor_compact;
574 extern sh2a_fpu_sem_fn sh2a_fpu_sem_xori_compact;
575 extern sh2a_fpu_sem_fn sh2a_fpu_sem_xorb_compact;
576 extern sh2a_fpu_sem_fn sh2a_fpu_sem_xtrct_compact;
578 #endif /* SH2A_FPU_DECODE_H */