1 /* Simulator instruction decoder for sh2e.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 2000-2009 Red Hat, Inc.
7 This file is part of the Red Hat simulators.
18 using namespace sh2e; // FIXME: namespace organization still wip
21 // The instruction descriptor array.
23 sh2e_idesc sh2e_idesc::idesc_table[SH2E_INSN_XTRCT_COMPACT + 1] =
25 { sh2e_sem_x_invalid, "X_INVALID", SH2E_INSN_X_INVALID, { 0|(1<<CGEN_INSN_VIRTUAL), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
26 { sh2e_sem_add_compact, "ADD_COMPACT", SH2E_INSN_ADD_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
27 { sh2e_sem_addi_compact, "ADDI_COMPACT", SH2E_INSN_ADDI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_NONE } },
28 { sh2e_sem_addc_compact, "ADDC_COMPACT", SH2E_INSN_ADDC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
29 { sh2e_sem_addv_compact, "ADDV_COMPACT", SH2E_INSN_ADDV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
30 { sh2e_sem_and_compact, "AND_COMPACT", SH2E_INSN_AND_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
31 { sh2e_sem_andi_compact, "ANDI_COMPACT", SH2E_INSN_ANDI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
32 { sh2e_sem_andb_compact, "ANDB_COMPACT", SH2E_INSN_ANDB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
33 { sh2e_sem_bf_compact, "BF_COMPACT", SH2E_INSN_BF_COMPACT, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
34 { sh2e_sem_bfs_compact, "BFS_COMPACT", SH2E_INSN_BFS_COMPACT, { 0|(1<<CGEN_INSN_DELAY_SLOT)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
35 { sh2e_sem_bra_compact, "BRA_COMPACT", SH2E_INSN_BRA_COMPACT, { 0|(1<<CGEN_INSN_DELAY_SLOT)|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
36 { sh2e_sem_braf_compact, "BRAF_COMPACT", SH2E_INSN_BRAF_COMPACT, { 0|(1<<CGEN_INSN_DELAY_SLOT)|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_BR } },
37 { sh2e_sem_bsr_compact, "BSR_COMPACT", SH2E_INSN_BSR_COMPACT, { 0|(1<<CGEN_INSN_DELAY_SLOT)|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
38 { sh2e_sem_bsrf_compact, "BSRF_COMPACT", SH2E_INSN_BSRF_COMPACT, { 0|(1<<CGEN_INSN_DELAY_SLOT)|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_BR } },
39 { sh2e_sem_bt_compact, "BT_COMPACT", SH2E_INSN_BT_COMPACT, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
40 { sh2e_sem_bts_compact, "BTS_COMPACT", SH2E_INSN_BTS_COMPACT, { 0|(1<<CGEN_INSN_DELAY_SLOT)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
41 { sh2e_sem_clrmac_compact, "CLRMAC_COMPACT", SH2E_INSN_CLRMAC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
42 { sh2e_sem_clrt_compact, "CLRT_COMPACT", SH2E_INSN_CLRT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
43 { sh2e_sem_cmpeq_compact, "CMPEQ_COMPACT", SH2E_INSN_CMPEQ_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
44 { sh2e_sem_cmpeqi_compact, "CMPEQI_COMPACT", SH2E_INSN_CMPEQI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
45 { sh2e_sem_cmpge_compact, "CMPGE_COMPACT", SH2E_INSN_CMPGE_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
46 { sh2e_sem_cmpgt_compact, "CMPGT_COMPACT", SH2E_INSN_CMPGT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
47 { sh2e_sem_cmphi_compact, "CMPHI_COMPACT", SH2E_INSN_CMPHI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
48 { sh2e_sem_cmphs_compact, "CMPHS_COMPACT", SH2E_INSN_CMPHS_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
49 { sh2e_sem_cmppl_compact, "CMPPL_COMPACT", SH2E_INSN_CMPPL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
50 { sh2e_sem_cmppz_compact, "CMPPZ_COMPACT", SH2E_INSN_CMPPZ_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
51 { sh2e_sem_cmpstr_compact, "CMPSTR_COMPACT", SH2E_INSN_CMPSTR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
52 { sh2e_sem_div0s_compact, "DIV0S_COMPACT", SH2E_INSN_DIV0S_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
53 { sh2e_sem_div0u_compact, "DIV0U_COMPACT", SH2E_INSN_DIV0U_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
54 { sh2e_sem_div1_compact, "DIV1_COMPACT", SH2E_INSN_DIV1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
55 { sh2e_sem_dmulsl_compact, "DMULSL_COMPACT", SH2E_INSN_DMULSL_COMPACT, { 0, (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
56 { sh2e_sem_dmulul_compact, "DMULUL_COMPACT", SH2E_INSN_DMULUL_COMPACT, { 0, (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
57 { sh2e_sem_dt_compact, "DT_COMPACT", SH2E_INSN_DT_COMPACT, { 0, (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
58 { sh2e_sem_extsb_compact, "EXTSB_COMPACT", SH2E_INSN_EXTSB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
59 { sh2e_sem_extsw_compact, "EXTSW_COMPACT", SH2E_INSN_EXTSW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
60 { sh2e_sem_extub_compact, "EXTUB_COMPACT", SH2E_INSN_EXTUB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
61 { sh2e_sem_extuw_compact, "EXTUW_COMPACT", SH2E_INSN_EXTUW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
62 { sh2e_sem_fabs_compact, "FABS_COMPACT", SH2E_INSN_FABS_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
63 { sh2e_sem_fadd_compact, "FADD_COMPACT", SH2E_INSN_FADD_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
64 { sh2e_sem_fcmpeq_compact, "FCMPEQ_COMPACT", SH2E_INSN_FCMPEQ_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
65 { sh2e_sem_fcmpgt_compact, "FCMPGT_COMPACT", SH2E_INSN_FCMPGT_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
66 { sh2e_sem_fdiv_compact, "FDIV_COMPACT", SH2E_INSN_FDIV_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
67 { sh2e_sem_flds_compact, "FLDS_COMPACT", SH2E_INSN_FLDS_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
68 { sh2e_sem_fldi0_compact, "FLDI0_COMPACT", SH2E_INSN_FLDI0_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
69 { sh2e_sem_fldi1_compact, "FLDI1_COMPACT", SH2E_INSN_FLDI1_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
70 { sh2e_sem_float_compact, "FLOAT_COMPACT", SH2E_INSN_FLOAT_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
71 { sh2e_sem_fmac_compact, "FMAC_COMPACT", SH2E_INSN_FMAC_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
72 { sh2e_sem_fmov1_compact, "FMOV1_COMPACT", SH2E_INSN_FMOV1_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
73 { sh2e_sem_fmov2_compact, "FMOV2_COMPACT", SH2E_INSN_FMOV2_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
74 { sh2e_sem_fmov3_compact, "FMOV3_COMPACT", SH2E_INSN_FMOV3_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
75 { sh2e_sem_fmov4_compact, "FMOV4_COMPACT", SH2E_INSN_FMOV4_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
76 { sh2e_sem_fmov5_compact, "FMOV5_COMPACT", SH2E_INSN_FMOV5_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
77 { sh2e_sem_fmov6_compact, "FMOV6_COMPACT", SH2E_INSN_FMOV6_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
78 { sh2e_sem_fmov7_compact, "FMOV7_COMPACT", SH2E_INSN_FMOV7_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
79 { sh2e_sem_fmul_compact, "FMUL_COMPACT", SH2E_INSN_FMUL_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
80 { sh2e_sem_fneg_compact, "FNEG_COMPACT", SH2E_INSN_FNEG_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
81 { sh2e_sem_frchg_compact, "FRCHG_COMPACT", SH2E_INSN_FRCHG_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
82 { sh2e_sem_fschg_compact, "FSCHG_COMPACT", SH2E_INSN_FSCHG_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
83 { sh2e_sem_fsts_compact, "FSTS_COMPACT", SH2E_INSN_FSTS_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
84 { sh2e_sem_fsub_compact, "FSUB_COMPACT", SH2E_INSN_FSUB_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
85 { sh2e_sem_ftrc_compact, "FTRC_COMPACT", SH2E_INSN_FTRC_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
86 { sh2e_sem_jmp_compact, "JMP_COMPACT", SH2E_INSN_JMP_COMPACT, { 0|(1<<CGEN_INSN_DELAY_SLOT)|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_BR } },
87 { sh2e_sem_jsr_compact, "JSR_COMPACT", SH2E_INSN_JSR_COMPACT, { 0|(1<<CGEN_INSN_DELAY_SLOT)|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_BR } },
88 { sh2e_sem_ldc_gbr_compact, "LDC_GBR_COMPACT", SH2E_INSN_LDC_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
89 { sh2e_sem_ldc_vbr_compact, "LDC_VBR_COMPACT", SH2E_INSN_LDC_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
90 { sh2e_sem_ldc_sr_compact, "LDC_SR_COMPACT", SH2E_INSN_LDC_SR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
91 { sh2e_sem_ldcl_gbr_compact, "LDCL_GBR_COMPACT", SH2E_INSN_LDCL_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
92 { sh2e_sem_ldcl_vbr_compact, "LDCL_VBR_COMPACT", SH2E_INSN_LDCL_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
93 { sh2e_sem_lds_fpscr_compact, "LDS_FPSCR_COMPACT", SH2E_INSN_LDS_FPSCR_COMPACT, { 0, (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
94 { sh2e_sem_ldsl_fpscr_compact, "LDSL_FPSCR_COMPACT", SH2E_INSN_LDSL_FPSCR_COMPACT, { 0, (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
95 { sh2e_sem_lds_fpul_compact, "LDS_FPUL_COMPACT", SH2E_INSN_LDS_FPUL_COMPACT, { 0, (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
96 { sh2e_sem_ldsl_fpul_compact, "LDSL_FPUL_COMPACT", SH2E_INSN_LDSL_FPUL_COMPACT, { 0, (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
97 { sh2e_sem_lds_mach_compact, "LDS_MACH_COMPACT", SH2E_INSN_LDS_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
98 { sh2e_sem_ldsl_mach_compact, "LDSL_MACH_COMPACT", SH2E_INSN_LDSL_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
99 { sh2e_sem_lds_macl_compact, "LDS_MACL_COMPACT", SH2E_INSN_LDS_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
100 { sh2e_sem_ldsl_macl_compact, "LDSL_MACL_COMPACT", SH2E_INSN_LDSL_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
101 { sh2e_sem_lds_pr_compact, "LDS_PR_COMPACT", SH2E_INSN_LDS_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
102 { sh2e_sem_ldsl_pr_compact, "LDSL_PR_COMPACT", SH2E_INSN_LDSL_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
103 { sh2e_sem_macl_compact, "MACL_COMPACT", SH2E_INSN_MACL_COMPACT, { 0, (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
104 { sh2e_sem_macw_compact, "MACW_COMPACT", SH2E_INSN_MACW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
105 { sh2e_sem_mov_compact, "MOV_COMPACT", SH2E_INSN_MOV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_MT } },
106 { sh2e_sem_movi_compact, "MOVI_COMPACT", SH2E_INSN_MOVI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_MT } },
107 { sh2e_sem_movb1_compact, "MOVB1_COMPACT", SH2E_INSN_MOVB1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
108 { sh2e_sem_movb2_compact, "MOVB2_COMPACT", SH2E_INSN_MOVB2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
109 { sh2e_sem_movb3_compact, "MOVB3_COMPACT", SH2E_INSN_MOVB3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
110 { sh2e_sem_movb4_compact, "MOVB4_COMPACT", SH2E_INSN_MOVB4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
111 { sh2e_sem_movb5_compact, "MOVB5_COMPACT", SH2E_INSN_MOVB5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
112 { sh2e_sem_movb6_compact, "MOVB6_COMPACT", SH2E_INSN_MOVB6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
113 { sh2e_sem_movb7_compact, "MOVB7_COMPACT", SH2E_INSN_MOVB7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
114 { sh2e_sem_movb8_compact, "MOVB8_COMPACT", SH2E_INSN_MOVB8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
115 { sh2e_sem_movb9_compact, "MOVB9_COMPACT", SH2E_INSN_MOVB9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
116 { sh2e_sem_movb10_compact, "MOVB10_COMPACT", SH2E_INSN_MOVB10_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
117 { sh2e_sem_movl1_compact, "MOVL1_COMPACT", SH2E_INSN_MOVL1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
118 { sh2e_sem_movl2_compact, "MOVL2_COMPACT", SH2E_INSN_MOVL2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
119 { sh2e_sem_movl3_compact, "MOVL3_COMPACT", SH2E_INSN_MOVL3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
120 { sh2e_sem_movl4_compact, "MOVL4_COMPACT", SH2E_INSN_MOVL4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
121 { sh2e_sem_movl5_compact, "MOVL5_COMPACT", SH2E_INSN_MOVL5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
122 { sh2e_sem_movl6_compact, "MOVL6_COMPACT", SH2E_INSN_MOVL6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
123 { sh2e_sem_movl7_compact, "MOVL7_COMPACT", SH2E_INSN_MOVL7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
124 { sh2e_sem_movl8_compact, "MOVL8_COMPACT", SH2E_INSN_MOVL8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
125 { sh2e_sem_movl9_compact, "MOVL9_COMPACT", SH2E_INSN_MOVL9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
126 { sh2e_sem_movl10_compact, "MOVL10_COMPACT", SH2E_INSN_MOVL10_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
127 { sh2e_sem_movl11_compact, "MOVL11_COMPACT", SH2E_INSN_MOVL11_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
128 { sh2e_sem_movw1_compact, "MOVW1_COMPACT", SH2E_INSN_MOVW1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
129 { sh2e_sem_movw2_compact, "MOVW2_COMPACT", SH2E_INSN_MOVW2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
130 { sh2e_sem_movw3_compact, "MOVW3_COMPACT", SH2E_INSN_MOVW3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
131 { sh2e_sem_movw4_compact, "MOVW4_COMPACT", SH2E_INSN_MOVW4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
132 { sh2e_sem_movw5_compact, "MOVW5_COMPACT", SH2E_INSN_MOVW5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
133 { sh2e_sem_movw6_compact, "MOVW6_COMPACT", SH2E_INSN_MOVW6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
134 { sh2e_sem_movw7_compact, "MOVW7_COMPACT", SH2E_INSN_MOVW7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
135 { sh2e_sem_movw8_compact, "MOVW8_COMPACT", SH2E_INSN_MOVW8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
136 { sh2e_sem_movw9_compact, "MOVW9_COMPACT", SH2E_INSN_MOVW9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
137 { sh2e_sem_movw10_compact, "MOVW10_COMPACT", SH2E_INSN_MOVW10_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
138 { sh2e_sem_movw11_compact, "MOVW11_COMPACT", SH2E_INSN_MOVW11_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
139 { sh2e_sem_mova_compact, "MOVA_COMPACT", SH2E_INSN_MOVA_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_LS } },
140 { sh2e_sem_movt_compact, "MOVT_COMPACT", SH2E_INSN_MOVT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
141 { sh2e_sem_mull_compact, "MULL_COMPACT", SH2E_INSN_MULL_COMPACT, { 0, (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
142 { sh2e_sem_mulsw_compact, "MULSW_COMPACT", SH2E_INSN_MULSW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
143 { sh2e_sem_muluw_compact, "MULUW_COMPACT", SH2E_INSN_MULUW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
144 { sh2e_sem_neg_compact, "NEG_COMPACT", SH2E_INSN_NEG_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
145 { sh2e_sem_negc_compact, "NEGC_COMPACT", SH2E_INSN_NEGC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
146 { sh2e_sem_nop_compact, "NOP_COMPACT", SH2E_INSN_NOP_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_MT } },
147 { sh2e_sem_not_compact, "NOT_COMPACT", SH2E_INSN_NOT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
148 { sh2e_sem_or_compact, "OR_COMPACT", SH2E_INSN_OR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
149 { sh2e_sem_ori_compact, "ORI_COMPACT", SH2E_INSN_ORI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
150 { sh2e_sem_orb_compact, "ORB_COMPACT", SH2E_INSN_ORB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
151 { sh2e_sem_rotcl_compact, "ROTCL_COMPACT", SH2E_INSN_ROTCL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
152 { sh2e_sem_rotcr_compact, "ROTCR_COMPACT", SH2E_INSN_ROTCR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
153 { sh2e_sem_rotl_compact, "ROTL_COMPACT", SH2E_INSN_ROTL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
154 { sh2e_sem_rotr_compact, "ROTR_COMPACT", SH2E_INSN_ROTR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
155 { sh2e_sem_rts_compact, "RTS_COMPACT", SH2E_INSN_RTS_COMPACT, { 0|(1<<CGEN_INSN_DELAY_SLOT)|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_BR } },
156 { sh2e_sem_sett_compact, "SETT_COMPACT", SH2E_INSN_SETT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
157 { sh2e_sem_shal_compact, "SHAL_COMPACT", SH2E_INSN_SHAL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
158 { sh2e_sem_shar_compact, "SHAR_COMPACT", SH2E_INSN_SHAR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
159 { sh2e_sem_shll_compact, "SHLL_COMPACT", SH2E_INSN_SHLL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
160 { sh2e_sem_shll2_compact, "SHLL2_COMPACT", SH2E_INSN_SHLL2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
161 { sh2e_sem_shll8_compact, "SHLL8_COMPACT", SH2E_INSN_SHLL8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
162 { sh2e_sem_shll16_compact, "SHLL16_COMPACT", SH2E_INSN_SHLL16_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
163 { sh2e_sem_shlr_compact, "SHLR_COMPACT", SH2E_INSN_SHLR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
164 { sh2e_sem_shlr2_compact, "SHLR2_COMPACT", SH2E_INSN_SHLR2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
165 { sh2e_sem_shlr8_compact, "SHLR8_COMPACT", SH2E_INSN_SHLR8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
166 { sh2e_sem_shlr16_compact, "SHLR16_COMPACT", SH2E_INSN_SHLR16_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
167 { sh2e_sem_stc_gbr_compact, "STC_GBR_COMPACT", SH2E_INSN_STC_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
168 { sh2e_sem_stc_vbr_compact, "STC_VBR_COMPACT", SH2E_INSN_STC_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
169 { sh2e_sem_stcl_gbr_compact, "STCL_GBR_COMPACT", SH2E_INSN_STCL_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
170 { sh2e_sem_stcl_vbr_compact, "STCL_VBR_COMPACT", SH2E_INSN_STCL_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
171 { sh2e_sem_sts_fpscr_compact, "STS_FPSCR_COMPACT", SH2E_INSN_STS_FPSCR_COMPACT, { 0, (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
172 { sh2e_sem_stsl_fpscr_compact, "STSL_FPSCR_COMPACT", SH2E_INSN_STSL_FPSCR_COMPACT, { 0, (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
173 { sh2e_sem_sts_fpul_compact, "STS_FPUL_COMPACT", SH2E_INSN_STS_FPUL_COMPACT, { 0, (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
174 { sh2e_sem_stsl_fpul_compact, "STSL_FPUL_COMPACT", SH2E_INSN_STSL_FPUL_COMPACT, { 0, (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
175 { sh2e_sem_sts_mach_compact, "STS_MACH_COMPACT", SH2E_INSN_STS_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
176 { sh2e_sem_stsl_mach_compact, "STSL_MACH_COMPACT", SH2E_INSN_STSL_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
177 { sh2e_sem_sts_macl_compact, "STS_MACL_COMPACT", SH2E_INSN_STS_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
178 { sh2e_sem_stsl_macl_compact, "STSL_MACL_COMPACT", SH2E_INSN_STSL_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
179 { sh2e_sem_sts_pr_compact, "STS_PR_COMPACT", SH2E_INSN_STS_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
180 { sh2e_sem_stsl_pr_compact, "STSL_PR_COMPACT", SH2E_INSN_STSL_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
181 { sh2e_sem_sub_compact, "SUB_COMPACT", SH2E_INSN_SUB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
182 { sh2e_sem_subc_compact, "SUBC_COMPACT", SH2E_INSN_SUBC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
183 { sh2e_sem_subv_compact, "SUBV_COMPACT", SH2E_INSN_SUBV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
184 { sh2e_sem_swapb_compact, "SWAPB_COMPACT", SH2E_INSN_SWAPB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
185 { sh2e_sem_swapw_compact, "SWAPW_COMPACT", SH2E_INSN_SWAPW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
186 { sh2e_sem_tasb_compact, "TASB_COMPACT", SH2E_INSN_TASB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
187 { sh2e_sem_trapa_compact, "TRAPA_COMPACT", SH2E_INSN_TRAPA_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
188 { sh2e_sem_tst_compact, "TST_COMPACT", SH2E_INSN_TST_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
189 { sh2e_sem_tsti_compact, "TSTI_COMPACT", SH2E_INSN_TSTI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
190 { sh2e_sem_tstb_compact, "TSTB_COMPACT", SH2E_INSN_TSTB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
191 { sh2e_sem_xor_compact, "XOR_COMPACT", SH2E_INSN_XOR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
192 { sh2e_sem_xori_compact, "XORI_COMPACT", SH2E_INSN_XORI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
193 { sh2e_sem_xorb_compact, "XORB_COMPACT", SH2E_INSN_XORB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
194 { sh2e_sem_xtrct_compact, "XTRCT_COMPACT", SH2E_INSN_XTRCT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
198 // Given a canonical virtual insn id, return the target specific one.
201 sh2e_idesc::lookup_virtual (virtual_insn_type vit)
205 case VIRTUAL_INSN_INVALID: return SH2E_INSN_X_INVALID;
206 case VIRTUAL_INSN_COND: return SH2E_INSN_X_INVALID;
212 // Declare extractor functions
215 sh2e_extract_sfmt_empty (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
217 sh2e_extract_sfmt_add_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
219 sh2e_extract_sfmt_addi_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
221 sh2e_extract_sfmt_addc_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
223 sh2e_extract_sfmt_addv_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
225 sh2e_extract_sfmt_and_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
227 sh2e_extract_sfmt_andi_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
229 sh2e_extract_sfmt_andb_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
231 sh2e_extract_sfmt_bf_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
233 sh2e_extract_sfmt_bfs_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
235 sh2e_extract_sfmt_bra_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
237 sh2e_extract_sfmt_braf_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
239 sh2e_extract_sfmt_bsr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
241 sh2e_extract_sfmt_bsrf_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
243 sh2e_extract_sfmt_clrmac_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
245 sh2e_extract_sfmt_clrt_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
247 sh2e_extract_sfmt_cmpeq_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
249 sh2e_extract_sfmt_cmpeqi_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
251 sh2e_extract_sfmt_cmppl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
253 sh2e_extract_sfmt_div0s_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
255 sh2e_extract_sfmt_div0u_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
257 sh2e_extract_sfmt_div1_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
259 sh2e_extract_sfmt_dmulsl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
261 sh2e_extract_sfmt_dt_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
263 sh2e_extract_sfmt_extsb_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
265 sh2e_extract_sfmt_fabs_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
267 sh2e_extract_sfmt_fadd_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
269 sh2e_extract_sfmt_fcmpeq_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
271 sh2e_extract_sfmt_flds_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
273 sh2e_extract_sfmt_fldi0_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
275 sh2e_extract_sfmt_float_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
277 sh2e_extract_sfmt_fmac_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
279 sh2e_extract_sfmt_fmov1_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
281 sh2e_extract_sfmt_fmov2_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
283 sh2e_extract_sfmt_fmov3_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
285 sh2e_extract_sfmt_fmov4_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
287 sh2e_extract_sfmt_fmov5_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
289 sh2e_extract_sfmt_fmov6_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
291 sh2e_extract_sfmt_fmov7_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
293 sh2e_extract_sfmt_frchg_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
295 sh2e_extract_sfmt_fschg_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
297 sh2e_extract_sfmt_fsts_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
299 sh2e_extract_sfmt_ftrc_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
301 sh2e_extract_sfmt_ldc_gbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
303 sh2e_extract_sfmt_ldc_vbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
305 sh2e_extract_sfmt_ldc_sr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
307 sh2e_extract_sfmt_ldcl_gbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
309 sh2e_extract_sfmt_ldcl_vbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
311 sh2e_extract_sfmt_lds_fpscr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
313 sh2e_extract_sfmt_ldsl_fpscr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
315 sh2e_extract_sfmt_lds_fpul_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
317 sh2e_extract_sfmt_ldsl_fpul_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
319 sh2e_extract_sfmt_lds_mach_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
321 sh2e_extract_sfmt_ldsl_mach_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
323 sh2e_extract_sfmt_lds_macl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
325 sh2e_extract_sfmt_ldsl_macl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
327 sh2e_extract_sfmt_lds_pr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
329 sh2e_extract_sfmt_ldsl_pr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
331 sh2e_extract_sfmt_macl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
333 sh2e_extract_sfmt_macw_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
335 sh2e_extract_sfmt_mov_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
337 sh2e_extract_sfmt_movi_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
339 sh2e_extract_sfmt_movb1_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
341 sh2e_extract_sfmt_movb2_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
343 sh2e_extract_sfmt_movb3_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
345 sh2e_extract_sfmt_movb4_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
347 sh2e_extract_sfmt_movb5_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
349 sh2e_extract_sfmt_movb6_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
351 sh2e_extract_sfmt_movb7_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
353 sh2e_extract_sfmt_movb8_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
355 sh2e_extract_sfmt_movb9_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
357 sh2e_extract_sfmt_movb10_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
359 sh2e_extract_sfmt_movl1_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
361 sh2e_extract_sfmt_movl2_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
363 sh2e_extract_sfmt_movl3_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
365 sh2e_extract_sfmt_movl4_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
367 sh2e_extract_sfmt_movl5_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
369 sh2e_extract_sfmt_movl6_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
371 sh2e_extract_sfmt_movl7_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
373 sh2e_extract_sfmt_movl8_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
375 sh2e_extract_sfmt_movl9_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
377 sh2e_extract_sfmt_movl10_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
379 sh2e_extract_sfmt_movl11_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
381 sh2e_extract_sfmt_movw1_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
383 sh2e_extract_sfmt_movw2_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
385 sh2e_extract_sfmt_movw3_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
387 sh2e_extract_sfmt_movw4_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
389 sh2e_extract_sfmt_movw5_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
391 sh2e_extract_sfmt_movw6_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
393 sh2e_extract_sfmt_movw7_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
395 sh2e_extract_sfmt_movw8_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
397 sh2e_extract_sfmt_movw9_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
399 sh2e_extract_sfmt_movw10_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
401 sh2e_extract_sfmt_movw11_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
403 sh2e_extract_sfmt_mova_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
405 sh2e_extract_sfmt_movt_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
407 sh2e_extract_sfmt_mull_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
409 sh2e_extract_sfmt_negc_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
411 sh2e_extract_sfmt_nop_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
413 sh2e_extract_sfmt_rotcl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
415 sh2e_extract_sfmt_rts_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
417 sh2e_extract_sfmt_shll2_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
419 sh2e_extract_sfmt_stc_gbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
421 sh2e_extract_sfmt_stc_vbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
423 sh2e_extract_sfmt_stcl_gbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
425 sh2e_extract_sfmt_stcl_vbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
427 sh2e_extract_sfmt_sts_fpscr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
429 sh2e_extract_sfmt_stsl_fpscr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
431 sh2e_extract_sfmt_sts_fpul_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
433 sh2e_extract_sfmt_stsl_fpul_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
435 sh2e_extract_sfmt_sts_mach_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
437 sh2e_extract_sfmt_stsl_mach_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
439 sh2e_extract_sfmt_sts_macl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
441 sh2e_extract_sfmt_stsl_macl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
443 sh2e_extract_sfmt_sts_pr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
445 sh2e_extract_sfmt_stsl_pr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
447 sh2e_extract_sfmt_tasb_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
449 sh2e_extract_sfmt_trapa_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
451 sh2e_extract_sfmt_tsti_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
453 sh2e_extract_sfmt_tstb_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn);
455 // Fetch & decode instruction
457 sh2e_scache::decode (sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn)
459 /* Result of decoder. */
460 SH2E_INSN_TYPE itype;
463 sh2e_insn_word insn = base_insn;
466 unsigned int val = (((insn >> 21) & (15 << 7)) | ((insn >> 16) & (127 << 0)));
470 entire_insn = entire_insn >> 16;
471 if ((entire_insn & 0xf0ff) == 0x3)
472 { itype = SH2E_INSN_BSRF_COMPACT; sh2e_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
473 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
474 case 4 : /* fall through */
475 case 20 : /* fall through */
476 case 36 : /* fall through */
477 case 52 : /* fall through */
478 case 68 : /* fall through */
479 case 84 : /* fall through */
480 case 100 : /* fall through */
482 entire_insn = entire_insn >> 16;
483 itype = SH2E_INSN_MOVB3_COMPACT; sh2e_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
484 case 5 : /* fall through */
485 case 21 : /* fall through */
486 case 37 : /* fall through */
487 case 53 : /* fall through */
488 case 69 : /* fall through */
489 case 85 : /* fall through */
490 case 101 : /* fall through */
492 entire_insn = entire_insn >> 16;
493 itype = SH2E_INSN_MOVW3_COMPACT; sh2e_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
494 case 6 : /* fall through */
495 case 22 : /* fall through */
496 case 38 : /* fall through */
497 case 54 : /* fall through */
498 case 70 : /* fall through */
499 case 86 : /* fall through */
500 case 102 : /* fall through */
502 entire_insn = entire_insn >> 16;
503 itype = SH2E_INSN_MOVL3_COMPACT; sh2e_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
504 case 7 : /* fall through */
505 case 23 : /* fall through */
506 case 39 : /* fall through */
507 case 55 : /* fall through */
508 case 71 : /* fall through */
509 case 87 : /* fall through */
510 case 103 : /* fall through */
512 entire_insn = entire_insn >> 16;
513 itype = SH2E_INSN_MULL_COMPACT; sh2e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
515 entire_insn = entire_insn >> 16;
516 if ((entire_insn & 0xffff) == 0x8)
517 { itype = SH2E_INSN_CLRT_COMPACT; sh2e_extract_sfmt_clrt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
518 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
520 entire_insn = entire_insn >> 16;
521 if ((entire_insn & 0xffff) == 0x9)
522 { itype = SH2E_INSN_NOP_COMPACT; sh2e_extract_sfmt_nop_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
523 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
525 entire_insn = entire_insn >> 16;
526 if ((entire_insn & 0xf0ff) == 0xa)
527 { itype = SH2E_INSN_STS_MACH_COMPACT; sh2e_extract_sfmt_sts_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
528 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
530 entire_insn = entire_insn >> 16;
531 if ((entire_insn & 0xffff) == 0xb)
532 { itype = SH2E_INSN_RTS_COMPACT; sh2e_extract_sfmt_rts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
533 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
534 case 12 : /* fall through */
535 case 28 : /* fall through */
536 case 44 : /* fall through */
537 case 60 : /* fall through */
538 case 76 : /* fall through */
539 case 92 : /* fall through */
540 case 108 : /* fall through */
542 entire_insn = entire_insn >> 16;
543 itype = SH2E_INSN_MOVB8_COMPACT; sh2e_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
544 case 13 : /* fall through */
545 case 29 : /* fall through */
546 case 45 : /* fall through */
547 case 61 : /* fall through */
548 case 77 : /* fall through */
549 case 93 : /* fall through */
550 case 109 : /* fall through */
552 entire_insn = entire_insn >> 16;
553 itype = SH2E_INSN_MOVW8_COMPACT; sh2e_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
554 case 14 : /* fall through */
555 case 30 : /* fall through */
556 case 46 : /* fall through */
557 case 62 : /* fall through */
558 case 78 : /* fall through */
559 case 94 : /* fall through */
560 case 110 : /* fall through */
562 entire_insn = entire_insn >> 16;
563 itype = SH2E_INSN_MOVL8_COMPACT; sh2e_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
564 case 15 : /* fall through */
565 case 31 : /* fall through */
566 case 47 : /* fall through */
567 case 63 : /* fall through */
568 case 79 : /* fall through */
569 case 95 : /* fall through */
570 case 111 : /* fall through */
572 entire_insn = entire_insn >> 16;
573 itype = SH2E_INSN_MACL_COMPACT; sh2e_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
575 entire_insn = entire_insn >> 16;
576 if ((entire_insn & 0xf0ff) == 0x12)
577 { itype = SH2E_INSN_STC_GBR_COMPACT; sh2e_extract_sfmt_stc_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
578 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
580 entire_insn = entire_insn >> 16;
581 if ((entire_insn & 0xffff) == 0x18)
582 { itype = SH2E_INSN_SETT_COMPACT; sh2e_extract_sfmt_clrt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
583 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
585 entire_insn = entire_insn >> 16;
586 if ((entire_insn & 0xffff) == 0x19)
587 { itype = SH2E_INSN_DIV0U_COMPACT; sh2e_extract_sfmt_div0u_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
588 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
590 entire_insn = entire_insn >> 16;
591 if ((entire_insn & 0xf0ff) == 0x1a)
592 { itype = SH2E_INSN_STS_MACL_COMPACT; sh2e_extract_sfmt_sts_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
593 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
595 entire_insn = entire_insn >> 16;
596 if ((entire_insn & 0xf0ff) == 0x22)
597 { itype = SH2E_INSN_STC_VBR_COMPACT; sh2e_extract_sfmt_stc_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
598 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
600 entire_insn = entire_insn >> 16;
601 if ((entire_insn & 0xf0ff) == 0x23)
602 { itype = SH2E_INSN_BRAF_COMPACT; sh2e_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
603 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
605 entire_insn = entire_insn >> 16;
606 if ((entire_insn & 0xffff) == 0x28)
607 { itype = SH2E_INSN_CLRMAC_COMPACT; sh2e_extract_sfmt_clrmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
608 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
610 entire_insn = entire_insn >> 16;
611 if ((entire_insn & 0xf0ff) == 0x29)
612 { itype = SH2E_INSN_MOVT_COMPACT; sh2e_extract_sfmt_movt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
613 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
615 entire_insn = entire_insn >> 16;
616 if ((entire_insn & 0xf0ff) == 0x2a)
617 { itype = SH2E_INSN_STS_PR_COMPACT; sh2e_extract_sfmt_sts_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
618 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
620 entire_insn = entire_insn >> 16;
621 if ((entire_insn & 0xf0ff) == 0x5a)
622 { itype = SH2E_INSN_STS_FPUL_COMPACT; sh2e_extract_sfmt_sts_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
623 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
625 entire_insn = entire_insn >> 16;
626 if ((entire_insn & 0xf0ff) == 0x6a)
627 { itype = SH2E_INSN_STS_FPSCR_COMPACT; sh2e_extract_sfmt_sts_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
628 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
629 case 128 : /* fall through */
630 case 129 : /* fall through */
631 case 130 : /* fall through */
632 case 131 : /* fall through */
633 case 132 : /* fall through */
634 case 133 : /* fall through */
635 case 134 : /* fall through */
636 case 135 : /* fall through */
637 case 136 : /* fall through */
638 case 137 : /* fall through */
639 case 138 : /* fall through */
640 case 139 : /* fall through */
641 case 140 : /* fall through */
642 case 141 : /* fall through */
643 case 142 : /* fall through */
644 case 143 : /* fall through */
645 case 144 : /* fall through */
646 case 145 : /* fall through */
647 case 146 : /* fall through */
648 case 147 : /* fall through */
649 case 148 : /* fall through */
650 case 149 : /* fall through */
651 case 150 : /* fall through */
652 case 151 : /* fall through */
653 case 152 : /* fall through */
654 case 153 : /* fall through */
655 case 154 : /* fall through */
656 case 155 : /* fall through */
657 case 156 : /* fall through */
658 case 157 : /* fall through */
659 case 158 : /* fall through */
660 case 159 : /* fall through */
661 case 160 : /* fall through */
662 case 161 : /* fall through */
663 case 162 : /* fall through */
664 case 163 : /* fall through */
665 case 164 : /* fall through */
666 case 165 : /* fall through */
667 case 166 : /* fall through */
668 case 167 : /* fall through */
669 case 168 : /* fall through */
670 case 169 : /* fall through */
671 case 170 : /* fall through */
672 case 171 : /* fall through */
673 case 172 : /* fall through */
674 case 173 : /* fall through */
675 case 174 : /* fall through */
676 case 175 : /* fall through */
677 case 176 : /* fall through */
678 case 177 : /* fall through */
679 case 178 : /* fall through */
680 case 179 : /* fall through */
681 case 180 : /* fall through */
682 case 181 : /* fall through */
683 case 182 : /* fall through */
684 case 183 : /* fall through */
685 case 184 : /* fall through */
686 case 185 : /* fall through */
687 case 186 : /* fall through */
688 case 187 : /* fall through */
689 case 188 : /* fall through */
690 case 189 : /* fall through */
691 case 190 : /* fall through */
692 case 191 : /* fall through */
693 case 192 : /* fall through */
694 case 193 : /* fall through */
695 case 194 : /* fall through */
696 case 195 : /* fall through */
697 case 196 : /* fall through */
698 case 197 : /* fall through */
699 case 198 : /* fall through */
700 case 199 : /* fall through */
701 case 200 : /* fall through */
702 case 201 : /* fall through */
703 case 202 : /* fall through */
704 case 203 : /* fall through */
705 case 204 : /* fall through */
706 case 205 : /* fall through */
707 case 206 : /* fall through */
708 case 207 : /* fall through */
709 case 208 : /* fall through */
710 case 209 : /* fall through */
711 case 210 : /* fall through */
712 case 211 : /* fall through */
713 case 212 : /* fall through */
714 case 213 : /* fall through */
715 case 214 : /* fall through */
716 case 215 : /* fall through */
717 case 216 : /* fall through */
718 case 217 : /* fall through */
719 case 218 : /* fall through */
720 case 219 : /* fall through */
721 case 220 : /* fall through */
722 case 221 : /* fall through */
723 case 222 : /* fall through */
724 case 223 : /* fall through */
725 case 224 : /* fall through */
726 case 225 : /* fall through */
727 case 226 : /* fall through */
728 case 227 : /* fall through */
729 case 228 : /* fall through */
730 case 229 : /* fall through */
731 case 230 : /* fall through */
732 case 231 : /* fall through */
733 case 232 : /* fall through */
734 case 233 : /* fall through */
735 case 234 : /* fall through */
736 case 235 : /* fall through */
737 case 236 : /* fall through */
738 case 237 : /* fall through */
739 case 238 : /* fall through */
740 case 239 : /* fall through */
741 case 240 : /* fall through */
742 case 241 : /* fall through */
743 case 242 : /* fall through */
744 case 243 : /* fall through */
745 case 244 : /* fall through */
746 case 245 : /* fall through */
747 case 246 : /* fall through */
748 case 247 : /* fall through */
749 case 248 : /* fall through */
750 case 249 : /* fall through */
751 case 250 : /* fall through */
752 case 251 : /* fall through */
753 case 252 : /* fall through */
754 case 253 : /* fall through */
755 case 254 : /* fall through */
757 entire_insn = entire_insn >> 16;
758 itype = SH2E_INSN_MOVL5_COMPACT; sh2e_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
759 case 256 : /* fall through */
760 case 272 : /* fall through */
761 case 288 : /* fall through */
762 case 304 : /* fall through */
763 case 320 : /* fall through */
764 case 336 : /* fall through */
765 case 352 : /* fall through */
767 entire_insn = entire_insn >> 16;
768 itype = SH2E_INSN_MOVB1_COMPACT; sh2e_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
769 case 257 : /* fall through */
770 case 273 : /* fall through */
771 case 289 : /* fall through */
772 case 305 : /* fall through */
773 case 321 : /* fall through */
774 case 337 : /* fall through */
775 case 353 : /* fall through */
777 entire_insn = entire_insn >> 16;
778 itype = SH2E_INSN_MOVW1_COMPACT; sh2e_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
779 case 258 : /* fall through */
780 case 274 : /* fall through */
781 case 290 : /* fall through */
782 case 306 : /* fall through */
783 case 322 : /* fall through */
784 case 338 : /* fall through */
785 case 354 : /* fall through */
787 entire_insn = entire_insn >> 16;
788 itype = SH2E_INSN_MOVL1_COMPACT; sh2e_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
789 case 260 : /* fall through */
790 case 276 : /* fall through */
791 case 292 : /* fall through */
792 case 308 : /* fall through */
793 case 324 : /* fall through */
794 case 340 : /* fall through */
795 case 356 : /* fall through */
797 entire_insn = entire_insn >> 16;
798 itype = SH2E_INSN_MOVB2_COMPACT; sh2e_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
799 case 261 : /* fall through */
800 case 277 : /* fall through */
801 case 293 : /* fall through */
802 case 309 : /* fall through */
803 case 325 : /* fall through */
804 case 341 : /* fall through */
805 case 357 : /* fall through */
807 entire_insn = entire_insn >> 16;
808 itype = SH2E_INSN_MOVW2_COMPACT; sh2e_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
809 case 262 : /* fall through */
810 case 278 : /* fall through */
811 case 294 : /* fall through */
812 case 310 : /* fall through */
813 case 326 : /* fall through */
814 case 342 : /* fall through */
815 case 358 : /* fall through */
817 entire_insn = entire_insn >> 16;
818 itype = SH2E_INSN_MOVL2_COMPACT; sh2e_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
819 case 263 : /* fall through */
820 case 279 : /* fall through */
821 case 295 : /* fall through */
822 case 311 : /* fall through */
823 case 327 : /* fall through */
824 case 343 : /* fall through */
825 case 359 : /* fall through */
827 entire_insn = entire_insn >> 16;
828 itype = SH2E_INSN_DIV0S_COMPACT; sh2e_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
829 case 264 : /* fall through */
830 case 280 : /* fall through */
831 case 296 : /* fall through */
832 case 312 : /* fall through */
833 case 328 : /* fall through */
834 case 344 : /* fall through */
835 case 360 : /* fall through */
837 entire_insn = entire_insn >> 16;
838 itype = SH2E_INSN_TST_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
839 case 265 : /* fall through */
840 case 281 : /* fall through */
841 case 297 : /* fall through */
842 case 313 : /* fall through */
843 case 329 : /* fall through */
844 case 345 : /* fall through */
845 case 361 : /* fall through */
847 entire_insn = entire_insn >> 16;
848 itype = SH2E_INSN_AND_COMPACT; sh2e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
849 case 266 : /* fall through */
850 case 282 : /* fall through */
851 case 298 : /* fall through */
852 case 314 : /* fall through */
853 case 330 : /* fall through */
854 case 346 : /* fall through */
855 case 362 : /* fall through */
857 entire_insn = entire_insn >> 16;
858 itype = SH2E_INSN_XOR_COMPACT; sh2e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
859 case 267 : /* fall through */
860 case 283 : /* fall through */
861 case 299 : /* fall through */
862 case 315 : /* fall through */
863 case 331 : /* fall through */
864 case 347 : /* fall through */
865 case 363 : /* fall through */
867 entire_insn = entire_insn >> 16;
868 itype = SH2E_INSN_OR_COMPACT; sh2e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
869 case 268 : /* fall through */
870 case 284 : /* fall through */
871 case 300 : /* fall through */
872 case 316 : /* fall through */
873 case 332 : /* fall through */
874 case 348 : /* fall through */
875 case 364 : /* fall through */
877 entire_insn = entire_insn >> 16;
878 itype = SH2E_INSN_CMPSTR_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
879 case 269 : /* fall through */
880 case 285 : /* fall through */
881 case 301 : /* fall through */
882 case 317 : /* fall through */
883 case 333 : /* fall through */
884 case 349 : /* fall through */
885 case 365 : /* fall through */
887 entire_insn = entire_insn >> 16;
888 itype = SH2E_INSN_XTRCT_COMPACT; sh2e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
889 case 270 : /* fall through */
890 case 286 : /* fall through */
891 case 302 : /* fall through */
892 case 318 : /* fall through */
893 case 334 : /* fall through */
894 case 350 : /* fall through */
895 case 366 : /* fall through */
897 entire_insn = entire_insn >> 16;
898 itype = SH2E_INSN_MULUW_COMPACT; sh2e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
899 case 271 : /* fall through */
900 case 287 : /* fall through */
901 case 303 : /* fall through */
902 case 319 : /* fall through */
903 case 335 : /* fall through */
904 case 351 : /* fall through */
905 case 367 : /* fall through */
907 entire_insn = entire_insn >> 16;
908 itype = SH2E_INSN_MULSW_COMPACT; sh2e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
909 case 384 : /* fall through */
910 case 400 : /* fall through */
911 case 416 : /* fall through */
912 case 432 : /* fall through */
913 case 448 : /* fall through */
914 case 464 : /* fall through */
915 case 480 : /* fall through */
917 entire_insn = entire_insn >> 16;
918 itype = SH2E_INSN_CMPEQ_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
919 case 386 : /* fall through */
920 case 402 : /* fall through */
921 case 418 : /* fall through */
922 case 434 : /* fall through */
923 case 450 : /* fall through */
924 case 466 : /* fall through */
925 case 482 : /* fall through */
927 entire_insn = entire_insn >> 16;
928 itype = SH2E_INSN_CMPHS_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
929 case 387 : /* fall through */
930 case 403 : /* fall through */
931 case 419 : /* fall through */
932 case 435 : /* fall through */
933 case 451 : /* fall through */
934 case 467 : /* fall through */
935 case 483 : /* fall through */
937 entire_insn = entire_insn >> 16;
938 itype = SH2E_INSN_CMPGE_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
939 case 388 : /* fall through */
940 case 404 : /* fall through */
941 case 420 : /* fall through */
942 case 436 : /* fall through */
943 case 452 : /* fall through */
944 case 468 : /* fall through */
945 case 484 : /* fall through */
947 entire_insn = entire_insn >> 16;
948 itype = SH2E_INSN_DIV1_COMPACT; sh2e_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
949 case 389 : /* fall through */
950 case 405 : /* fall through */
951 case 421 : /* fall through */
952 case 437 : /* fall through */
953 case 453 : /* fall through */
954 case 469 : /* fall through */
955 case 485 : /* fall through */
957 entire_insn = entire_insn >> 16;
958 itype = SH2E_INSN_DMULUL_COMPACT; sh2e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
959 case 390 : /* fall through */
960 case 406 : /* fall through */
961 case 422 : /* fall through */
962 case 438 : /* fall through */
963 case 454 : /* fall through */
964 case 470 : /* fall through */
965 case 486 : /* fall through */
967 entire_insn = entire_insn >> 16;
968 itype = SH2E_INSN_CMPHI_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
969 case 391 : /* fall through */
970 case 407 : /* fall through */
971 case 423 : /* fall through */
972 case 439 : /* fall through */
973 case 455 : /* fall through */
974 case 471 : /* fall through */
975 case 487 : /* fall through */
977 entire_insn = entire_insn >> 16;
978 itype = SH2E_INSN_CMPGT_COMPACT; sh2e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
979 case 392 : /* fall through */
980 case 408 : /* fall through */
981 case 424 : /* fall through */
982 case 440 : /* fall through */
983 case 456 : /* fall through */
984 case 472 : /* fall through */
985 case 488 : /* fall through */
987 entire_insn = entire_insn >> 16;
988 itype = SH2E_INSN_SUB_COMPACT; sh2e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
989 case 394 : /* fall through */
990 case 410 : /* fall through */
991 case 426 : /* fall through */
992 case 442 : /* fall through */
993 case 458 : /* fall through */
994 case 474 : /* fall through */
995 case 490 : /* fall through */
997 entire_insn = entire_insn >> 16;
998 itype = SH2E_INSN_SUBC_COMPACT; sh2e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
999 case 395 : /* fall through */
1000 case 411 : /* fall through */
1001 case 427 : /* fall through */
1002 case 443 : /* fall through */
1003 case 459 : /* fall through */
1004 case 475 : /* fall through */
1005 case 491 : /* fall through */
1007 entire_insn = entire_insn >> 16;
1008 itype = SH2E_INSN_SUBV_COMPACT; sh2e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1009 case 396 : /* fall through */
1010 case 412 : /* fall through */
1011 case 428 : /* fall through */
1012 case 444 : /* fall through */
1013 case 460 : /* fall through */
1014 case 476 : /* fall through */
1015 case 492 : /* fall through */
1017 entire_insn = entire_insn >> 16;
1018 itype = SH2E_INSN_ADD_COMPACT; sh2e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1019 case 397 : /* fall through */
1020 case 413 : /* fall through */
1021 case 429 : /* fall through */
1022 case 445 : /* fall through */
1023 case 461 : /* fall through */
1024 case 477 : /* fall through */
1025 case 493 : /* fall through */
1027 entire_insn = entire_insn >> 16;
1028 itype = SH2E_INSN_DMULSL_COMPACT; sh2e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1029 case 398 : /* fall through */
1030 case 414 : /* fall through */
1031 case 430 : /* fall through */
1032 case 446 : /* fall through */
1033 case 462 : /* fall through */
1034 case 478 : /* fall through */
1035 case 494 : /* fall through */
1037 entire_insn = entire_insn >> 16;
1038 itype = SH2E_INSN_ADDC_COMPACT; sh2e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1039 case 399 : /* fall through */
1040 case 415 : /* fall through */
1041 case 431 : /* fall through */
1042 case 447 : /* fall through */
1043 case 463 : /* fall through */
1044 case 479 : /* fall through */
1045 case 495 : /* fall through */
1047 entire_insn = entire_insn >> 16;
1048 itype = SH2E_INSN_ADDV_COMPACT; sh2e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1050 entire_insn = entire_insn >> 16;
1051 if ((entire_insn & 0xf0ff) == 0x4000)
1052 { itype = SH2E_INSN_SHLL_COMPACT; sh2e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1053 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1055 entire_insn = entire_insn >> 16;
1056 if ((entire_insn & 0xf0ff) == 0x4001)
1057 { itype = SH2E_INSN_SHLR_COMPACT; sh2e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1058 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1060 entire_insn = entire_insn >> 16;
1061 if ((entire_insn & 0xf0ff) == 0x4002)
1062 { itype = SH2E_INSN_STSL_MACH_COMPACT; sh2e_extract_sfmt_stsl_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1063 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1065 entire_insn = entire_insn >> 16;
1066 if ((entire_insn & 0xf0ff) == 0x4004)
1067 { itype = SH2E_INSN_ROTL_COMPACT; sh2e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1068 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1070 entire_insn = entire_insn >> 16;
1071 if ((entire_insn & 0xf0ff) == 0x4005)
1072 { itype = SH2E_INSN_ROTR_COMPACT; sh2e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1073 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1075 entire_insn = entire_insn >> 16;
1076 if ((entire_insn & 0xf0ff) == 0x4006)
1077 { itype = SH2E_INSN_LDSL_MACH_COMPACT; sh2e_extract_sfmt_ldsl_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1078 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1080 entire_insn = entire_insn >> 16;
1081 if ((entire_insn & 0xf0ff) == 0x4008)
1082 { itype = SH2E_INSN_SHLL2_COMPACT; sh2e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1083 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1085 entire_insn = entire_insn >> 16;
1086 if ((entire_insn & 0xf0ff) == 0x4009)
1087 { itype = SH2E_INSN_SHLR2_COMPACT; sh2e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1088 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1090 entire_insn = entire_insn >> 16;
1091 if ((entire_insn & 0xf0ff) == 0x400a)
1092 { itype = SH2E_INSN_LDS_MACH_COMPACT; sh2e_extract_sfmt_lds_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1093 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1095 entire_insn = entire_insn >> 16;
1096 if ((entire_insn & 0xf0ff) == 0x400b)
1097 { itype = SH2E_INSN_JSR_COMPACT; sh2e_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1098 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1100 entire_insn = entire_insn >> 16;
1101 if ((entire_insn & 0xf0ff) == 0x400e)
1102 { itype = SH2E_INSN_LDC_SR_COMPACT; sh2e_extract_sfmt_ldc_sr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1103 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1104 case 527 : /* fall through */
1105 case 543 : /* fall through */
1106 case 559 : /* fall through */
1107 case 575 : /* fall through */
1108 case 591 : /* fall through */
1109 case 607 : /* fall through */
1110 case 623 : /* fall through */
1112 entire_insn = entire_insn >> 16;
1113 itype = SH2E_INSN_MACW_COMPACT; sh2e_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1115 entire_insn = entire_insn >> 16;
1116 if ((entire_insn & 0xf0ff) == 0x4010)
1117 { itype = SH2E_INSN_DT_COMPACT; sh2e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1118 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1120 entire_insn = entire_insn >> 16;
1121 if ((entire_insn & 0xf0ff) == 0x4011)
1122 { itype = SH2E_INSN_CMPPZ_COMPACT; sh2e_extract_sfmt_cmppl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1123 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1125 entire_insn = entire_insn >> 16;
1126 if ((entire_insn & 0xf0ff) == 0x4012)
1127 { itype = SH2E_INSN_STSL_MACL_COMPACT; sh2e_extract_sfmt_stsl_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1128 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1130 entire_insn = entire_insn >> 16;
1131 if ((entire_insn & 0xf0ff) == 0x4013)
1132 { itype = SH2E_INSN_STCL_GBR_COMPACT; sh2e_extract_sfmt_stcl_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1133 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1135 entire_insn = entire_insn >> 16;
1136 if ((entire_insn & 0xf0ff) == 0x4015)
1137 { itype = SH2E_INSN_CMPPL_COMPACT; sh2e_extract_sfmt_cmppl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1138 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1140 entire_insn = entire_insn >> 16;
1141 if ((entire_insn & 0xf0ff) == 0x4016)
1142 { itype = SH2E_INSN_LDSL_MACL_COMPACT; sh2e_extract_sfmt_ldsl_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1143 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1145 entire_insn = entire_insn >> 16;
1146 if ((entire_insn & 0xf0ff) == 0x4017)
1147 { itype = SH2E_INSN_LDCL_GBR_COMPACT; sh2e_extract_sfmt_ldcl_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1148 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1150 entire_insn = entire_insn >> 16;
1151 if ((entire_insn & 0xf0ff) == 0x4018)
1152 { itype = SH2E_INSN_SHLL8_COMPACT; sh2e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1153 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1155 entire_insn = entire_insn >> 16;
1156 if ((entire_insn & 0xf0ff) == 0x4019)
1157 { itype = SH2E_INSN_SHLR8_COMPACT; sh2e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1158 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1160 entire_insn = entire_insn >> 16;
1161 if ((entire_insn & 0xf0ff) == 0x401a)
1162 { itype = SH2E_INSN_LDS_MACL_COMPACT; sh2e_extract_sfmt_lds_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1163 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1165 entire_insn = entire_insn >> 16;
1166 if ((entire_insn & 0xf0ff) == 0x401b)
1167 { itype = SH2E_INSN_TASB_COMPACT; sh2e_extract_sfmt_tasb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1168 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1170 entire_insn = entire_insn >> 16;
1171 if ((entire_insn & 0xf0ff) == 0x401e)
1172 { itype = SH2E_INSN_LDC_GBR_COMPACT; sh2e_extract_sfmt_ldc_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1173 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1175 entire_insn = entire_insn >> 16;
1176 if ((entire_insn & 0xf0ff) == 0x4020)
1177 { itype = SH2E_INSN_SHAL_COMPACT; sh2e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1178 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1180 entire_insn = entire_insn >> 16;
1181 if ((entire_insn & 0xf0ff) == 0x4021)
1182 { itype = SH2E_INSN_SHAR_COMPACT; sh2e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1183 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1185 entire_insn = entire_insn >> 16;
1186 if ((entire_insn & 0xf0ff) == 0x4022)
1187 { itype = SH2E_INSN_STSL_PR_COMPACT; sh2e_extract_sfmt_stsl_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1188 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1190 entire_insn = entire_insn >> 16;
1191 if ((entire_insn & 0xf0ff) == 0x4023)
1192 { itype = SH2E_INSN_STCL_VBR_COMPACT; sh2e_extract_sfmt_stcl_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1193 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1195 entire_insn = entire_insn >> 16;
1196 if ((entire_insn & 0xf0ff) == 0x4024)
1197 { itype = SH2E_INSN_ROTCL_COMPACT; sh2e_extract_sfmt_rotcl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1198 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1200 entire_insn = entire_insn >> 16;
1201 if ((entire_insn & 0xf0ff) == 0x4025)
1202 { itype = SH2E_INSN_ROTCR_COMPACT; sh2e_extract_sfmt_rotcl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1203 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1205 entire_insn = entire_insn >> 16;
1206 if ((entire_insn & 0xf0ff) == 0x4026)
1207 { itype = SH2E_INSN_LDSL_PR_COMPACT; sh2e_extract_sfmt_ldsl_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1208 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1210 entire_insn = entire_insn >> 16;
1211 if ((entire_insn & 0xf0ff) == 0x4027)
1212 { itype = SH2E_INSN_LDCL_VBR_COMPACT; sh2e_extract_sfmt_ldcl_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1213 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1215 entire_insn = entire_insn >> 16;
1216 if ((entire_insn & 0xf0ff) == 0x4028)
1217 { itype = SH2E_INSN_SHLL16_COMPACT; sh2e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1218 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1220 entire_insn = entire_insn >> 16;
1221 if ((entire_insn & 0xf0ff) == 0x4029)
1222 { itype = SH2E_INSN_SHLR16_COMPACT; sh2e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1223 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1225 entire_insn = entire_insn >> 16;
1226 if ((entire_insn & 0xf0ff) == 0x402a)
1227 { itype = SH2E_INSN_LDS_PR_COMPACT; sh2e_extract_sfmt_lds_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1228 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1230 entire_insn = entire_insn >> 16;
1231 if ((entire_insn & 0xf0ff) == 0x402b)
1232 { itype = SH2E_INSN_JMP_COMPACT; sh2e_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1233 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1235 entire_insn = entire_insn >> 16;
1236 if ((entire_insn & 0xf0ff) == 0x402e)
1237 { itype = SH2E_INSN_LDC_VBR_COMPACT; sh2e_extract_sfmt_ldc_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1238 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1240 entire_insn = entire_insn >> 16;
1241 if ((entire_insn & 0xf0ff) == 0x4052)
1242 { itype = SH2E_INSN_STSL_FPUL_COMPACT; sh2e_extract_sfmt_stsl_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1243 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1245 entire_insn = entire_insn >> 16;
1246 if ((entire_insn & 0xf0ff) == 0x4056)
1247 { itype = SH2E_INSN_LDSL_FPUL_COMPACT; sh2e_extract_sfmt_ldsl_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1248 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1250 entire_insn = entire_insn >> 16;
1251 if ((entire_insn & 0xf0ff) == 0x405a)
1252 { itype = SH2E_INSN_LDS_FPUL_COMPACT; sh2e_extract_sfmt_lds_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1253 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1255 entire_insn = entire_insn >> 16;
1256 if ((entire_insn & 0xf0ff) == 0x4062)
1257 { itype = SH2E_INSN_STSL_FPSCR_COMPACT; sh2e_extract_sfmt_stsl_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1258 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1260 entire_insn = entire_insn >> 16;
1261 if ((entire_insn & 0xf0ff) == 0x4066)
1262 { itype = SH2E_INSN_LDSL_FPSCR_COMPACT; sh2e_extract_sfmt_ldsl_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1263 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1265 entire_insn = entire_insn >> 16;
1266 if ((entire_insn & 0xf0ff) == 0x406a)
1267 { itype = SH2E_INSN_LDS_FPSCR_COMPACT; sh2e_extract_sfmt_lds_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1268 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1269 case 640 : /* fall through */
1270 case 641 : /* fall through */
1271 case 642 : /* fall through */
1272 case 643 : /* fall through */
1273 case 644 : /* fall through */
1274 case 645 : /* fall through */
1275 case 646 : /* fall through */
1276 case 647 : /* fall through */
1277 case 648 : /* fall through */
1278 case 649 : /* fall through */
1279 case 650 : /* fall through */
1280 case 651 : /* fall through */
1281 case 652 : /* fall through */
1282 case 653 : /* fall through */
1283 case 654 : /* fall through */
1284 case 655 : /* fall through */
1285 case 656 : /* fall through */
1286 case 657 : /* fall through */
1287 case 658 : /* fall through */
1288 case 659 : /* fall through */
1289 case 660 : /* fall through */
1290 case 661 : /* fall through */
1291 case 662 : /* fall through */
1292 case 663 : /* fall through */
1293 case 664 : /* fall through */
1294 case 665 : /* fall through */
1295 case 666 : /* fall through */
1296 case 667 : /* fall through */
1297 case 668 : /* fall through */
1298 case 669 : /* fall through */
1299 case 670 : /* fall through */
1300 case 671 : /* fall through */
1301 case 672 : /* fall through */
1302 case 673 : /* fall through */
1303 case 674 : /* fall through */
1304 case 675 : /* fall through */
1305 case 676 : /* fall through */
1306 case 677 : /* fall through */
1307 case 678 : /* fall through */
1308 case 679 : /* fall through */
1309 case 680 : /* fall through */
1310 case 681 : /* fall through */
1311 case 682 : /* fall through */
1312 case 683 : /* fall through */
1313 case 684 : /* fall through */
1314 case 685 : /* fall through */
1315 case 686 : /* fall through */
1316 case 687 : /* fall through */
1317 case 688 : /* fall through */
1318 case 689 : /* fall through */
1319 case 690 : /* fall through */
1320 case 691 : /* fall through */
1321 case 692 : /* fall through */
1322 case 693 : /* fall through */
1323 case 694 : /* fall through */
1324 case 695 : /* fall through */
1325 case 696 : /* fall through */
1326 case 697 : /* fall through */
1327 case 698 : /* fall through */
1328 case 699 : /* fall through */
1329 case 700 : /* fall through */
1330 case 701 : /* fall through */
1331 case 702 : /* fall through */
1332 case 703 : /* fall through */
1333 case 704 : /* fall through */
1334 case 705 : /* fall through */
1335 case 706 : /* fall through */
1336 case 707 : /* fall through */
1337 case 708 : /* fall through */
1338 case 709 : /* fall through */
1339 case 710 : /* fall through */
1340 case 711 : /* fall through */
1341 case 712 : /* fall through */
1342 case 713 : /* fall through */
1343 case 714 : /* fall through */
1344 case 715 : /* fall through */
1345 case 716 : /* fall through */
1346 case 717 : /* fall through */
1347 case 718 : /* fall through */
1348 case 719 : /* fall through */
1349 case 720 : /* fall through */
1350 case 721 : /* fall through */
1351 case 722 : /* fall through */
1352 case 723 : /* fall through */
1353 case 724 : /* fall through */
1354 case 725 : /* fall through */
1355 case 726 : /* fall through */
1356 case 727 : /* fall through */
1357 case 728 : /* fall through */
1358 case 729 : /* fall through */
1359 case 730 : /* fall through */
1360 case 731 : /* fall through */
1361 case 732 : /* fall through */
1362 case 733 : /* fall through */
1363 case 734 : /* fall through */
1364 case 735 : /* fall through */
1365 case 736 : /* fall through */
1366 case 737 : /* fall through */
1367 case 738 : /* fall through */
1368 case 739 : /* fall through */
1369 case 740 : /* fall through */
1370 case 741 : /* fall through */
1371 case 742 : /* fall through */
1372 case 743 : /* fall through */
1373 case 744 : /* fall through */
1374 case 745 : /* fall through */
1375 case 746 : /* fall through */
1376 case 747 : /* fall through */
1377 case 748 : /* fall through */
1378 case 749 : /* fall through */
1379 case 750 : /* fall through */
1380 case 751 : /* fall through */
1381 case 752 : /* fall through */
1382 case 753 : /* fall through */
1383 case 754 : /* fall through */
1384 case 755 : /* fall through */
1385 case 756 : /* fall through */
1386 case 757 : /* fall through */
1387 case 758 : /* fall through */
1388 case 759 : /* fall through */
1389 case 760 : /* fall through */
1390 case 761 : /* fall through */
1391 case 762 : /* fall through */
1392 case 763 : /* fall through */
1393 case 764 : /* fall through */
1394 case 765 : /* fall through */
1395 case 766 : /* fall through */
1397 entire_insn = entire_insn >> 16;
1398 itype = SH2E_INSN_MOVL11_COMPACT; sh2e_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1399 case 768 : /* fall through */
1400 case 784 : /* fall through */
1401 case 800 : /* fall through */
1402 case 816 : /* fall through */
1403 case 832 : /* fall through */
1404 case 848 : /* fall through */
1405 case 864 : /* fall through */
1407 entire_insn = entire_insn >> 16;
1408 itype = SH2E_INSN_MOVB6_COMPACT; sh2e_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1409 case 769 : /* fall through */
1410 case 785 : /* fall through */
1411 case 801 : /* fall through */
1412 case 817 : /* fall through */
1413 case 833 : /* fall through */
1414 case 849 : /* fall through */
1415 case 865 : /* fall through */
1417 entire_insn = entire_insn >> 16;
1418 itype = SH2E_INSN_MOVW6_COMPACT; sh2e_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1419 case 770 : /* fall through */
1420 case 786 : /* fall through */
1421 case 802 : /* fall through */
1422 case 818 : /* fall through */
1423 case 834 : /* fall through */
1424 case 850 : /* fall through */
1425 case 866 : /* fall through */
1427 entire_insn = entire_insn >> 16;
1428 itype = SH2E_INSN_MOVL6_COMPACT; sh2e_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1429 case 771 : /* fall through */
1430 case 787 : /* fall through */
1431 case 803 : /* fall through */
1432 case 819 : /* fall through */
1433 case 835 : /* fall through */
1434 case 851 : /* fall through */
1435 case 867 : /* fall through */
1437 entire_insn = entire_insn >> 16;
1438 itype = SH2E_INSN_MOV_COMPACT; sh2e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1439 case 772 : /* fall through */
1440 case 788 : /* fall through */
1441 case 804 : /* fall through */
1442 case 820 : /* fall through */
1443 case 836 : /* fall through */
1444 case 852 : /* fall through */
1445 case 868 : /* fall through */
1447 entire_insn = entire_insn >> 16;
1448 itype = SH2E_INSN_MOVB7_COMPACT; sh2e_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1449 case 773 : /* fall through */
1450 case 789 : /* fall through */
1451 case 805 : /* fall through */
1452 case 821 : /* fall through */
1453 case 837 : /* fall through */
1454 case 853 : /* fall through */
1455 case 869 : /* fall through */
1457 entire_insn = entire_insn >> 16;
1458 itype = SH2E_INSN_MOVW7_COMPACT; sh2e_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1459 case 774 : /* fall through */
1460 case 790 : /* fall through */
1461 case 806 : /* fall through */
1462 case 822 : /* fall through */
1463 case 838 : /* fall through */
1464 case 854 : /* fall through */
1465 case 870 : /* fall through */
1467 entire_insn = entire_insn >> 16;
1468 itype = SH2E_INSN_MOVL7_COMPACT; sh2e_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1469 case 775 : /* fall through */
1470 case 791 : /* fall through */
1471 case 807 : /* fall through */
1472 case 823 : /* fall through */
1473 case 839 : /* fall through */
1474 case 855 : /* fall through */
1475 case 871 : /* fall through */
1477 entire_insn = entire_insn >> 16;
1478 itype = SH2E_INSN_NOT_COMPACT; sh2e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1479 case 776 : /* fall through */
1480 case 792 : /* fall through */
1481 case 808 : /* fall through */
1482 case 824 : /* fall through */
1483 case 840 : /* fall through */
1484 case 856 : /* fall through */
1485 case 872 : /* fall through */
1487 entire_insn = entire_insn >> 16;
1488 itype = SH2E_INSN_SWAPB_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1489 case 777 : /* fall through */
1490 case 793 : /* fall through */
1491 case 809 : /* fall through */
1492 case 825 : /* fall through */
1493 case 841 : /* fall through */
1494 case 857 : /* fall through */
1495 case 873 : /* fall through */
1497 entire_insn = entire_insn >> 16;
1498 itype = SH2E_INSN_SWAPW_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1499 case 778 : /* fall through */
1500 case 794 : /* fall through */
1501 case 810 : /* fall through */
1502 case 826 : /* fall through */
1503 case 842 : /* fall through */
1504 case 858 : /* fall through */
1505 case 874 : /* fall through */
1507 entire_insn = entire_insn >> 16;
1508 itype = SH2E_INSN_NEGC_COMPACT; sh2e_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1509 case 779 : /* fall through */
1510 case 795 : /* fall through */
1511 case 811 : /* fall through */
1512 case 827 : /* fall through */
1513 case 843 : /* fall through */
1514 case 859 : /* fall through */
1515 case 875 : /* fall through */
1517 entire_insn = entire_insn >> 16;
1518 itype = SH2E_INSN_NEG_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1519 case 780 : /* fall through */
1520 case 796 : /* fall through */
1521 case 812 : /* fall through */
1522 case 828 : /* fall through */
1523 case 844 : /* fall through */
1524 case 860 : /* fall through */
1525 case 876 : /* fall through */
1527 entire_insn = entire_insn >> 16;
1528 itype = SH2E_INSN_EXTUB_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1529 case 781 : /* fall through */
1530 case 797 : /* fall through */
1531 case 813 : /* fall through */
1532 case 829 : /* fall through */
1533 case 845 : /* fall through */
1534 case 861 : /* fall through */
1535 case 877 : /* fall through */
1537 entire_insn = entire_insn >> 16;
1538 itype = SH2E_INSN_EXTUW_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1539 case 782 : /* fall through */
1540 case 798 : /* fall through */
1541 case 814 : /* fall through */
1542 case 830 : /* fall through */
1543 case 846 : /* fall through */
1544 case 862 : /* fall through */
1545 case 878 : /* fall through */
1547 entire_insn = entire_insn >> 16;
1548 itype = SH2E_INSN_EXTSB_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1549 case 783 : /* fall through */
1550 case 799 : /* fall through */
1551 case 815 : /* fall through */
1552 case 831 : /* fall through */
1553 case 847 : /* fall through */
1554 case 863 : /* fall through */
1555 case 879 : /* fall through */
1557 entire_insn = entire_insn >> 16;
1558 itype = SH2E_INSN_EXTSW_COMPACT; sh2e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1559 case 896 : /* fall through */
1560 case 897 : /* fall through */
1561 case 898 : /* fall through */
1562 case 899 : /* fall through */
1563 case 900 : /* fall through */
1564 case 901 : /* fall through */
1565 case 902 : /* fall through */
1566 case 903 : /* fall through */
1567 case 904 : /* fall through */
1568 case 905 : /* fall through */
1569 case 906 : /* fall through */
1570 case 907 : /* fall through */
1571 case 908 : /* fall through */
1572 case 909 : /* fall through */
1573 case 910 : /* fall through */
1574 case 911 : /* fall through */
1575 case 912 : /* fall through */
1576 case 913 : /* fall through */
1577 case 914 : /* fall through */
1578 case 915 : /* fall through */
1579 case 916 : /* fall through */
1580 case 917 : /* fall through */
1581 case 918 : /* fall through */
1582 case 919 : /* fall through */
1583 case 920 : /* fall through */
1584 case 921 : /* fall through */
1585 case 922 : /* fall through */
1586 case 923 : /* fall through */
1587 case 924 : /* fall through */
1588 case 925 : /* fall through */
1589 case 926 : /* fall through */
1590 case 927 : /* fall through */
1591 case 928 : /* fall through */
1592 case 929 : /* fall through */
1593 case 930 : /* fall through */
1594 case 931 : /* fall through */
1595 case 932 : /* fall through */
1596 case 933 : /* fall through */
1597 case 934 : /* fall through */
1598 case 935 : /* fall through */
1599 case 936 : /* fall through */
1600 case 937 : /* fall through */
1601 case 938 : /* fall through */
1602 case 939 : /* fall through */
1603 case 940 : /* fall through */
1604 case 941 : /* fall through */
1605 case 942 : /* fall through */
1606 case 943 : /* fall through */
1607 case 944 : /* fall through */
1608 case 945 : /* fall through */
1609 case 946 : /* fall through */
1610 case 947 : /* fall through */
1611 case 948 : /* fall through */
1612 case 949 : /* fall through */
1613 case 950 : /* fall through */
1614 case 951 : /* fall through */
1615 case 952 : /* fall through */
1616 case 953 : /* fall through */
1617 case 954 : /* fall through */
1618 case 955 : /* fall through */
1619 case 956 : /* fall through */
1620 case 957 : /* fall through */
1621 case 958 : /* fall through */
1622 case 959 : /* fall through */
1623 case 960 : /* fall through */
1624 case 961 : /* fall through */
1625 case 962 : /* fall through */
1626 case 963 : /* fall through */
1627 case 964 : /* fall through */
1628 case 965 : /* fall through */
1629 case 966 : /* fall through */
1630 case 967 : /* fall through */
1631 case 968 : /* fall through */
1632 case 969 : /* fall through */
1633 case 970 : /* fall through */
1634 case 971 : /* fall through */
1635 case 972 : /* fall through */
1636 case 973 : /* fall through */
1637 case 974 : /* fall through */
1638 case 975 : /* fall through */
1639 case 976 : /* fall through */
1640 case 977 : /* fall through */
1641 case 978 : /* fall through */
1642 case 979 : /* fall through */
1643 case 980 : /* fall through */
1644 case 981 : /* fall through */
1645 case 982 : /* fall through */
1646 case 983 : /* fall through */
1647 case 984 : /* fall through */
1648 case 985 : /* fall through */
1649 case 986 : /* fall through */
1650 case 987 : /* fall through */
1651 case 988 : /* fall through */
1652 case 989 : /* fall through */
1653 case 990 : /* fall through */
1654 case 991 : /* fall through */
1655 case 992 : /* fall through */
1656 case 993 : /* fall through */
1657 case 994 : /* fall through */
1658 case 995 : /* fall through */
1659 case 996 : /* fall through */
1660 case 997 : /* fall through */
1661 case 998 : /* fall through */
1662 case 999 : /* fall through */
1663 case 1000 : /* fall through */
1664 case 1001 : /* fall through */
1665 case 1002 : /* fall through */
1666 case 1003 : /* fall through */
1667 case 1004 : /* fall through */
1668 case 1005 : /* fall through */
1669 case 1006 : /* fall through */
1670 case 1007 : /* fall through */
1671 case 1008 : /* fall through */
1672 case 1009 : /* fall through */
1673 case 1010 : /* fall through */
1674 case 1011 : /* fall through */
1675 case 1012 : /* fall through */
1676 case 1013 : /* fall through */
1677 case 1014 : /* fall through */
1678 case 1015 : /* fall through */
1679 case 1016 : /* fall through */
1680 case 1017 : /* fall through */
1681 case 1018 : /* fall through */
1682 case 1019 : /* fall through */
1683 case 1020 : /* fall through */
1684 case 1021 : /* fall through */
1685 case 1022 : /* fall through */
1687 entire_insn = entire_insn >> 16;
1688 itype = SH2E_INSN_ADDI_COMPACT; sh2e_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1689 case 1024 : /* fall through */
1690 case 1025 : /* fall through */
1691 case 1026 : /* fall through */
1692 case 1027 : /* fall through */
1693 case 1028 : /* fall through */
1694 case 1029 : /* fall through */
1695 case 1030 : /* fall through */
1696 case 1031 : /* fall through */
1697 case 1032 : /* fall through */
1698 case 1033 : /* fall through */
1699 case 1034 : /* fall through */
1700 case 1035 : /* fall through */
1701 case 1036 : /* fall through */
1702 case 1037 : /* fall through */
1703 case 1038 : /* fall through */
1704 case 1039 : /* fall through */
1705 case 1040 : /* fall through */
1706 case 1041 : /* fall through */
1707 case 1042 : /* fall through */
1708 case 1043 : /* fall through */
1709 case 1044 : /* fall through */
1710 case 1045 : /* fall through */
1711 case 1046 : /* fall through */
1712 case 1047 : /* fall through */
1713 case 1048 : /* fall through */
1714 case 1049 : /* fall through */
1715 case 1050 : /* fall through */
1716 case 1051 : /* fall through */
1717 case 1052 : /* fall through */
1718 case 1053 : /* fall through */
1719 case 1054 : /* fall through */
1720 case 1055 : /* fall through */
1721 case 1056 : /* fall through */
1722 case 1057 : /* fall through */
1723 case 1058 : /* fall through */
1724 case 1059 : /* fall through */
1725 case 1060 : /* fall through */
1726 case 1061 : /* fall through */
1727 case 1062 : /* fall through */
1728 case 1063 : /* fall through */
1729 case 1064 : /* fall through */
1730 case 1065 : /* fall through */
1731 case 1066 : /* fall through */
1732 case 1067 : /* fall through */
1733 case 1068 : /* fall through */
1734 case 1069 : /* fall through */
1735 case 1070 : /* fall through */
1736 case 1071 : /* fall through */
1737 case 1072 : /* fall through */
1738 case 1073 : /* fall through */
1739 case 1074 : /* fall through */
1740 case 1075 : /* fall through */
1741 case 1076 : /* fall through */
1742 case 1077 : /* fall through */
1743 case 1078 : /* fall through */
1744 case 1079 : /* fall through */
1745 case 1080 : /* fall through */
1746 case 1081 : /* fall through */
1747 case 1082 : /* fall through */
1748 case 1083 : /* fall through */
1749 case 1084 : /* fall through */
1750 case 1085 : /* fall through */
1751 case 1086 : /* fall through */
1752 case 1087 : /* fall through */
1753 case 1088 : /* fall through */
1754 case 1089 : /* fall through */
1755 case 1090 : /* fall through */
1756 case 1091 : /* fall through */
1757 case 1092 : /* fall through */
1758 case 1093 : /* fall through */
1759 case 1094 : /* fall through */
1760 case 1095 : /* fall through */
1761 case 1096 : /* fall through */
1762 case 1097 : /* fall through */
1763 case 1098 : /* fall through */
1764 case 1099 : /* fall through */
1765 case 1100 : /* fall through */
1766 case 1101 : /* fall through */
1767 case 1102 : /* fall through */
1768 case 1103 : /* fall through */
1769 case 1104 : /* fall through */
1770 case 1105 : /* fall through */
1771 case 1106 : /* fall through */
1772 case 1107 : /* fall through */
1773 case 1108 : /* fall through */
1774 case 1109 : /* fall through */
1775 case 1110 : /* fall through */
1776 case 1111 : /* fall through */
1777 case 1112 : /* fall through */
1778 case 1113 : /* fall through */
1779 case 1114 : /* fall through */
1780 case 1115 : /* fall through */
1781 case 1116 : /* fall through */
1782 case 1117 : /* fall through */
1783 case 1118 : /* fall through */
1784 case 1119 : /* fall through */
1785 case 1120 : /* fall through */
1786 case 1121 : /* fall through */
1787 case 1122 : /* fall through */
1788 case 1123 : /* fall through */
1789 case 1124 : /* fall through */
1790 case 1125 : /* fall through */
1791 case 1126 : /* fall through */
1792 case 1127 : /* fall through */
1793 case 1128 : /* fall through */
1794 case 1129 : /* fall through */
1795 case 1130 : /* fall through */
1796 case 1131 : /* fall through */
1797 case 1132 : /* fall through */
1798 case 1133 : /* fall through */
1799 case 1134 : /* fall through */
1800 case 1135 : /* fall through */
1801 case 1136 : /* fall through */
1802 case 1137 : /* fall through */
1803 case 1138 : /* fall through */
1804 case 1139 : /* fall through */
1805 case 1140 : /* fall through */
1806 case 1141 : /* fall through */
1807 case 1142 : /* fall through */
1808 case 1143 : /* fall through */
1809 case 1144 : /* fall through */
1810 case 1145 : /* fall through */
1811 case 1146 : /* fall through */
1812 case 1147 : /* fall through */
1813 case 1148 : /* fall through */
1814 case 1149 : /* fall through */
1815 case 1150 : /* fall through */
1818 unsigned int val = (((insn >> 24) & (15 << 0)));
1822 entire_insn = entire_insn >> 16;
1823 itype = SH2E_INSN_MOVB5_COMPACT; sh2e_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1825 entire_insn = entire_insn >> 16;
1826 itype = SH2E_INSN_MOVW5_COMPACT; sh2e_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1828 entire_insn = entire_insn >> 16;
1829 itype = SH2E_INSN_MOVB10_COMPACT; sh2e_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1831 entire_insn = entire_insn >> 16;
1832 itype = SH2E_INSN_MOVW11_COMPACT; sh2e_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1834 entire_insn = entire_insn >> 16;
1835 itype = SH2E_INSN_CMPEQI_COMPACT; sh2e_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1837 entire_insn = entire_insn >> 16;
1838 itype = SH2E_INSN_BT_COMPACT; sh2e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1840 entire_insn = entire_insn >> 16;
1841 itype = SH2E_INSN_BF_COMPACT; sh2e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1843 entire_insn = entire_insn >> 16;
1844 itype = SH2E_INSN_BTS_COMPACT; sh2e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1846 entire_insn = entire_insn >> 16;
1847 itype = SH2E_INSN_BFS_COMPACT; sh2e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1848 default : itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1851 case 1152 : /* fall through */
1852 case 1153 : /* fall through */
1853 case 1154 : /* fall through */
1854 case 1155 : /* fall through */
1855 case 1156 : /* fall through */
1856 case 1157 : /* fall through */
1857 case 1158 : /* fall through */
1858 case 1159 : /* fall through */
1859 case 1160 : /* fall through */
1860 case 1161 : /* fall through */
1861 case 1162 : /* fall through */
1862 case 1163 : /* fall through */
1863 case 1164 : /* fall through */
1864 case 1165 : /* fall through */
1865 case 1166 : /* fall through */
1866 case 1167 : /* fall through */
1867 case 1168 : /* fall through */
1868 case 1169 : /* fall through */
1869 case 1170 : /* fall through */
1870 case 1171 : /* fall through */
1871 case 1172 : /* fall through */
1872 case 1173 : /* fall through */
1873 case 1174 : /* fall through */
1874 case 1175 : /* fall through */
1875 case 1176 : /* fall through */
1876 case 1177 : /* fall through */
1877 case 1178 : /* fall through */
1878 case 1179 : /* fall through */
1879 case 1180 : /* fall through */
1880 case 1181 : /* fall through */
1881 case 1182 : /* fall through */
1882 case 1183 : /* fall through */
1883 case 1184 : /* fall through */
1884 case 1185 : /* fall through */
1885 case 1186 : /* fall through */
1886 case 1187 : /* fall through */
1887 case 1188 : /* fall through */
1888 case 1189 : /* fall through */
1889 case 1190 : /* fall through */
1890 case 1191 : /* fall through */
1891 case 1192 : /* fall through */
1892 case 1193 : /* fall through */
1893 case 1194 : /* fall through */
1894 case 1195 : /* fall through */
1895 case 1196 : /* fall through */
1896 case 1197 : /* fall through */
1897 case 1198 : /* fall through */
1898 case 1199 : /* fall through */
1899 case 1200 : /* fall through */
1900 case 1201 : /* fall through */
1901 case 1202 : /* fall through */
1902 case 1203 : /* fall through */
1903 case 1204 : /* fall through */
1904 case 1205 : /* fall through */
1905 case 1206 : /* fall through */
1906 case 1207 : /* fall through */
1907 case 1208 : /* fall through */
1908 case 1209 : /* fall through */
1909 case 1210 : /* fall through */
1910 case 1211 : /* fall through */
1911 case 1212 : /* fall through */
1912 case 1213 : /* fall through */
1913 case 1214 : /* fall through */
1914 case 1215 : /* fall through */
1915 case 1216 : /* fall through */
1916 case 1217 : /* fall through */
1917 case 1218 : /* fall through */
1918 case 1219 : /* fall through */
1919 case 1220 : /* fall through */
1920 case 1221 : /* fall through */
1921 case 1222 : /* fall through */
1922 case 1223 : /* fall through */
1923 case 1224 : /* fall through */
1924 case 1225 : /* fall through */
1925 case 1226 : /* fall through */
1926 case 1227 : /* fall through */
1927 case 1228 : /* fall through */
1928 case 1229 : /* fall through */
1929 case 1230 : /* fall through */
1930 case 1231 : /* fall through */
1931 case 1232 : /* fall through */
1932 case 1233 : /* fall through */
1933 case 1234 : /* fall through */
1934 case 1235 : /* fall through */
1935 case 1236 : /* fall through */
1936 case 1237 : /* fall through */
1937 case 1238 : /* fall through */
1938 case 1239 : /* fall through */
1939 case 1240 : /* fall through */
1940 case 1241 : /* fall through */
1941 case 1242 : /* fall through */
1942 case 1243 : /* fall through */
1943 case 1244 : /* fall through */
1944 case 1245 : /* fall through */
1945 case 1246 : /* fall through */
1946 case 1247 : /* fall through */
1947 case 1248 : /* fall through */
1948 case 1249 : /* fall through */
1949 case 1250 : /* fall through */
1950 case 1251 : /* fall through */
1951 case 1252 : /* fall through */
1952 case 1253 : /* fall through */
1953 case 1254 : /* fall through */
1954 case 1255 : /* fall through */
1955 case 1256 : /* fall through */
1956 case 1257 : /* fall through */
1957 case 1258 : /* fall through */
1958 case 1259 : /* fall through */
1959 case 1260 : /* fall through */
1960 case 1261 : /* fall through */
1961 case 1262 : /* fall through */
1962 case 1263 : /* fall through */
1963 case 1264 : /* fall through */
1964 case 1265 : /* fall through */
1965 case 1266 : /* fall through */
1966 case 1267 : /* fall through */
1967 case 1268 : /* fall through */
1968 case 1269 : /* fall through */
1969 case 1270 : /* fall through */
1970 case 1271 : /* fall through */
1971 case 1272 : /* fall through */
1972 case 1273 : /* fall through */
1973 case 1274 : /* fall through */
1974 case 1275 : /* fall through */
1975 case 1276 : /* fall through */
1976 case 1277 : /* fall through */
1977 case 1278 : /* fall through */
1979 entire_insn = entire_insn >> 16;
1980 itype = SH2E_INSN_MOVW10_COMPACT; sh2e_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1981 case 1280 : /* fall through */
1982 case 1281 : /* fall through */
1983 case 1282 : /* fall through */
1984 case 1283 : /* fall through */
1985 case 1284 : /* fall through */
1986 case 1285 : /* fall through */
1987 case 1286 : /* fall through */
1988 case 1287 : /* fall through */
1989 case 1288 : /* fall through */
1990 case 1289 : /* fall through */
1991 case 1290 : /* fall through */
1992 case 1291 : /* fall through */
1993 case 1292 : /* fall through */
1994 case 1293 : /* fall through */
1995 case 1294 : /* fall through */
1996 case 1295 : /* fall through */
1997 case 1296 : /* fall through */
1998 case 1297 : /* fall through */
1999 case 1298 : /* fall through */
2000 case 1299 : /* fall through */
2001 case 1300 : /* fall through */
2002 case 1301 : /* fall through */
2003 case 1302 : /* fall through */
2004 case 1303 : /* fall through */
2005 case 1304 : /* fall through */
2006 case 1305 : /* fall through */
2007 case 1306 : /* fall through */
2008 case 1307 : /* fall through */
2009 case 1308 : /* fall through */
2010 case 1309 : /* fall through */
2011 case 1310 : /* fall through */
2012 case 1311 : /* fall through */
2013 case 1312 : /* fall through */
2014 case 1313 : /* fall through */
2015 case 1314 : /* fall through */
2016 case 1315 : /* fall through */
2017 case 1316 : /* fall through */
2018 case 1317 : /* fall through */
2019 case 1318 : /* fall through */
2020 case 1319 : /* fall through */
2021 case 1320 : /* fall through */
2022 case 1321 : /* fall through */
2023 case 1322 : /* fall through */
2024 case 1323 : /* fall through */
2025 case 1324 : /* fall through */
2026 case 1325 : /* fall through */
2027 case 1326 : /* fall through */
2028 case 1327 : /* fall through */
2029 case 1328 : /* fall through */
2030 case 1329 : /* fall through */
2031 case 1330 : /* fall through */
2032 case 1331 : /* fall through */
2033 case 1332 : /* fall through */
2034 case 1333 : /* fall through */
2035 case 1334 : /* fall through */
2036 case 1335 : /* fall through */
2037 case 1336 : /* fall through */
2038 case 1337 : /* fall through */
2039 case 1338 : /* fall through */
2040 case 1339 : /* fall through */
2041 case 1340 : /* fall through */
2042 case 1341 : /* fall through */
2043 case 1342 : /* fall through */
2044 case 1343 : /* fall through */
2045 case 1344 : /* fall through */
2046 case 1345 : /* fall through */
2047 case 1346 : /* fall through */
2048 case 1347 : /* fall through */
2049 case 1348 : /* fall through */
2050 case 1349 : /* fall through */
2051 case 1350 : /* fall through */
2052 case 1351 : /* fall through */
2053 case 1352 : /* fall through */
2054 case 1353 : /* fall through */
2055 case 1354 : /* fall through */
2056 case 1355 : /* fall through */
2057 case 1356 : /* fall through */
2058 case 1357 : /* fall through */
2059 case 1358 : /* fall through */
2060 case 1359 : /* fall through */
2061 case 1360 : /* fall through */
2062 case 1361 : /* fall through */
2063 case 1362 : /* fall through */
2064 case 1363 : /* fall through */
2065 case 1364 : /* fall through */
2066 case 1365 : /* fall through */
2067 case 1366 : /* fall through */
2068 case 1367 : /* fall through */
2069 case 1368 : /* fall through */
2070 case 1369 : /* fall through */
2071 case 1370 : /* fall through */
2072 case 1371 : /* fall through */
2073 case 1372 : /* fall through */
2074 case 1373 : /* fall through */
2075 case 1374 : /* fall through */
2076 case 1375 : /* fall through */
2077 case 1376 : /* fall through */
2078 case 1377 : /* fall through */
2079 case 1378 : /* fall through */
2080 case 1379 : /* fall through */
2081 case 1380 : /* fall through */
2082 case 1381 : /* fall through */
2083 case 1382 : /* fall through */
2084 case 1383 : /* fall through */
2085 case 1384 : /* fall through */
2086 case 1385 : /* fall through */
2087 case 1386 : /* fall through */
2088 case 1387 : /* fall through */
2089 case 1388 : /* fall through */
2090 case 1389 : /* fall through */
2091 case 1390 : /* fall through */
2092 case 1391 : /* fall through */
2093 case 1392 : /* fall through */
2094 case 1393 : /* fall through */
2095 case 1394 : /* fall through */
2096 case 1395 : /* fall through */
2097 case 1396 : /* fall through */
2098 case 1397 : /* fall through */
2099 case 1398 : /* fall through */
2100 case 1399 : /* fall through */
2101 case 1400 : /* fall through */
2102 case 1401 : /* fall through */
2103 case 1402 : /* fall through */
2104 case 1403 : /* fall through */
2105 case 1404 : /* fall through */
2106 case 1405 : /* fall through */
2107 case 1406 : /* fall through */
2109 entire_insn = entire_insn >> 16;
2110 itype = SH2E_INSN_BRA_COMPACT; sh2e_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2111 case 1408 : /* fall through */
2112 case 1409 : /* fall through */
2113 case 1410 : /* fall through */
2114 case 1411 : /* fall through */
2115 case 1412 : /* fall through */
2116 case 1413 : /* fall through */
2117 case 1414 : /* fall through */
2118 case 1415 : /* fall through */
2119 case 1416 : /* fall through */
2120 case 1417 : /* fall through */
2121 case 1418 : /* fall through */
2122 case 1419 : /* fall through */
2123 case 1420 : /* fall through */
2124 case 1421 : /* fall through */
2125 case 1422 : /* fall through */
2126 case 1423 : /* fall through */
2127 case 1424 : /* fall through */
2128 case 1425 : /* fall through */
2129 case 1426 : /* fall through */
2130 case 1427 : /* fall through */
2131 case 1428 : /* fall through */
2132 case 1429 : /* fall through */
2133 case 1430 : /* fall through */
2134 case 1431 : /* fall through */
2135 case 1432 : /* fall through */
2136 case 1433 : /* fall through */
2137 case 1434 : /* fall through */
2138 case 1435 : /* fall through */
2139 case 1436 : /* fall through */
2140 case 1437 : /* fall through */
2141 case 1438 : /* fall through */
2142 case 1439 : /* fall through */
2143 case 1440 : /* fall through */
2144 case 1441 : /* fall through */
2145 case 1442 : /* fall through */
2146 case 1443 : /* fall through */
2147 case 1444 : /* fall through */
2148 case 1445 : /* fall through */
2149 case 1446 : /* fall through */
2150 case 1447 : /* fall through */
2151 case 1448 : /* fall through */
2152 case 1449 : /* fall through */
2153 case 1450 : /* fall through */
2154 case 1451 : /* fall through */
2155 case 1452 : /* fall through */
2156 case 1453 : /* fall through */
2157 case 1454 : /* fall through */
2158 case 1455 : /* fall through */
2159 case 1456 : /* fall through */
2160 case 1457 : /* fall through */
2161 case 1458 : /* fall through */
2162 case 1459 : /* fall through */
2163 case 1460 : /* fall through */
2164 case 1461 : /* fall through */
2165 case 1462 : /* fall through */
2166 case 1463 : /* fall through */
2167 case 1464 : /* fall through */
2168 case 1465 : /* fall through */
2169 case 1466 : /* fall through */
2170 case 1467 : /* fall through */
2171 case 1468 : /* fall through */
2172 case 1469 : /* fall through */
2173 case 1470 : /* fall through */
2174 case 1471 : /* fall through */
2175 case 1472 : /* fall through */
2176 case 1473 : /* fall through */
2177 case 1474 : /* fall through */
2178 case 1475 : /* fall through */
2179 case 1476 : /* fall through */
2180 case 1477 : /* fall through */
2181 case 1478 : /* fall through */
2182 case 1479 : /* fall through */
2183 case 1480 : /* fall through */
2184 case 1481 : /* fall through */
2185 case 1482 : /* fall through */
2186 case 1483 : /* fall through */
2187 case 1484 : /* fall through */
2188 case 1485 : /* fall through */
2189 case 1486 : /* fall through */
2190 case 1487 : /* fall through */
2191 case 1488 : /* fall through */
2192 case 1489 : /* fall through */
2193 case 1490 : /* fall through */
2194 case 1491 : /* fall through */
2195 case 1492 : /* fall through */
2196 case 1493 : /* fall through */
2197 case 1494 : /* fall through */
2198 case 1495 : /* fall through */
2199 case 1496 : /* fall through */
2200 case 1497 : /* fall through */
2201 case 1498 : /* fall through */
2202 case 1499 : /* fall through */
2203 case 1500 : /* fall through */
2204 case 1501 : /* fall through */
2205 case 1502 : /* fall through */
2206 case 1503 : /* fall through */
2207 case 1504 : /* fall through */
2208 case 1505 : /* fall through */
2209 case 1506 : /* fall through */
2210 case 1507 : /* fall through */
2211 case 1508 : /* fall through */
2212 case 1509 : /* fall through */
2213 case 1510 : /* fall through */
2214 case 1511 : /* fall through */
2215 case 1512 : /* fall through */
2216 case 1513 : /* fall through */
2217 case 1514 : /* fall through */
2218 case 1515 : /* fall through */
2219 case 1516 : /* fall through */
2220 case 1517 : /* fall through */
2221 case 1518 : /* fall through */
2222 case 1519 : /* fall through */
2223 case 1520 : /* fall through */
2224 case 1521 : /* fall through */
2225 case 1522 : /* fall through */
2226 case 1523 : /* fall through */
2227 case 1524 : /* fall through */
2228 case 1525 : /* fall through */
2229 case 1526 : /* fall through */
2230 case 1527 : /* fall through */
2231 case 1528 : /* fall through */
2232 case 1529 : /* fall through */
2233 case 1530 : /* fall through */
2234 case 1531 : /* fall through */
2235 case 1532 : /* fall through */
2236 case 1533 : /* fall through */
2237 case 1534 : /* fall through */
2239 entire_insn = entire_insn >> 16;
2240 itype = SH2E_INSN_BSR_COMPACT; sh2e_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2241 case 1536 : /* fall through */
2242 case 1537 : /* fall through */
2243 case 1538 : /* fall through */
2244 case 1539 : /* fall through */
2245 case 1540 : /* fall through */
2246 case 1541 : /* fall through */
2247 case 1542 : /* fall through */
2248 case 1543 : /* fall through */
2249 case 1544 : /* fall through */
2250 case 1545 : /* fall through */
2251 case 1546 : /* fall through */
2252 case 1547 : /* fall through */
2253 case 1548 : /* fall through */
2254 case 1549 : /* fall through */
2255 case 1550 : /* fall through */
2256 case 1551 : /* fall through */
2257 case 1552 : /* fall through */
2258 case 1553 : /* fall through */
2259 case 1554 : /* fall through */
2260 case 1555 : /* fall through */
2261 case 1556 : /* fall through */
2262 case 1557 : /* fall through */
2263 case 1558 : /* fall through */
2264 case 1559 : /* fall through */
2265 case 1560 : /* fall through */
2266 case 1561 : /* fall through */
2267 case 1562 : /* fall through */
2268 case 1563 : /* fall through */
2269 case 1564 : /* fall through */
2270 case 1565 : /* fall through */
2271 case 1566 : /* fall through */
2272 case 1567 : /* fall through */
2273 case 1568 : /* fall through */
2274 case 1569 : /* fall through */
2275 case 1570 : /* fall through */
2276 case 1571 : /* fall through */
2277 case 1572 : /* fall through */
2278 case 1573 : /* fall through */
2279 case 1574 : /* fall through */
2280 case 1575 : /* fall through */
2281 case 1576 : /* fall through */
2282 case 1577 : /* fall through */
2283 case 1578 : /* fall through */
2284 case 1579 : /* fall through */
2285 case 1580 : /* fall through */
2286 case 1581 : /* fall through */
2287 case 1582 : /* fall through */
2288 case 1583 : /* fall through */
2289 case 1584 : /* fall through */
2290 case 1585 : /* fall through */
2291 case 1586 : /* fall through */
2292 case 1587 : /* fall through */
2293 case 1588 : /* fall through */
2294 case 1589 : /* fall through */
2295 case 1590 : /* fall through */
2296 case 1591 : /* fall through */
2297 case 1592 : /* fall through */
2298 case 1593 : /* fall through */
2299 case 1594 : /* fall through */
2300 case 1595 : /* fall through */
2301 case 1596 : /* fall through */
2302 case 1597 : /* fall through */
2303 case 1598 : /* fall through */
2304 case 1599 : /* fall through */
2305 case 1600 : /* fall through */
2306 case 1601 : /* fall through */
2307 case 1602 : /* fall through */
2308 case 1603 : /* fall through */
2309 case 1604 : /* fall through */
2310 case 1605 : /* fall through */
2311 case 1606 : /* fall through */
2312 case 1607 : /* fall through */
2313 case 1608 : /* fall through */
2314 case 1609 : /* fall through */
2315 case 1610 : /* fall through */
2316 case 1611 : /* fall through */
2317 case 1612 : /* fall through */
2318 case 1613 : /* fall through */
2319 case 1614 : /* fall through */
2320 case 1615 : /* fall through */
2321 case 1616 : /* fall through */
2322 case 1617 : /* fall through */
2323 case 1618 : /* fall through */
2324 case 1619 : /* fall through */
2325 case 1620 : /* fall through */
2326 case 1621 : /* fall through */
2327 case 1622 : /* fall through */
2328 case 1623 : /* fall through */
2329 case 1624 : /* fall through */
2330 case 1625 : /* fall through */
2331 case 1626 : /* fall through */
2332 case 1627 : /* fall through */
2333 case 1628 : /* fall through */
2334 case 1629 : /* fall through */
2335 case 1630 : /* fall through */
2336 case 1631 : /* fall through */
2337 case 1632 : /* fall through */
2338 case 1633 : /* fall through */
2339 case 1634 : /* fall through */
2340 case 1635 : /* fall through */
2341 case 1636 : /* fall through */
2342 case 1637 : /* fall through */
2343 case 1638 : /* fall through */
2344 case 1639 : /* fall through */
2345 case 1640 : /* fall through */
2346 case 1641 : /* fall through */
2347 case 1642 : /* fall through */
2348 case 1643 : /* fall through */
2349 case 1644 : /* fall through */
2350 case 1645 : /* fall through */
2351 case 1646 : /* fall through */
2352 case 1647 : /* fall through */
2353 case 1648 : /* fall through */
2354 case 1649 : /* fall through */
2355 case 1650 : /* fall through */
2356 case 1651 : /* fall through */
2357 case 1652 : /* fall through */
2358 case 1653 : /* fall through */
2359 case 1654 : /* fall through */
2360 case 1655 : /* fall through */
2361 case 1656 : /* fall through */
2362 case 1657 : /* fall through */
2363 case 1658 : /* fall through */
2364 case 1659 : /* fall through */
2365 case 1660 : /* fall through */
2366 case 1661 : /* fall through */
2367 case 1662 : /* fall through */
2370 unsigned int val = (((insn >> 24) & (15 << 0)));
2374 entire_insn = entire_insn >> 16;
2375 itype = SH2E_INSN_MOVB4_COMPACT; sh2e_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2377 entire_insn = entire_insn >> 16;
2378 itype = SH2E_INSN_MOVW4_COMPACT; sh2e_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2380 entire_insn = entire_insn >> 16;
2381 itype = SH2E_INSN_MOVL4_COMPACT; sh2e_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2383 entire_insn = entire_insn >> 16;
2384 itype = SH2E_INSN_TRAPA_COMPACT; sh2e_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2386 entire_insn = entire_insn >> 16;
2387 itype = SH2E_INSN_MOVB9_COMPACT; sh2e_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2389 entire_insn = entire_insn >> 16;
2390 itype = SH2E_INSN_MOVW9_COMPACT; sh2e_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2392 entire_insn = entire_insn >> 16;
2393 itype = SH2E_INSN_MOVL9_COMPACT; sh2e_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2395 entire_insn = entire_insn >> 16;
2396 itype = SH2E_INSN_MOVA_COMPACT; sh2e_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2398 entire_insn = entire_insn >> 16;
2399 itype = SH2E_INSN_TSTI_COMPACT; sh2e_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2401 entire_insn = entire_insn >> 16;
2402 itype = SH2E_INSN_ANDI_COMPACT; sh2e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2404 entire_insn = entire_insn >> 16;
2405 itype = SH2E_INSN_XORI_COMPACT; sh2e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2407 entire_insn = entire_insn >> 16;
2408 itype = SH2E_INSN_ORI_COMPACT; sh2e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2410 entire_insn = entire_insn >> 16;
2411 itype = SH2E_INSN_TSTB_COMPACT; sh2e_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2413 entire_insn = entire_insn >> 16;
2414 itype = SH2E_INSN_ANDB_COMPACT; sh2e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2416 entire_insn = entire_insn >> 16;
2417 itype = SH2E_INSN_XORB_COMPACT; sh2e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2419 entire_insn = entire_insn >> 16;
2420 itype = SH2E_INSN_ORB_COMPACT; sh2e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2421 default : itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2424 case 1664 : /* fall through */
2425 case 1665 : /* fall through */
2426 case 1666 : /* fall through */
2427 case 1667 : /* fall through */
2428 case 1668 : /* fall through */
2429 case 1669 : /* fall through */
2430 case 1670 : /* fall through */
2431 case 1671 : /* fall through */
2432 case 1672 : /* fall through */
2433 case 1673 : /* fall through */
2434 case 1674 : /* fall through */
2435 case 1675 : /* fall through */
2436 case 1676 : /* fall through */
2437 case 1677 : /* fall through */
2438 case 1678 : /* fall through */
2439 case 1679 : /* fall through */
2440 case 1680 : /* fall through */
2441 case 1681 : /* fall through */
2442 case 1682 : /* fall through */
2443 case 1683 : /* fall through */
2444 case 1684 : /* fall through */
2445 case 1685 : /* fall through */
2446 case 1686 : /* fall through */
2447 case 1687 : /* fall through */
2448 case 1688 : /* fall through */
2449 case 1689 : /* fall through */
2450 case 1690 : /* fall through */
2451 case 1691 : /* fall through */
2452 case 1692 : /* fall through */
2453 case 1693 : /* fall through */
2454 case 1694 : /* fall through */
2455 case 1695 : /* fall through */
2456 case 1696 : /* fall through */
2457 case 1697 : /* fall through */
2458 case 1698 : /* fall through */
2459 case 1699 : /* fall through */
2460 case 1700 : /* fall through */
2461 case 1701 : /* fall through */
2462 case 1702 : /* fall through */
2463 case 1703 : /* fall through */
2464 case 1704 : /* fall through */
2465 case 1705 : /* fall through */
2466 case 1706 : /* fall through */
2467 case 1707 : /* fall through */
2468 case 1708 : /* fall through */
2469 case 1709 : /* fall through */
2470 case 1710 : /* fall through */
2471 case 1711 : /* fall through */
2472 case 1712 : /* fall through */
2473 case 1713 : /* fall through */
2474 case 1714 : /* fall through */
2475 case 1715 : /* fall through */
2476 case 1716 : /* fall through */
2477 case 1717 : /* fall through */
2478 case 1718 : /* fall through */
2479 case 1719 : /* fall through */
2480 case 1720 : /* fall through */
2481 case 1721 : /* fall through */
2482 case 1722 : /* fall through */
2483 case 1723 : /* fall through */
2484 case 1724 : /* fall through */
2485 case 1725 : /* fall through */
2486 case 1726 : /* fall through */
2487 case 1727 : /* fall through */
2488 case 1728 : /* fall through */
2489 case 1729 : /* fall through */
2490 case 1730 : /* fall through */
2491 case 1731 : /* fall through */
2492 case 1732 : /* fall through */
2493 case 1733 : /* fall through */
2494 case 1734 : /* fall through */
2495 case 1735 : /* fall through */
2496 case 1736 : /* fall through */
2497 case 1737 : /* fall through */
2498 case 1738 : /* fall through */
2499 case 1739 : /* fall through */
2500 case 1740 : /* fall through */
2501 case 1741 : /* fall through */
2502 case 1742 : /* fall through */
2503 case 1743 : /* fall through */
2504 case 1744 : /* fall through */
2505 case 1745 : /* fall through */
2506 case 1746 : /* fall through */
2507 case 1747 : /* fall through */
2508 case 1748 : /* fall through */
2509 case 1749 : /* fall through */
2510 case 1750 : /* fall through */
2511 case 1751 : /* fall through */
2512 case 1752 : /* fall through */
2513 case 1753 : /* fall through */
2514 case 1754 : /* fall through */
2515 case 1755 : /* fall through */
2516 case 1756 : /* fall through */
2517 case 1757 : /* fall through */
2518 case 1758 : /* fall through */
2519 case 1759 : /* fall through */
2520 case 1760 : /* fall through */
2521 case 1761 : /* fall through */
2522 case 1762 : /* fall through */
2523 case 1763 : /* fall through */
2524 case 1764 : /* fall through */
2525 case 1765 : /* fall through */
2526 case 1766 : /* fall through */
2527 case 1767 : /* fall through */
2528 case 1768 : /* fall through */
2529 case 1769 : /* fall through */
2530 case 1770 : /* fall through */
2531 case 1771 : /* fall through */
2532 case 1772 : /* fall through */
2533 case 1773 : /* fall through */
2534 case 1774 : /* fall through */
2535 case 1775 : /* fall through */
2536 case 1776 : /* fall through */
2537 case 1777 : /* fall through */
2538 case 1778 : /* fall through */
2539 case 1779 : /* fall through */
2540 case 1780 : /* fall through */
2541 case 1781 : /* fall through */
2542 case 1782 : /* fall through */
2543 case 1783 : /* fall through */
2544 case 1784 : /* fall through */
2545 case 1785 : /* fall through */
2546 case 1786 : /* fall through */
2547 case 1787 : /* fall through */
2548 case 1788 : /* fall through */
2549 case 1789 : /* fall through */
2550 case 1790 : /* fall through */
2552 entire_insn = entire_insn >> 16;
2553 itype = SH2E_INSN_MOVL10_COMPACT; sh2e_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2554 case 1792 : /* fall through */
2555 case 1793 : /* fall through */
2556 case 1794 : /* fall through */
2557 case 1795 : /* fall through */
2558 case 1796 : /* fall through */
2559 case 1797 : /* fall through */
2560 case 1798 : /* fall through */
2561 case 1799 : /* fall through */
2562 case 1800 : /* fall through */
2563 case 1801 : /* fall through */
2564 case 1802 : /* fall through */
2565 case 1803 : /* fall through */
2566 case 1804 : /* fall through */
2567 case 1805 : /* fall through */
2568 case 1806 : /* fall through */
2569 case 1807 : /* fall through */
2570 case 1808 : /* fall through */
2571 case 1809 : /* fall through */
2572 case 1810 : /* fall through */
2573 case 1811 : /* fall through */
2574 case 1812 : /* fall through */
2575 case 1813 : /* fall through */
2576 case 1814 : /* fall through */
2577 case 1815 : /* fall through */
2578 case 1816 : /* fall through */
2579 case 1817 : /* fall through */
2580 case 1818 : /* fall through */
2581 case 1819 : /* fall through */
2582 case 1820 : /* fall through */
2583 case 1821 : /* fall through */
2584 case 1822 : /* fall through */
2585 case 1823 : /* fall through */
2586 case 1824 : /* fall through */
2587 case 1825 : /* fall through */
2588 case 1826 : /* fall through */
2589 case 1827 : /* fall through */
2590 case 1828 : /* fall through */
2591 case 1829 : /* fall through */
2592 case 1830 : /* fall through */
2593 case 1831 : /* fall through */
2594 case 1832 : /* fall through */
2595 case 1833 : /* fall through */
2596 case 1834 : /* fall through */
2597 case 1835 : /* fall through */
2598 case 1836 : /* fall through */
2599 case 1837 : /* fall through */
2600 case 1838 : /* fall through */
2601 case 1839 : /* fall through */
2602 case 1840 : /* fall through */
2603 case 1841 : /* fall through */
2604 case 1842 : /* fall through */
2605 case 1843 : /* fall through */
2606 case 1844 : /* fall through */
2607 case 1845 : /* fall through */
2608 case 1846 : /* fall through */
2609 case 1847 : /* fall through */
2610 case 1848 : /* fall through */
2611 case 1849 : /* fall through */
2612 case 1850 : /* fall through */
2613 case 1851 : /* fall through */
2614 case 1852 : /* fall through */
2615 case 1853 : /* fall through */
2616 case 1854 : /* fall through */
2617 case 1855 : /* fall through */
2618 case 1856 : /* fall through */
2619 case 1857 : /* fall through */
2620 case 1858 : /* fall through */
2621 case 1859 : /* fall through */
2622 case 1860 : /* fall through */
2623 case 1861 : /* fall through */
2624 case 1862 : /* fall through */
2625 case 1863 : /* fall through */
2626 case 1864 : /* fall through */
2627 case 1865 : /* fall through */
2628 case 1866 : /* fall through */
2629 case 1867 : /* fall through */
2630 case 1868 : /* fall through */
2631 case 1869 : /* fall through */
2632 case 1870 : /* fall through */
2633 case 1871 : /* fall through */
2634 case 1872 : /* fall through */
2635 case 1873 : /* fall through */
2636 case 1874 : /* fall through */
2637 case 1875 : /* fall through */
2638 case 1876 : /* fall through */
2639 case 1877 : /* fall through */
2640 case 1878 : /* fall through */
2641 case 1879 : /* fall through */
2642 case 1880 : /* fall through */
2643 case 1881 : /* fall through */
2644 case 1882 : /* fall through */
2645 case 1883 : /* fall through */
2646 case 1884 : /* fall through */
2647 case 1885 : /* fall through */
2648 case 1886 : /* fall through */
2649 case 1887 : /* fall through */
2650 case 1888 : /* fall through */
2651 case 1889 : /* fall through */
2652 case 1890 : /* fall through */
2653 case 1891 : /* fall through */
2654 case 1892 : /* fall through */
2655 case 1893 : /* fall through */
2656 case 1894 : /* fall through */
2657 case 1895 : /* fall through */
2658 case 1896 : /* fall through */
2659 case 1897 : /* fall through */
2660 case 1898 : /* fall through */
2661 case 1899 : /* fall through */
2662 case 1900 : /* fall through */
2663 case 1901 : /* fall through */
2664 case 1902 : /* fall through */
2665 case 1903 : /* fall through */
2666 case 1904 : /* fall through */
2667 case 1905 : /* fall through */
2668 case 1906 : /* fall through */
2669 case 1907 : /* fall through */
2670 case 1908 : /* fall through */
2671 case 1909 : /* fall through */
2672 case 1910 : /* fall through */
2673 case 1911 : /* fall through */
2674 case 1912 : /* fall through */
2675 case 1913 : /* fall through */
2676 case 1914 : /* fall through */
2677 case 1915 : /* fall through */
2678 case 1916 : /* fall through */
2679 case 1917 : /* fall through */
2680 case 1918 : /* fall through */
2682 entire_insn = entire_insn >> 16;
2683 itype = SH2E_INSN_MOVI_COMPACT; sh2e_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2684 case 1920 : /* fall through */
2685 case 1936 : /* fall through */
2686 case 1952 : /* fall through */
2687 case 1968 : /* fall through */
2688 case 1984 : /* fall through */
2689 case 2000 : /* fall through */
2690 case 2016 : /* fall through */
2692 entire_insn = entire_insn >> 16;
2693 itype = SH2E_INSN_FADD_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2694 case 1921 : /* fall through */
2695 case 1937 : /* fall through */
2696 case 1953 : /* fall through */
2697 case 1969 : /* fall through */
2698 case 1985 : /* fall through */
2699 case 2001 : /* fall through */
2700 case 2017 : /* fall through */
2702 entire_insn = entire_insn >> 16;
2703 itype = SH2E_INSN_FSUB_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2704 case 1922 : /* fall through */
2705 case 1938 : /* fall through */
2706 case 1954 : /* fall through */
2707 case 1970 : /* fall through */
2708 case 1986 : /* fall through */
2709 case 2002 : /* fall through */
2710 case 2018 : /* fall through */
2712 entire_insn = entire_insn >> 16;
2713 itype = SH2E_INSN_FMUL_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2714 case 1923 : /* fall through */
2715 case 1939 : /* fall through */
2716 case 1955 : /* fall through */
2717 case 1971 : /* fall through */
2718 case 1987 : /* fall through */
2719 case 2003 : /* fall through */
2720 case 2019 : /* fall through */
2722 entire_insn = entire_insn >> 16;
2723 itype = SH2E_INSN_FDIV_COMPACT; sh2e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2724 case 1924 : /* fall through */
2725 case 1940 : /* fall through */
2726 case 1956 : /* fall through */
2727 case 1972 : /* fall through */
2728 case 1988 : /* fall through */
2729 case 2004 : /* fall through */
2730 case 2020 : /* fall through */
2732 entire_insn = entire_insn >> 16;
2733 itype = SH2E_INSN_FCMPEQ_COMPACT; sh2e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2734 case 1925 : /* fall through */
2735 case 1941 : /* fall through */
2736 case 1957 : /* fall through */
2737 case 1973 : /* fall through */
2738 case 1989 : /* fall through */
2739 case 2005 : /* fall through */
2740 case 2021 : /* fall through */
2742 entire_insn = entire_insn >> 16;
2743 itype = SH2E_INSN_FCMPGT_COMPACT; sh2e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2744 case 1926 : /* fall through */
2745 case 1942 : /* fall through */
2746 case 1958 : /* fall through */
2747 case 1974 : /* fall through */
2748 case 1990 : /* fall through */
2749 case 2006 : /* fall through */
2750 case 2022 : /* fall through */
2752 entire_insn = entire_insn >> 16;
2753 itype = SH2E_INSN_FMOV4_COMPACT; sh2e_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2754 case 1927 : /* fall through */
2755 case 1943 : /* fall through */
2756 case 1959 : /* fall through */
2757 case 1975 : /* fall through */
2758 case 1991 : /* fall through */
2759 case 2007 : /* fall through */
2760 case 2023 : /* fall through */
2762 entire_insn = entire_insn >> 16;
2763 itype = SH2E_INSN_FMOV7_COMPACT; sh2e_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2764 case 1928 : /* fall through */
2765 case 1944 : /* fall through */
2766 case 1960 : /* fall through */
2767 case 1976 : /* fall through */
2768 case 1992 : /* fall through */
2769 case 2008 : /* fall through */
2770 case 2024 : /* fall through */
2772 entire_insn = entire_insn >> 16;
2773 itype = SH2E_INSN_FMOV2_COMPACT; sh2e_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2774 case 1929 : /* fall through */
2775 case 1945 : /* fall through */
2776 case 1961 : /* fall through */
2777 case 1977 : /* fall through */
2778 case 1993 : /* fall through */
2779 case 2009 : /* fall through */
2780 case 2025 : /* fall through */
2782 entire_insn = entire_insn >> 16;
2783 itype = SH2E_INSN_FMOV3_COMPACT; sh2e_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2784 case 1930 : /* fall through */
2785 case 1946 : /* fall through */
2786 case 1962 : /* fall through */
2787 case 1978 : /* fall through */
2788 case 1994 : /* fall through */
2789 case 2010 : /* fall through */
2790 case 2026 : /* fall through */
2792 entire_insn = entire_insn >> 16;
2793 itype = SH2E_INSN_FMOV5_COMPACT; sh2e_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2794 case 1931 : /* fall through */
2795 case 1947 : /* fall through */
2796 case 1963 : /* fall through */
2797 case 1979 : /* fall through */
2798 case 1995 : /* fall through */
2799 case 2011 : /* fall through */
2800 case 2027 : /* fall through */
2802 entire_insn = entire_insn >> 16;
2803 itype = SH2E_INSN_FMOV6_COMPACT; sh2e_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2804 case 1932 : /* fall through */
2805 case 1948 : /* fall through */
2806 case 1964 : /* fall through */
2807 case 1980 : /* fall through */
2808 case 1996 : /* fall through */
2809 case 2012 : /* fall through */
2810 case 2028 : /* fall through */
2812 entire_insn = entire_insn >> 16;
2813 itype = SH2E_INSN_FMOV1_COMPACT; sh2e_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2816 unsigned int val = (((insn >> 23) & (1 << 0)));
2820 entire_insn = entire_insn >> 16;
2821 itype = SH2E_INSN_FSTS_COMPACT; sh2e_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2823 entire_insn = entire_insn >> 16;
2824 itype = SH2E_INSN_FLDI0_COMPACT; sh2e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2825 default : itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2828 case 1934 : /* fall through */
2829 case 1950 : /* fall through */
2830 case 1966 : /* fall through */
2831 case 1982 : /* fall through */
2832 case 1998 : /* fall through */
2833 case 2014 : /* fall through */
2834 case 2030 : /* fall through */
2836 entire_insn = entire_insn >> 16;
2837 itype = SH2E_INSN_FMAC_COMPACT; sh2e_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2840 unsigned int val = (((insn >> 23) & (1 << 0)));
2844 entire_insn = entire_insn >> 16;
2845 itype = SH2E_INSN_FLDS_COMPACT; sh2e_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2847 entire_insn = entire_insn >> 16;
2848 itype = SH2E_INSN_FLDI1_COMPACT; sh2e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2849 default : itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2853 entire_insn = entire_insn >> 16;
2854 if ((entire_insn & 0xf0ff) == 0xf02d)
2855 { itype = SH2E_INSN_FLOAT_COMPACT; sh2e_extract_sfmt_float_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2856 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2858 entire_insn = entire_insn >> 16;
2859 if ((entire_insn & 0xf0ff) == 0xf03d)
2860 { itype = SH2E_INSN_FTRC_COMPACT; sh2e_extract_sfmt_ftrc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2861 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2863 entire_insn = entire_insn >> 16;
2864 if ((entire_insn & 0xf0ff) == 0xf04d)
2865 { itype = SH2E_INSN_FNEG_COMPACT; sh2e_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2866 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2868 entire_insn = entire_insn >> 16;
2869 if ((entire_insn & 0xf0ff) == 0xf05d)
2870 { itype = SH2E_INSN_FABS_COMPACT; sh2e_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2871 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2874 unsigned int val = (((insn >> 27) & (1 << 0)));
2878 entire_insn = entire_insn >> 16;
2879 if ((entire_insn & 0xffff) == 0xf3fd)
2880 { itype = SH2E_INSN_FSCHG_COMPACT; sh2e_extract_sfmt_fschg_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2881 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2883 entire_insn = entire_insn >> 16;
2884 if ((entire_insn & 0xffff) == 0xfbfd)
2885 { itype = SH2E_INSN_FRCHG_COMPACT; sh2e_extract_sfmt_frchg_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2886 itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2887 default : itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2890 default : itype = SH2E_INSN_X_INVALID; sh2e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2896 /* The instruction has been decoded and fields extracted. */
2900 // FIXME: To be redone (to handle ISA variants).
2901 this->idesc = & sh2e_idesc::idesc_table[itype];
2902 // ??? record semantic handler?
2903 assert(this->idesc->sem_index == itype);
2907 sh2e_extract_sfmt_empty (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
2908 sh2e_insn_word insn = entire_insn;
2909 #define FLD(f) abuf->fields.fmt_empty.f
2912 /* Record the fields for the semantic handler. */
2913 if (UNLIKELY(current_cpu->trace_extract_p))
2915 current_cpu->trace_stream
2916 << "0x" << hex << pc << dec << " (sfmt_empty)\t"
2924 sh2e_extract_sfmt_add_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
2925 sh2e_insn_word insn = entire_insn;
2926 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2930 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2931 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2933 /* Record the fields for the semantic handler. */
2936 if (UNLIKELY(current_cpu->trace_extract_p))
2938 current_cpu->trace_stream
2939 << "0x" << hex << pc << dec << " (sfmt_add_compact)\t"
2940 << " f_rm:0x" << hex << f_rm << dec
2941 << " f_rn:0x" << hex << f_rn << dec
2945 /* Record the fields for profiling. */
2946 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2950 FLD (out_rn) = f_rn;
2956 sh2e_extract_sfmt_addi_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
2957 sh2e_insn_word insn = entire_insn;
2958 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2962 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2963 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2965 /* Record the fields for the semantic handler. */
2966 FLD (f_imm8) = f_imm8;
2968 if (UNLIKELY(current_cpu->trace_extract_p))
2970 current_cpu->trace_stream
2971 << "0x" << hex << pc << dec << " (sfmt_addi_compact)\t"
2972 << " f_imm8:0x" << hex << f_imm8 << dec
2973 << " f_rn:0x" << hex << f_rn << dec
2977 /* Record the fields for profiling. */
2978 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2981 FLD (out_rn) = f_rn;
2987 sh2e_extract_sfmt_addc_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
2988 sh2e_insn_word insn = entire_insn;
2989 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2993 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2994 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2996 /* Record the fields for the semantic handler. */
2999 if (UNLIKELY(current_cpu->trace_extract_p))
3001 current_cpu->trace_stream
3002 << "0x" << hex << pc << dec << " (sfmt_addc_compact)\t"
3003 << " f_rm:0x" << hex << f_rm << dec
3004 << " f_rn:0x" << hex << f_rn << dec
3008 /* Record the fields for profiling. */
3009 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3013 FLD (out_rn) = f_rn;
3019 sh2e_extract_sfmt_addv_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3020 sh2e_insn_word insn = entire_insn;
3021 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3025 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3026 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3028 /* Record the fields for the semantic handler. */
3031 if (UNLIKELY(current_cpu->trace_extract_p))
3033 current_cpu->trace_stream
3034 << "0x" << hex << pc << dec << " (sfmt_addv_compact)\t"
3035 << " f_rm:0x" << hex << f_rm << dec
3036 << " f_rn:0x" << hex << f_rn << dec
3040 /* Record the fields for profiling. */
3041 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3045 FLD (out_rn) = f_rn;
3051 sh2e_extract_sfmt_and_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3052 sh2e_insn_word insn = entire_insn;
3053 #define FLD(f) abuf->fields.sfmt_and_compact.f
3057 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3058 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3060 /* Record the fields for the semantic handler. */
3063 if (UNLIKELY(current_cpu->trace_extract_p))
3065 current_cpu->trace_stream
3066 << "0x" << hex << pc << dec << " (sfmt_and_compact)\t"
3067 << " f_rm:0x" << hex << f_rm << dec
3068 << " f_rn:0x" << hex << f_rn << dec
3072 /* Record the fields for profiling. */
3073 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3075 FLD (in_rm64) = f_rm;
3076 FLD (in_rn64) = f_rn;
3077 FLD (out_rn64) = f_rn;
3083 sh2e_extract_sfmt_andi_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3084 sh2e_insn_word insn = entire_insn;
3085 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3088 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3090 /* Record the fields for the semantic handler. */
3091 FLD (f_imm8) = f_imm8;
3092 if (UNLIKELY(current_cpu->trace_extract_p))
3094 current_cpu->trace_stream
3095 << "0x" << hex << pc << dec << " (sfmt_andi_compact)\t"
3096 << " f_imm8:0x" << hex << f_imm8 << dec
3100 /* Record the fields for profiling. */
3101 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3110 sh2e_extract_sfmt_andb_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3111 sh2e_insn_word insn = entire_insn;
3112 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3115 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3117 /* Record the fields for the semantic handler. */
3118 FLD (f_imm8) = f_imm8;
3119 if (UNLIKELY(current_cpu->trace_extract_p))
3121 current_cpu->trace_stream
3122 << "0x" << hex << pc << dec << " (sfmt_andb_compact)\t"
3123 << " f_imm8:0x" << hex << f_imm8 << dec
3127 /* Record the fields for profiling. */
3128 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3136 sh2e_extract_sfmt_bf_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3137 sh2e_insn_word insn = entire_insn;
3138 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3141 f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3143 /* Record the fields for the semantic handler. */
3144 FLD (i_disp8) = f_disp8;
3145 if (UNLIKELY(current_cpu->trace_extract_p))
3147 current_cpu->trace_stream
3148 << "0x" << hex << pc << dec << " (sfmt_bf_compact)\t"
3152 /* Record the fields for profiling. */
3153 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3160 sh2e_extract_sfmt_bfs_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3161 sh2e_insn_word insn = entire_insn;
3162 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3165 f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3167 /* Record the fields for the semantic handler. */
3168 FLD (i_disp8) = f_disp8;
3169 if (UNLIKELY(current_cpu->trace_extract_p))
3171 current_cpu->trace_stream
3172 << "0x" << hex << pc << dec << " (sfmt_bfs_compact)\t"
3176 /* Record the fields for profiling. */
3177 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3184 sh2e_extract_sfmt_bra_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3185 sh2e_insn_word insn = entire_insn;
3186 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3189 f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3191 /* Record the fields for the semantic handler. */
3192 FLD (i_disp12) = f_disp12;
3193 if (UNLIKELY(current_cpu->trace_extract_p))
3195 current_cpu->trace_stream
3196 << "0x" << hex << pc << dec << " (sfmt_bra_compact)\t"
3200 /* Record the fields for profiling. */
3201 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3208 sh2e_extract_sfmt_braf_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3209 sh2e_insn_word insn = entire_insn;
3210 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3213 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3215 /* Record the fields for the semantic handler. */
3217 if (UNLIKELY(current_cpu->trace_extract_p))
3219 current_cpu->trace_stream
3220 << "0x" << hex << pc << dec << " (sfmt_braf_compact)\t"
3221 << " f_rn:0x" << hex << f_rn << dec
3225 /* Record the fields for profiling. */
3226 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3234 sh2e_extract_sfmt_bsr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3235 sh2e_insn_word insn = entire_insn;
3236 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3239 f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3241 /* Record the fields for the semantic handler. */
3242 FLD (i_disp12) = f_disp12;
3243 if (UNLIKELY(current_cpu->trace_extract_p))
3245 current_cpu->trace_stream
3246 << "0x" << hex << pc << dec << " (sfmt_bsr_compact)\t"
3250 /* Record the fields for profiling. */
3251 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3258 sh2e_extract_sfmt_bsrf_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3259 sh2e_insn_word insn = entire_insn;
3260 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3263 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3265 /* Record the fields for the semantic handler. */
3267 if (UNLIKELY(current_cpu->trace_extract_p))
3269 current_cpu->trace_stream
3270 << "0x" << hex << pc << dec << " (sfmt_bsrf_compact)\t"
3271 << " f_rn:0x" << hex << f_rn << dec
3275 /* Record the fields for profiling. */
3276 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3284 sh2e_extract_sfmt_clrmac_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3285 sh2e_insn_word insn = entire_insn;
3286 #define FLD(f) abuf->fields.fmt_empty.f
3289 /* Record the fields for the semantic handler. */
3290 if (UNLIKELY(current_cpu->trace_extract_p))
3292 current_cpu->trace_stream
3293 << "0x" << hex << pc << dec << " (sfmt_clrmac_compact)\t"
3301 sh2e_extract_sfmt_clrt_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3302 sh2e_insn_word insn = entire_insn;
3303 #define FLD(f) abuf->fields.fmt_empty.f
3306 /* Record the fields for the semantic handler. */
3307 if (UNLIKELY(current_cpu->trace_extract_p))
3309 current_cpu->trace_stream
3310 << "0x" << hex << pc << dec << " (sfmt_clrt_compact)\t"
3318 sh2e_extract_sfmt_cmpeq_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3319 sh2e_insn_word insn = entire_insn;
3320 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3324 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3325 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3327 /* Record the fields for the semantic handler. */
3330 if (UNLIKELY(current_cpu->trace_extract_p))
3332 current_cpu->trace_stream
3333 << "0x" << hex << pc << dec << " (sfmt_cmpeq_compact)\t"
3334 << " f_rm:0x" << hex << f_rm << dec
3335 << " f_rn:0x" << hex << f_rn << dec
3339 /* Record the fields for profiling. */
3340 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3349 sh2e_extract_sfmt_cmpeqi_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3350 sh2e_insn_word insn = entire_insn;
3351 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3354 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3356 /* Record the fields for the semantic handler. */
3357 FLD (f_imm8) = f_imm8;
3358 if (UNLIKELY(current_cpu->trace_extract_p))
3360 current_cpu->trace_stream
3361 << "0x" << hex << pc << dec << " (sfmt_cmpeqi_compact)\t"
3362 << " f_imm8:0x" << hex << f_imm8 << dec
3366 /* Record the fields for profiling. */
3367 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3375 sh2e_extract_sfmt_cmppl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3376 sh2e_insn_word insn = entire_insn;
3377 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3380 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3382 /* Record the fields for the semantic handler. */
3384 if (UNLIKELY(current_cpu->trace_extract_p))
3386 current_cpu->trace_stream
3387 << "0x" << hex << pc << dec << " (sfmt_cmppl_compact)\t"
3388 << " f_rn:0x" << hex << f_rn << dec
3392 /* Record the fields for profiling. */
3393 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3401 sh2e_extract_sfmt_div0s_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3402 sh2e_insn_word insn = entire_insn;
3403 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3407 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3408 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3410 /* Record the fields for the semantic handler. */
3413 if (UNLIKELY(current_cpu->trace_extract_p))
3415 current_cpu->trace_stream
3416 << "0x" << hex << pc << dec << " (sfmt_div0s_compact)\t"
3417 << " f_rm:0x" << hex << f_rm << dec
3418 << " f_rn:0x" << hex << f_rn << dec
3422 /* Record the fields for profiling. */
3423 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3432 sh2e_extract_sfmt_div0u_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3433 sh2e_insn_word insn = entire_insn;
3434 #define FLD(f) abuf->fields.fmt_empty.f
3437 /* Record the fields for the semantic handler. */
3438 if (UNLIKELY(current_cpu->trace_extract_p))
3440 current_cpu->trace_stream
3441 << "0x" << hex << pc << dec << " (sfmt_div0u_compact)\t"
3449 sh2e_extract_sfmt_div1_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3450 sh2e_insn_word insn = entire_insn;
3451 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3455 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3456 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3458 /* Record the fields for the semantic handler. */
3461 if (UNLIKELY(current_cpu->trace_extract_p))
3463 current_cpu->trace_stream
3464 << "0x" << hex << pc << dec << " (sfmt_div1_compact)\t"
3465 << " f_rm:0x" << hex << f_rm << dec
3466 << " f_rn:0x" << hex << f_rn << dec
3470 /* Record the fields for profiling. */
3471 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3475 FLD (out_rn) = f_rn;
3481 sh2e_extract_sfmt_dmulsl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3482 sh2e_insn_word insn = entire_insn;
3483 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3487 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3488 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3490 /* Record the fields for the semantic handler. */
3493 if (UNLIKELY(current_cpu->trace_extract_p))
3495 current_cpu->trace_stream
3496 << "0x" << hex << pc << dec << " (sfmt_dmulsl_compact)\t"
3497 << " f_rm:0x" << hex << f_rm << dec
3498 << " f_rn:0x" << hex << f_rn << dec
3502 /* Record the fields for profiling. */
3503 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3512 sh2e_extract_sfmt_dt_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3513 sh2e_insn_word insn = entire_insn;
3514 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3517 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3519 /* Record the fields for the semantic handler. */
3521 if (UNLIKELY(current_cpu->trace_extract_p))
3523 current_cpu->trace_stream
3524 << "0x" << hex << pc << dec << " (sfmt_dt_compact)\t"
3525 << " f_rn:0x" << hex << f_rn << dec
3529 /* Record the fields for profiling. */
3530 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3533 FLD (out_rn) = f_rn;
3539 sh2e_extract_sfmt_extsb_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3540 sh2e_insn_word insn = entire_insn;
3541 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
3545 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3546 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3548 /* Record the fields for the semantic handler. */
3551 if (UNLIKELY(current_cpu->trace_extract_p))
3553 current_cpu->trace_stream
3554 << "0x" << hex << pc << dec << " (sfmt_extsb_compact)\t"
3555 << " f_rm:0x" << hex << f_rm << dec
3556 << " f_rn:0x" << hex << f_rn << dec
3560 /* Record the fields for profiling. */
3561 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3564 FLD (out_rn) = f_rn;
3570 sh2e_extract_sfmt_fabs_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3571 sh2e_insn_word insn = entire_insn;
3572 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3575 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3577 /* Record the fields for the semantic handler. */
3579 if (UNLIKELY(current_cpu->trace_extract_p))
3581 current_cpu->trace_stream
3582 << "0x" << hex << pc << dec << " (sfmt_fabs_compact)\t"
3583 << " f_rn:0x" << hex << f_rn << dec
3587 /* Record the fields for profiling. */
3588 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3590 FLD (in_fsdn) = f_rn;
3591 FLD (out_fsdn) = f_rn;
3597 sh2e_extract_sfmt_fadd_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3598 sh2e_insn_word insn = entire_insn;
3599 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3603 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3604 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3606 /* Record the fields for the semantic handler. */
3609 if (UNLIKELY(current_cpu->trace_extract_p))
3611 current_cpu->trace_stream
3612 << "0x" << hex << pc << dec << " (sfmt_fadd_compact)\t"
3613 << " f_rm:0x" << hex << f_rm << dec
3614 << " f_rn:0x" << hex << f_rn << dec
3618 /* Record the fields for profiling. */
3619 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3621 FLD (in_fsdm) = f_rm;
3622 FLD (in_fsdn) = f_rn;
3623 FLD (out_fsdn) = f_rn;
3629 sh2e_extract_sfmt_fcmpeq_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3630 sh2e_insn_word insn = entire_insn;
3631 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3635 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3636 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3638 /* Record the fields for the semantic handler. */
3641 if (UNLIKELY(current_cpu->trace_extract_p))
3643 current_cpu->trace_stream
3644 << "0x" << hex << pc << dec << " (sfmt_fcmpeq_compact)\t"
3645 << " f_rm:0x" << hex << f_rm << dec
3646 << " f_rn:0x" << hex << f_rn << dec
3650 /* Record the fields for profiling. */
3651 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3653 FLD (in_fsdm) = f_rm;
3654 FLD (in_fsdn) = f_rn;
3660 sh2e_extract_sfmt_flds_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3661 sh2e_insn_word insn = entire_insn;
3662 #define FLD(f) abuf->fields.sfmt_flds_compact.f
3665 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3667 /* Record the fields for the semantic handler. */
3669 if (UNLIKELY(current_cpu->trace_extract_p))
3671 current_cpu->trace_stream
3672 << "0x" << hex << pc << dec << " (sfmt_flds_compact)\t"
3673 << " f_rn:0x" << hex << f_rn << dec
3677 /* Record the fields for profiling. */
3678 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3680 FLD (in_frn) = f_rn;
3681 FLD (out_fpul) = 32;
3687 sh2e_extract_sfmt_fldi0_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3688 sh2e_insn_word insn = entire_insn;
3689 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
3692 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3694 /* Record the fields for the semantic handler. */
3696 if (UNLIKELY(current_cpu->trace_extract_p))
3698 current_cpu->trace_stream
3699 << "0x" << hex << pc << dec << " (sfmt_fldi0_compact)\t"
3700 << " f_rn:0x" << hex << f_rn << dec
3704 /* Record the fields for profiling. */
3705 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3707 FLD (out_frn) = f_rn;
3713 sh2e_extract_sfmt_float_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3714 sh2e_insn_word insn = entire_insn;
3715 #define FLD(f) abuf->fields.sfmt_float_compact.f
3718 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3720 /* Record the fields for the semantic handler. */
3722 if (UNLIKELY(current_cpu->trace_extract_p))
3724 current_cpu->trace_stream
3725 << "0x" << hex << pc << dec << " (sfmt_float_compact)\t"
3726 << " f_rn:0x" << hex << f_rn << dec
3730 /* Record the fields for profiling. */
3731 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3734 FLD (out_fsdn) = f_rn;
3740 sh2e_extract_sfmt_fmac_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3741 sh2e_insn_word insn = entire_insn;
3742 #define FLD(f) abuf->fields.sfmt_fmac_compact.f
3746 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3747 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3749 /* Record the fields for the semantic handler. */
3752 if (UNLIKELY(current_cpu->trace_extract_p))
3754 current_cpu->trace_stream
3755 << "0x" << hex << pc << dec << " (sfmt_fmac_compact)\t"
3756 << " f_rm:0x" << hex << f_rm << dec
3757 << " f_rn:0x" << hex << f_rn << dec
3761 /* Record the fields for profiling. */
3762 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3765 FLD (in_frm) = f_rm;
3766 FLD (in_frn) = f_rn;
3767 FLD (out_frn) = f_rn;
3773 sh2e_extract_sfmt_fmov1_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3774 sh2e_insn_word insn = entire_insn;
3775 #define FLD(f) abuf->fields.sfmt_fmov1_compact.f
3779 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3780 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3782 /* Record the fields for the semantic handler. */
3785 if (UNLIKELY(current_cpu->trace_extract_p))
3787 current_cpu->trace_stream
3788 << "0x" << hex << pc << dec << " (sfmt_fmov1_compact)\t"
3789 << " f_rm:0x" << hex << f_rm << dec
3790 << " f_rn:0x" << hex << f_rn << dec
3794 /* Record the fields for profiling. */
3795 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3797 FLD (in_fmovm) = f_rm;
3798 FLD (out_fmovn) = f_rn;
3804 sh2e_extract_sfmt_fmov2_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3805 sh2e_insn_word insn = entire_insn;
3806 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
3810 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3811 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3813 /* Record the fields for the semantic handler. */
3816 if (UNLIKELY(current_cpu->trace_extract_p))
3818 current_cpu->trace_stream
3819 << "0x" << hex << pc << dec << " (sfmt_fmov2_compact)\t"
3820 << " f_rm:0x" << hex << f_rm << dec
3821 << " f_rn:0x" << hex << f_rn << dec
3825 /* Record the fields for profiling. */
3826 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3829 FLD (out_fmovn) = f_rn;
3835 sh2e_extract_sfmt_fmov3_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3836 sh2e_insn_word insn = entire_insn;
3837 #define FLD(f) abuf->fields.sfmt_fmov3_compact.f
3841 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3842 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3844 /* Record the fields for the semantic handler. */
3847 if (UNLIKELY(current_cpu->trace_extract_p))
3849 current_cpu->trace_stream
3850 << "0x" << hex << pc << dec << " (sfmt_fmov3_compact)\t"
3851 << " f_rm:0x" << hex << f_rm << dec
3852 << " f_rn:0x" << hex << f_rn << dec
3856 /* Record the fields for profiling. */
3857 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3860 FLD (out_fmovn) = f_rn;
3861 FLD (out_rm) = f_rm;
3867 sh2e_extract_sfmt_fmov4_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3868 sh2e_insn_word insn = entire_insn;
3869 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
3873 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3874 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3876 /* Record the fields for the semantic handler. */
3879 if (UNLIKELY(current_cpu->trace_extract_p))
3881 current_cpu->trace_stream
3882 << "0x" << hex << pc << dec << " (sfmt_fmov4_compact)\t"
3883 << " f_rm:0x" << hex << f_rm << dec
3884 << " f_rn:0x" << hex << f_rn << dec
3888 /* Record the fields for profiling. */
3889 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3893 FLD (out_fmovn) = f_rn;
3899 sh2e_extract_sfmt_fmov5_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3900 sh2e_insn_word insn = entire_insn;
3901 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
3905 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3906 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3908 /* Record the fields for the semantic handler. */
3911 if (UNLIKELY(current_cpu->trace_extract_p))
3913 current_cpu->trace_stream
3914 << "0x" << hex << pc << dec << " (sfmt_fmov5_compact)\t"
3915 << " f_rm:0x" << hex << f_rm << dec
3916 << " f_rn:0x" << hex << f_rn << dec
3920 /* Record the fields for profiling. */
3921 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3923 FLD (in_fmovm) = f_rm;
3930 sh2e_extract_sfmt_fmov6_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3931 sh2e_insn_word insn = entire_insn;
3932 #define FLD(f) abuf->fields.sfmt_fmov6_compact.f
3936 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3937 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3939 /* Record the fields for the semantic handler. */
3942 if (UNLIKELY(current_cpu->trace_extract_p))
3944 current_cpu->trace_stream
3945 << "0x" << hex << pc << dec << " (sfmt_fmov6_compact)\t"
3946 << " f_rm:0x" << hex << f_rm << dec
3947 << " f_rn:0x" << hex << f_rn << dec
3951 /* Record the fields for profiling. */
3952 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3954 FLD (in_fmovm) = f_rm;
3956 FLD (out_rn) = f_rn;
3962 sh2e_extract_sfmt_fmov7_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3963 sh2e_insn_word insn = entire_insn;
3964 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
3968 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3969 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3971 /* Record the fields for the semantic handler. */
3974 if (UNLIKELY(current_cpu->trace_extract_p))
3976 current_cpu->trace_stream
3977 << "0x" << hex << pc << dec << " (sfmt_fmov7_compact)\t"
3978 << " f_rm:0x" << hex << f_rm << dec
3979 << " f_rn:0x" << hex << f_rn << dec
3983 /* Record the fields for profiling. */
3984 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3986 FLD (in_fmovm) = f_rm;
3994 sh2e_extract_sfmt_frchg_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
3995 sh2e_insn_word insn = entire_insn;
3996 #define FLD(f) abuf->fields.fmt_empty.f
3999 /* Record the fields for the semantic handler. */
4000 if (UNLIKELY(current_cpu->trace_extract_p))
4002 current_cpu->trace_stream
4003 << "0x" << hex << pc << dec << " (sfmt_frchg_compact)\t"
4011 sh2e_extract_sfmt_fschg_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4012 sh2e_insn_word insn = entire_insn;
4013 #define FLD(f) abuf->fields.fmt_empty.f
4016 /* Record the fields for the semantic handler. */
4017 if (UNLIKELY(current_cpu->trace_extract_p))
4019 current_cpu->trace_stream
4020 << "0x" << hex << pc << dec << " (sfmt_fschg_compact)\t"
4028 sh2e_extract_sfmt_fsts_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4029 sh2e_insn_word insn = entire_insn;
4030 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
4033 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4035 /* Record the fields for the semantic handler. */
4037 if (UNLIKELY(current_cpu->trace_extract_p))
4039 current_cpu->trace_stream
4040 << "0x" << hex << pc << dec << " (sfmt_fsts_compact)\t"
4041 << " f_rn:0x" << hex << f_rn << dec
4045 /* Record the fields for profiling. */
4046 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4049 FLD (out_frn) = f_rn;
4055 sh2e_extract_sfmt_ftrc_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4056 sh2e_insn_word insn = entire_insn;
4057 #define FLD(f) abuf->fields.sfmt_ftrc_compact.f
4060 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4062 /* Record the fields for the semantic handler. */
4064 if (UNLIKELY(current_cpu->trace_extract_p))
4066 current_cpu->trace_stream
4067 << "0x" << hex << pc << dec << " (sfmt_ftrc_compact)\t"
4068 << " f_rn:0x" << hex << f_rn << dec
4072 /* Record the fields for profiling. */
4073 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4075 FLD (in_fsdn) = f_rn;
4076 FLD (out_fpul) = 32;
4082 sh2e_extract_sfmt_ldc_gbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4083 sh2e_insn_word insn = entire_insn;
4084 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4087 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4089 /* Record the fields for the semantic handler. */
4091 if (UNLIKELY(current_cpu->trace_extract_p))
4093 current_cpu->trace_stream
4094 << "0x" << hex << pc << dec << " (sfmt_ldc_gbr_compact)\t"
4095 << " f_rn:0x" << hex << f_rn << dec
4099 /* Record the fields for profiling. */
4100 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4108 sh2e_extract_sfmt_ldc_vbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4109 sh2e_insn_word insn = entire_insn;
4110 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4113 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4115 /* Record the fields for the semantic handler. */
4117 if (UNLIKELY(current_cpu->trace_extract_p))
4119 current_cpu->trace_stream
4120 << "0x" << hex << pc << dec << " (sfmt_ldc_vbr_compact)\t"
4121 << " f_rn:0x" << hex << f_rn << dec
4125 /* Record the fields for profiling. */
4126 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4134 sh2e_extract_sfmt_ldc_sr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4135 sh2e_insn_word insn = entire_insn;
4136 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4139 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4141 /* Record the fields for the semantic handler. */
4143 if (UNLIKELY(current_cpu->trace_extract_p))
4145 current_cpu->trace_stream
4146 << "0x" << hex << pc << dec << " (sfmt_ldc_sr_compact)\t"
4147 << " f_rn:0x" << hex << f_rn << dec
4151 /* Record the fields for profiling. */
4152 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4160 sh2e_extract_sfmt_ldcl_gbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4161 sh2e_insn_word insn = entire_insn;
4162 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4165 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4167 /* Record the fields for the semantic handler. */
4169 if (UNLIKELY(current_cpu->trace_extract_p))
4171 current_cpu->trace_stream
4172 << "0x" << hex << pc << dec << " (sfmt_ldcl_gbr_compact)\t"
4173 << " f_rn:0x" << hex << f_rn << dec
4177 /* Record the fields for profiling. */
4178 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4181 FLD (out_rn) = f_rn;
4187 sh2e_extract_sfmt_ldcl_vbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4188 sh2e_insn_word insn = entire_insn;
4189 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4192 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4194 /* Record the fields for the semantic handler. */
4196 if (UNLIKELY(current_cpu->trace_extract_p))
4198 current_cpu->trace_stream
4199 << "0x" << hex << pc << dec << " (sfmt_ldcl_vbr_compact)\t"
4200 << " f_rn:0x" << hex << f_rn << dec
4204 /* Record the fields for profiling. */
4205 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4208 FLD (out_rn) = f_rn;
4214 sh2e_extract_sfmt_lds_fpscr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4215 sh2e_insn_word insn = entire_insn;
4216 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4219 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4221 /* Record the fields for the semantic handler. */
4223 if (UNLIKELY(current_cpu->trace_extract_p))
4225 current_cpu->trace_stream
4226 << "0x" << hex << pc << dec << " (sfmt_lds_fpscr_compact)\t"
4227 << " f_rn:0x" << hex << f_rn << dec
4231 /* Record the fields for profiling. */
4232 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4240 sh2e_extract_sfmt_ldsl_fpscr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4241 sh2e_insn_word insn = entire_insn;
4242 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4245 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4247 /* Record the fields for the semantic handler. */
4249 if (UNLIKELY(current_cpu->trace_extract_p))
4251 current_cpu->trace_stream
4252 << "0x" << hex << pc << dec << " (sfmt_ldsl_fpscr_compact)\t"
4253 << " f_rn:0x" << hex << f_rn << dec
4257 /* Record the fields for profiling. */
4258 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4261 FLD (out_rn) = f_rn;
4267 sh2e_extract_sfmt_lds_fpul_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4268 sh2e_insn_word insn = entire_insn;
4269 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4272 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4274 /* Record the fields for the semantic handler. */
4276 if (UNLIKELY(current_cpu->trace_extract_p))
4278 current_cpu->trace_stream
4279 << "0x" << hex << pc << dec << " (sfmt_lds_fpul_compact)\t"
4280 << " f_rn:0x" << hex << f_rn << dec
4284 /* Record the fields for profiling. */
4285 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4288 FLD (out_fpul) = 32;
4294 sh2e_extract_sfmt_ldsl_fpul_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4295 sh2e_insn_word insn = entire_insn;
4296 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4299 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4301 /* Record the fields for the semantic handler. */
4303 if (UNLIKELY(current_cpu->trace_extract_p))
4305 current_cpu->trace_stream
4306 << "0x" << hex << pc << dec << " (sfmt_ldsl_fpul_compact)\t"
4307 << " f_rn:0x" << hex << f_rn << dec
4311 /* Record the fields for profiling. */
4312 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4315 FLD (out_fpul) = 32;
4316 FLD (out_rn) = f_rn;
4322 sh2e_extract_sfmt_lds_mach_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4323 sh2e_insn_word insn = entire_insn;
4324 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4327 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4329 /* Record the fields for the semantic handler. */
4331 if (UNLIKELY(current_cpu->trace_extract_p))
4333 current_cpu->trace_stream
4334 << "0x" << hex << pc << dec << " (sfmt_lds_mach_compact)\t"
4335 << " f_rn:0x" << hex << f_rn << dec
4339 /* Record the fields for profiling. */
4340 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4348 sh2e_extract_sfmt_ldsl_mach_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4349 sh2e_insn_word insn = entire_insn;
4350 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4353 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4355 /* Record the fields for the semantic handler. */
4357 if (UNLIKELY(current_cpu->trace_extract_p))
4359 current_cpu->trace_stream
4360 << "0x" << hex << pc << dec << " (sfmt_ldsl_mach_compact)\t"
4361 << " f_rn:0x" << hex << f_rn << dec
4365 /* Record the fields for profiling. */
4366 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4369 FLD (out_rn) = f_rn;
4375 sh2e_extract_sfmt_lds_macl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4376 sh2e_insn_word insn = entire_insn;
4377 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4380 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4382 /* Record the fields for the semantic handler. */
4384 if (UNLIKELY(current_cpu->trace_extract_p))
4386 current_cpu->trace_stream
4387 << "0x" << hex << pc << dec << " (sfmt_lds_macl_compact)\t"
4388 << " f_rn:0x" << hex << f_rn << dec
4392 /* Record the fields for profiling. */
4393 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4401 sh2e_extract_sfmt_ldsl_macl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4402 sh2e_insn_word insn = entire_insn;
4403 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4406 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4408 /* Record the fields for the semantic handler. */
4410 if (UNLIKELY(current_cpu->trace_extract_p))
4412 current_cpu->trace_stream
4413 << "0x" << hex << pc << dec << " (sfmt_ldsl_macl_compact)\t"
4414 << " f_rn:0x" << hex << f_rn << dec
4418 /* Record the fields for profiling. */
4419 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4422 FLD (out_rn) = f_rn;
4428 sh2e_extract_sfmt_lds_pr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4429 sh2e_insn_word insn = entire_insn;
4430 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4433 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4435 /* Record the fields for the semantic handler. */
4437 if (UNLIKELY(current_cpu->trace_extract_p))
4439 current_cpu->trace_stream
4440 << "0x" << hex << pc << dec << " (sfmt_lds_pr_compact)\t"
4441 << " f_rn:0x" << hex << f_rn << dec
4445 /* Record the fields for profiling. */
4446 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4454 sh2e_extract_sfmt_ldsl_pr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4455 sh2e_insn_word insn = entire_insn;
4456 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4459 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4461 /* Record the fields for the semantic handler. */
4463 if (UNLIKELY(current_cpu->trace_extract_p))
4465 current_cpu->trace_stream
4466 << "0x" << hex << pc << dec << " (sfmt_ldsl_pr_compact)\t"
4467 << " f_rn:0x" << hex << f_rn << dec
4471 /* Record the fields for profiling. */
4472 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4475 FLD (out_rn) = f_rn;
4481 sh2e_extract_sfmt_macl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4482 sh2e_insn_word insn = entire_insn;
4483 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4487 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4488 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4490 /* Record the fields for the semantic handler. */
4493 if (UNLIKELY(current_cpu->trace_extract_p))
4495 current_cpu->trace_stream
4496 << "0x" << hex << pc << dec << " (sfmt_macl_compact)\t"
4497 << " f_rm:0x" << hex << f_rm << dec
4498 << " f_rn:0x" << hex << f_rn << dec
4502 /* Record the fields for profiling. */
4503 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4507 FLD (out_rm) = f_rm;
4508 FLD (out_rn) = f_rn;
4514 sh2e_extract_sfmt_macw_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4515 sh2e_insn_word insn = entire_insn;
4516 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4520 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4521 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4523 /* Record the fields for the semantic handler. */
4526 if (UNLIKELY(current_cpu->trace_extract_p))
4528 current_cpu->trace_stream
4529 << "0x" << hex << pc << dec << " (sfmt_macw_compact)\t"
4530 << " f_rm:0x" << hex << f_rm << dec
4531 << " f_rn:0x" << hex << f_rn << dec
4535 /* Record the fields for profiling. */
4536 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4540 FLD (out_rm) = f_rm;
4541 FLD (out_rn) = f_rn;
4547 sh2e_extract_sfmt_mov_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4548 sh2e_insn_word insn = entire_insn;
4549 #define FLD(f) abuf->fields.sfmt_and_compact.f
4553 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4554 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4556 /* Record the fields for the semantic handler. */
4559 if (UNLIKELY(current_cpu->trace_extract_p))
4561 current_cpu->trace_stream
4562 << "0x" << hex << pc << dec << " (sfmt_mov_compact)\t"
4563 << " f_rm:0x" << hex << f_rm << dec
4564 << " f_rn:0x" << hex << f_rn << dec
4568 /* Record the fields for profiling. */
4569 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4571 FLD (in_rm64) = f_rm;
4572 FLD (out_rn64) = f_rn;
4578 sh2e_extract_sfmt_movi_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4579 sh2e_insn_word insn = entire_insn;
4580 #define FLD(f) abuf->fields.sfmt_addi_compact.f
4584 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4585 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4587 /* Record the fields for the semantic handler. */
4588 FLD (f_imm8) = f_imm8;
4590 if (UNLIKELY(current_cpu->trace_extract_p))
4592 current_cpu->trace_stream
4593 << "0x" << hex << pc << dec << " (sfmt_movi_compact)\t"
4594 << " f_imm8:0x" << hex << f_imm8 << dec
4595 << " f_rn:0x" << hex << f_rn << dec
4599 /* Record the fields for profiling. */
4600 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4602 FLD (out_rn) = f_rn;
4608 sh2e_extract_sfmt_movb1_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4609 sh2e_insn_word insn = entire_insn;
4610 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4614 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4615 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4617 /* Record the fields for the semantic handler. */
4620 if (UNLIKELY(current_cpu->trace_extract_p))
4622 current_cpu->trace_stream
4623 << "0x" << hex << pc << dec << " (sfmt_movb1_compact)\t"
4624 << " f_rm:0x" << hex << f_rm << dec
4625 << " f_rn:0x" << hex << f_rn << dec
4629 /* Record the fields for profiling. */
4630 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4639 sh2e_extract_sfmt_movb2_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4640 sh2e_insn_word insn = entire_insn;
4641 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4645 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4646 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4648 /* Record the fields for the semantic handler. */
4651 if (UNLIKELY(current_cpu->trace_extract_p))
4653 current_cpu->trace_stream
4654 << "0x" << hex << pc << dec << " (sfmt_movb2_compact)\t"
4655 << " f_rm:0x" << hex << f_rm << dec
4656 << " f_rn:0x" << hex << f_rn << dec
4660 /* Record the fields for profiling. */
4661 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4665 FLD (out_rn) = f_rn;
4671 sh2e_extract_sfmt_movb3_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4672 sh2e_insn_word insn = entire_insn;
4673 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4677 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4678 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4680 /* Record the fields for the semantic handler. */
4683 if (UNLIKELY(current_cpu->trace_extract_p))
4685 current_cpu->trace_stream
4686 << "0x" << hex << pc << dec << " (sfmt_movb3_compact)\t"
4687 << " f_rm:0x" << hex << f_rm << dec
4688 << " f_rn:0x" << hex << f_rn << dec
4692 /* Record the fields for profiling. */
4693 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4703 sh2e_extract_sfmt_movb4_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4704 sh2e_insn_word insn = entire_insn;
4705 #define FLD(f) abuf->fields.sfmt_andi_compact.f
4708 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4710 /* Record the fields for the semantic handler. */
4711 FLD (f_imm8) = f_imm8;
4712 if (UNLIKELY(current_cpu->trace_extract_p))
4714 current_cpu->trace_stream
4715 << "0x" << hex << pc << dec << " (sfmt_movb4_compact)\t"
4716 << " f_imm8:0x" << hex << f_imm8 << dec
4720 /* Record the fields for profiling. */
4721 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4729 sh2e_extract_sfmt_movb5_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4730 sh2e_insn_word insn = entire_insn;
4731 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
4735 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4736 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4738 /* Record the fields for the semantic handler. */
4739 FLD (f_imm4) = f_imm4;
4741 if (UNLIKELY(current_cpu->trace_extract_p))
4743 current_cpu->trace_stream
4744 << "0x" << hex << pc << dec << " (sfmt_movb5_compact)\t"
4745 << " f_imm4:0x" << hex << f_imm4 << dec
4746 << " f_rm:0x" << hex << f_rm << dec
4750 /* Record the fields for profiling. */
4751 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4760 sh2e_extract_sfmt_movb6_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4761 sh2e_insn_word insn = entire_insn;
4762 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4766 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4767 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4769 /* Record the fields for the semantic handler. */
4772 if (UNLIKELY(current_cpu->trace_extract_p))
4774 current_cpu->trace_stream
4775 << "0x" << hex << pc << dec << " (sfmt_movb6_compact)\t"
4776 << " f_rm:0x" << hex << f_rm << dec
4777 << " f_rn:0x" << hex << f_rn << dec
4781 /* Record the fields for profiling. */
4782 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4785 FLD (out_rn) = f_rn;
4791 sh2e_extract_sfmt_movb7_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4792 sh2e_insn_word insn = entire_insn;
4793 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4797 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4798 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4800 /* Record the fields for the semantic handler. */
4803 if (UNLIKELY(current_cpu->trace_extract_p))
4805 current_cpu->trace_stream
4806 << "0x" << hex << pc << dec << " (sfmt_movb7_compact)\t"
4807 << " f_rm:0x" << hex << f_rm << dec
4808 << " f_rn:0x" << hex << f_rn << dec
4812 /* Record the fields for profiling. */
4813 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4816 FLD (out_rm) = f_rm;
4817 FLD (out_rn) = f_rn;
4823 sh2e_extract_sfmt_movb8_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4824 sh2e_insn_word insn = entire_insn;
4825 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
4829 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4830 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4832 /* Record the fields for the semantic handler. */
4835 if (UNLIKELY(current_cpu->trace_extract_p))
4837 current_cpu->trace_stream
4838 << "0x" << hex << pc << dec << " (sfmt_movb8_compact)\t"
4839 << " f_rm:0x" << hex << f_rm << dec
4840 << " f_rn:0x" << hex << f_rn << dec
4844 /* Record the fields for profiling. */
4845 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4849 FLD (out_rn) = f_rn;
4855 sh2e_extract_sfmt_movb9_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4856 sh2e_insn_word insn = entire_insn;
4857 #define FLD(f) abuf->fields.sfmt_andi_compact.f
4860 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4862 /* Record the fields for the semantic handler. */
4863 FLD (f_imm8) = f_imm8;
4864 if (UNLIKELY(current_cpu->trace_extract_p))
4866 current_cpu->trace_stream
4867 << "0x" << hex << pc << dec << " (sfmt_movb9_compact)\t"
4868 << " f_imm8:0x" << hex << f_imm8 << dec
4872 /* Record the fields for profiling. */
4873 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4881 sh2e_extract_sfmt_movb10_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4882 sh2e_insn_word insn = entire_insn;
4883 #define FLD(f) abuf->fields.sfmt_movb10_compact.f
4887 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4888 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4890 /* Record the fields for the semantic handler. */
4891 FLD (f_imm4) = f_imm4;
4893 if (UNLIKELY(current_cpu->trace_extract_p))
4895 current_cpu->trace_stream
4896 << "0x" << hex << pc << dec << " (sfmt_movb10_compact)\t"
4897 << " f_imm4:0x" << hex << f_imm4 << dec
4898 << " f_rm:0x" << hex << f_rm << dec
4902 /* Record the fields for profiling. */
4903 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4912 sh2e_extract_sfmt_movl1_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4913 sh2e_insn_word insn = entire_insn;
4914 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4918 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4919 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4921 /* Record the fields for the semantic handler. */
4924 if (UNLIKELY(current_cpu->trace_extract_p))
4926 current_cpu->trace_stream
4927 << "0x" << hex << pc << dec << " (sfmt_movl1_compact)\t"
4928 << " f_rm:0x" << hex << f_rm << dec
4929 << " f_rn:0x" << hex << f_rn << dec
4933 /* Record the fields for profiling. */
4934 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4943 sh2e_extract_sfmt_movl2_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4944 sh2e_insn_word insn = entire_insn;
4945 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4949 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4950 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4952 /* Record the fields for the semantic handler. */
4955 if (UNLIKELY(current_cpu->trace_extract_p))
4957 current_cpu->trace_stream
4958 << "0x" << hex << pc << dec << " (sfmt_movl2_compact)\t"
4959 << " f_rm:0x" << hex << f_rm << dec
4960 << " f_rn:0x" << hex << f_rn << dec
4964 /* Record the fields for profiling. */
4965 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4969 FLD (out_rn) = f_rn;
4975 sh2e_extract_sfmt_movl3_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
4976 sh2e_insn_word insn = entire_insn;
4977 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4981 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4982 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4984 /* Record the fields for the semantic handler. */
4987 if (UNLIKELY(current_cpu->trace_extract_p))
4989 current_cpu->trace_stream
4990 << "0x" << hex << pc << dec << " (sfmt_movl3_compact)\t"
4991 << " f_rm:0x" << hex << f_rm << dec
4992 << " f_rn:0x" << hex << f_rn << dec
4996 /* Record the fields for profiling. */
4997 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5007 sh2e_extract_sfmt_movl4_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5008 sh2e_insn_word insn = entire_insn;
5009 #define FLD(f) abuf->fields.sfmt_movl4_compact.f
5012 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5014 /* Record the fields for the semantic handler. */
5015 FLD (f_imm8x4) = f_imm8x4;
5016 if (UNLIKELY(current_cpu->trace_extract_p))
5018 current_cpu->trace_stream
5019 << "0x" << hex << pc << dec << " (sfmt_movl4_compact)\t"
5020 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5024 /* Record the fields for profiling. */
5025 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5033 sh2e_extract_sfmt_movl5_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5034 sh2e_insn_word insn = entire_insn;
5035 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5040 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5041 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5042 f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5044 /* Record the fields for the semantic handler. */
5045 FLD (f_imm4x4) = f_imm4x4;
5048 if (UNLIKELY(current_cpu->trace_extract_p))
5050 current_cpu->trace_stream
5051 << "0x" << hex << pc << dec << " (sfmt_movl5_compact)\t"
5052 << " f_imm4x4:0x" << hex << f_imm4x4 << dec
5053 << " f_rm:0x" << hex << f_rm << dec
5054 << " f_rn:0x" << hex << f_rn << dec
5058 /* Record the fields for profiling. */
5059 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5068 sh2e_extract_sfmt_movl6_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5069 sh2e_insn_word insn = entire_insn;
5070 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5074 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5075 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5077 /* Record the fields for the semantic handler. */
5080 if (UNLIKELY(current_cpu->trace_extract_p))
5082 current_cpu->trace_stream
5083 << "0x" << hex << pc << dec << " (sfmt_movl6_compact)\t"
5084 << " f_rm:0x" << hex << f_rm << dec
5085 << " f_rn:0x" << hex << f_rn << dec
5089 /* Record the fields for profiling. */
5090 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5093 FLD (out_rn) = f_rn;
5099 sh2e_extract_sfmt_movl7_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5100 sh2e_insn_word insn = entire_insn;
5101 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5105 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5106 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5108 /* Record the fields for the semantic handler. */
5111 if (UNLIKELY(current_cpu->trace_extract_p))
5113 current_cpu->trace_stream
5114 << "0x" << hex << pc << dec << " (sfmt_movl7_compact)\t"
5115 << " f_rm:0x" << hex << f_rm << dec
5116 << " f_rn:0x" << hex << f_rn << dec
5120 /* Record the fields for profiling. */
5121 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5125 FLD (out_rm) = f_rm;
5126 FLD (out_rn) = f_rn;
5132 sh2e_extract_sfmt_movl8_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5133 sh2e_insn_word insn = entire_insn;
5134 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
5138 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5139 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5141 /* Record the fields for the semantic handler. */
5144 if (UNLIKELY(current_cpu->trace_extract_p))
5146 current_cpu->trace_stream
5147 << "0x" << hex << pc << dec << " (sfmt_movl8_compact)\t"
5148 << " f_rm:0x" << hex << f_rm << dec
5149 << " f_rn:0x" << hex << f_rn << dec
5153 /* Record the fields for profiling. */
5154 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5158 FLD (out_rn) = f_rn;
5164 sh2e_extract_sfmt_movl9_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5165 sh2e_insn_word insn = entire_insn;
5166 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
5169 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5171 /* Record the fields for the semantic handler. */
5172 FLD (f_imm8x4) = f_imm8x4;
5173 if (UNLIKELY(current_cpu->trace_extract_p))
5175 current_cpu->trace_stream
5176 << "0x" << hex << pc << dec << " (sfmt_movl9_compact)\t"
5177 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5181 /* Record the fields for profiling. */
5182 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5190 sh2e_extract_sfmt_movl10_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5191 sh2e_insn_word insn = entire_insn;
5192 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5196 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5197 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5199 /* Record the fields for the semantic handler. */
5200 FLD (f_imm8x4) = f_imm8x4;
5202 if (UNLIKELY(current_cpu->trace_extract_p))
5204 current_cpu->trace_stream
5205 << "0x" << hex << pc << dec << " (sfmt_movl10_compact)\t"
5206 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5207 << " f_rn:0x" << hex << f_rn << dec
5211 /* Record the fields for profiling. */
5212 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5214 FLD (out_rn) = f_rn;
5220 sh2e_extract_sfmt_movl11_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5221 sh2e_insn_word insn = entire_insn;
5222 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5227 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5228 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5229 f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5231 /* Record the fields for the semantic handler. */
5232 FLD (f_imm4x4) = f_imm4x4;
5235 if (UNLIKELY(current_cpu->trace_extract_p))
5237 current_cpu->trace_stream
5238 << "0x" << hex << pc << dec << " (sfmt_movl11_compact)\t"
5239 << " f_imm4x4:0x" << hex << f_imm4x4 << dec
5240 << " f_rm:0x" << hex << f_rm << dec
5241 << " f_rn:0x" << hex << f_rn << dec
5245 /* Record the fields for profiling. */
5246 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5249 FLD (out_rn) = f_rn;
5255 sh2e_extract_sfmt_movw1_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5256 sh2e_insn_word insn = entire_insn;
5257 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5261 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5262 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5264 /* Record the fields for the semantic handler. */
5267 if (UNLIKELY(current_cpu->trace_extract_p))
5269 current_cpu->trace_stream
5270 << "0x" << hex << pc << dec << " (sfmt_movw1_compact)\t"
5271 << " f_rm:0x" << hex << f_rm << dec
5272 << " f_rn:0x" << hex << f_rn << dec
5276 /* Record the fields for profiling. */
5277 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5286 sh2e_extract_sfmt_movw2_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5287 sh2e_insn_word insn = entire_insn;
5288 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5292 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5293 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5295 /* Record the fields for the semantic handler. */
5298 if (UNLIKELY(current_cpu->trace_extract_p))
5300 current_cpu->trace_stream
5301 << "0x" << hex << pc << dec << " (sfmt_movw2_compact)\t"
5302 << " f_rm:0x" << hex << f_rm << dec
5303 << " f_rn:0x" << hex << f_rn << dec
5307 /* Record the fields for profiling. */
5308 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5312 FLD (out_rn) = f_rn;
5318 sh2e_extract_sfmt_movw3_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5319 sh2e_insn_word insn = entire_insn;
5320 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5324 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5325 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5327 /* Record the fields for the semantic handler. */
5330 if (UNLIKELY(current_cpu->trace_extract_p))
5332 current_cpu->trace_stream
5333 << "0x" << hex << pc << dec << " (sfmt_movw3_compact)\t"
5334 << " f_rm:0x" << hex << f_rm << dec
5335 << " f_rn:0x" << hex << f_rn << dec
5339 /* Record the fields for profiling. */
5340 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5350 sh2e_extract_sfmt_movw4_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5351 sh2e_insn_word insn = entire_insn;
5352 #define FLD(f) abuf->fields.sfmt_movw4_compact.f
5355 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5357 /* Record the fields for the semantic handler. */
5358 FLD (f_imm8x2) = f_imm8x2;
5359 if (UNLIKELY(current_cpu->trace_extract_p))
5361 current_cpu->trace_stream
5362 << "0x" << hex << pc << dec << " (sfmt_movw4_compact)\t"
5363 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
5367 /* Record the fields for profiling. */
5368 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5376 sh2e_extract_sfmt_movw5_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5377 sh2e_insn_word insn = entire_insn;
5378 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
5382 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5383 f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
5385 /* Record the fields for the semantic handler. */
5386 FLD (f_imm4x2) = f_imm4x2;
5388 if (UNLIKELY(current_cpu->trace_extract_p))
5390 current_cpu->trace_stream
5391 << "0x" << hex << pc << dec << " (sfmt_movw5_compact)\t"
5392 << " f_imm4x2:0x" << hex << f_imm4x2 << dec
5393 << " f_rm:0x" << hex << f_rm << dec
5397 /* Record the fields for profiling. */
5398 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5407 sh2e_extract_sfmt_movw6_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5408 sh2e_insn_word insn = entire_insn;
5409 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5413 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5414 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5416 /* Record the fields for the semantic handler. */
5419 if (UNLIKELY(current_cpu->trace_extract_p))
5421 current_cpu->trace_stream
5422 << "0x" << hex << pc << dec << " (sfmt_movw6_compact)\t"
5423 << " f_rm:0x" << hex << f_rm << dec
5424 << " f_rn:0x" << hex << f_rn << dec
5428 /* Record the fields for profiling. */
5429 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5432 FLD (out_rn) = f_rn;
5438 sh2e_extract_sfmt_movw7_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5439 sh2e_insn_word insn = entire_insn;
5440 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5444 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5445 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5447 /* Record the fields for the semantic handler. */
5450 if (UNLIKELY(current_cpu->trace_extract_p))
5452 current_cpu->trace_stream
5453 << "0x" << hex << pc << dec << " (sfmt_movw7_compact)\t"
5454 << " f_rm:0x" << hex << f_rm << dec
5455 << " f_rn:0x" << hex << f_rn << dec
5459 /* Record the fields for profiling. */
5460 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5463 FLD (out_rm) = f_rm;
5464 FLD (out_rn) = f_rn;
5470 sh2e_extract_sfmt_movw8_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5471 sh2e_insn_word insn = entire_insn;
5472 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
5476 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5477 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5479 /* Record the fields for the semantic handler. */
5482 if (UNLIKELY(current_cpu->trace_extract_p))
5484 current_cpu->trace_stream
5485 << "0x" << hex << pc << dec << " (sfmt_movw8_compact)\t"
5486 << " f_rm:0x" << hex << f_rm << dec
5487 << " f_rn:0x" << hex << f_rn << dec
5491 /* Record the fields for profiling. */
5492 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5496 FLD (out_rn) = f_rn;
5502 sh2e_extract_sfmt_movw9_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5503 sh2e_insn_word insn = entire_insn;
5504 #define FLD(f) abuf->fields.sfmt_movw9_compact.f
5507 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5509 /* Record the fields for the semantic handler. */
5510 FLD (f_imm8x2) = f_imm8x2;
5511 if (UNLIKELY(current_cpu->trace_extract_p))
5513 current_cpu->trace_stream
5514 << "0x" << hex << pc << dec << " (sfmt_movw9_compact)\t"
5515 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
5519 /* Record the fields for profiling. */
5520 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5528 sh2e_extract_sfmt_movw10_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5529 sh2e_insn_word insn = entire_insn;
5530 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5534 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5535 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5537 /* Record the fields for the semantic handler. */
5538 FLD (f_imm8x2) = f_imm8x2;
5540 if (UNLIKELY(current_cpu->trace_extract_p))
5542 current_cpu->trace_stream
5543 << "0x" << hex << pc << dec << " (sfmt_movw10_compact)\t"
5544 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
5545 << " f_rn:0x" << hex << f_rn << dec
5549 /* Record the fields for profiling. */
5550 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5552 FLD (out_rn) = f_rn;
5558 sh2e_extract_sfmt_movw11_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5559 sh2e_insn_word insn = entire_insn;
5560 #define FLD(f) abuf->fields.sfmt_movw11_compact.f
5564 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5565 f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
5567 /* Record the fields for the semantic handler. */
5568 FLD (f_imm4x2) = f_imm4x2;
5570 if (UNLIKELY(current_cpu->trace_extract_p))
5572 current_cpu->trace_stream
5573 << "0x" << hex << pc << dec << " (sfmt_movw11_compact)\t"
5574 << " f_imm4x2:0x" << hex << f_imm4x2 << dec
5575 << " f_rm:0x" << hex << f_rm << dec
5579 /* Record the fields for profiling. */
5580 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5589 sh2e_extract_sfmt_mova_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5590 sh2e_insn_word insn = entire_insn;
5591 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
5594 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5596 /* Record the fields for the semantic handler. */
5597 FLD (f_imm8x4) = f_imm8x4;
5598 if (UNLIKELY(current_cpu->trace_extract_p))
5600 current_cpu->trace_stream
5601 << "0x" << hex << pc << dec << " (sfmt_mova_compact)\t"
5602 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5606 /* Record the fields for profiling. */
5607 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5615 sh2e_extract_sfmt_movt_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5616 sh2e_insn_word insn = entire_insn;
5617 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5620 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5622 /* Record the fields for the semantic handler. */
5624 if (UNLIKELY(current_cpu->trace_extract_p))
5626 current_cpu->trace_stream
5627 << "0x" << hex << pc << dec << " (sfmt_movt_compact)\t"
5628 << " f_rn:0x" << hex << f_rn << dec
5632 /* Record the fields for profiling. */
5633 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5635 FLD (out_rn) = f_rn;
5641 sh2e_extract_sfmt_mull_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5642 sh2e_insn_word insn = entire_insn;
5643 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5647 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5648 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5650 /* Record the fields for the semantic handler. */
5653 if (UNLIKELY(current_cpu->trace_extract_p))
5655 current_cpu->trace_stream
5656 << "0x" << hex << pc << dec << " (sfmt_mull_compact)\t"
5657 << " f_rm:0x" << hex << f_rm << dec
5658 << " f_rn:0x" << hex << f_rn << dec
5662 /* Record the fields for profiling. */
5663 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5672 sh2e_extract_sfmt_negc_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5673 sh2e_insn_word insn = entire_insn;
5674 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5678 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5679 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5681 /* Record the fields for the semantic handler. */
5684 if (UNLIKELY(current_cpu->trace_extract_p))
5686 current_cpu->trace_stream
5687 << "0x" << hex << pc << dec << " (sfmt_negc_compact)\t"
5688 << " f_rm:0x" << hex << f_rm << dec
5689 << " f_rn:0x" << hex << f_rn << dec
5693 /* Record the fields for profiling. */
5694 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5697 FLD (out_rn) = f_rn;
5703 sh2e_extract_sfmt_nop_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5704 sh2e_insn_word insn = entire_insn;
5705 #define FLD(f) abuf->fields.fmt_empty.f
5708 /* Record the fields for the semantic handler. */
5709 if (UNLIKELY(current_cpu->trace_extract_p))
5711 current_cpu->trace_stream
5712 << "0x" << hex << pc << dec << " (sfmt_nop_compact)\t"
5720 sh2e_extract_sfmt_rotcl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5721 sh2e_insn_word insn = entire_insn;
5722 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5725 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5727 /* Record the fields for the semantic handler. */
5729 if (UNLIKELY(current_cpu->trace_extract_p))
5731 current_cpu->trace_stream
5732 << "0x" << hex << pc << dec << " (sfmt_rotcl_compact)\t"
5733 << " f_rn:0x" << hex << f_rn << dec
5737 /* Record the fields for profiling. */
5738 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5741 FLD (out_rn) = f_rn;
5747 sh2e_extract_sfmt_rts_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5748 sh2e_insn_word insn = entire_insn;
5749 #define FLD(f) abuf->fields.fmt_empty.f
5752 /* Record the fields for the semantic handler. */
5753 if (UNLIKELY(current_cpu->trace_extract_p))
5755 current_cpu->trace_stream
5756 << "0x" << hex << pc << dec << " (sfmt_rts_compact)\t"
5760 /* Record the fields for profiling. */
5761 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5768 sh2e_extract_sfmt_shll2_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5769 sh2e_insn_word insn = entire_insn;
5770 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5773 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5775 /* Record the fields for the semantic handler. */
5777 if (UNLIKELY(current_cpu->trace_extract_p))
5779 current_cpu->trace_stream
5780 << "0x" << hex << pc << dec << " (sfmt_shll2_compact)\t"
5781 << " f_rn:0x" << hex << f_rn << dec
5785 /* Record the fields for profiling. */
5786 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5789 FLD (out_rn) = f_rn;
5795 sh2e_extract_sfmt_stc_gbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5796 sh2e_insn_word insn = entire_insn;
5797 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5800 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5802 /* Record the fields for the semantic handler. */
5804 if (UNLIKELY(current_cpu->trace_extract_p))
5806 current_cpu->trace_stream
5807 << "0x" << hex << pc << dec << " (sfmt_stc_gbr_compact)\t"
5808 << " f_rn:0x" << hex << f_rn << dec
5812 /* Record the fields for profiling. */
5813 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5815 FLD (out_rn) = f_rn;
5821 sh2e_extract_sfmt_stc_vbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5822 sh2e_insn_word insn = entire_insn;
5823 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5826 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5828 /* Record the fields for the semantic handler. */
5830 if (UNLIKELY(current_cpu->trace_extract_p))
5832 current_cpu->trace_stream
5833 << "0x" << hex << pc << dec << " (sfmt_stc_vbr_compact)\t"
5834 << " f_rn:0x" << hex << f_rn << dec
5838 /* Record the fields for profiling. */
5839 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5841 FLD (out_rn) = f_rn;
5847 sh2e_extract_sfmt_stcl_gbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5848 sh2e_insn_word insn = entire_insn;
5849 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5852 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5854 /* Record the fields for the semantic handler. */
5856 if (UNLIKELY(current_cpu->trace_extract_p))
5858 current_cpu->trace_stream
5859 << "0x" << hex << pc << dec << " (sfmt_stcl_gbr_compact)\t"
5860 << " f_rn:0x" << hex << f_rn << dec
5864 /* Record the fields for profiling. */
5865 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5868 FLD (out_rn) = f_rn;
5874 sh2e_extract_sfmt_stcl_vbr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5875 sh2e_insn_word insn = entire_insn;
5876 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5879 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5881 /* Record the fields for the semantic handler. */
5883 if (UNLIKELY(current_cpu->trace_extract_p))
5885 current_cpu->trace_stream
5886 << "0x" << hex << pc << dec << " (sfmt_stcl_vbr_compact)\t"
5887 << " f_rn:0x" << hex << f_rn << dec
5891 /* Record the fields for profiling. */
5892 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5895 FLD (out_rn) = f_rn;
5901 sh2e_extract_sfmt_sts_fpscr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5902 sh2e_insn_word insn = entire_insn;
5903 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5906 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5908 /* Record the fields for the semantic handler. */
5910 if (UNLIKELY(current_cpu->trace_extract_p))
5912 current_cpu->trace_stream
5913 << "0x" << hex << pc << dec << " (sfmt_sts_fpscr_compact)\t"
5914 << " f_rn:0x" << hex << f_rn << dec
5918 /* Record the fields for profiling. */
5919 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5921 FLD (out_rn) = f_rn;
5927 sh2e_extract_sfmt_stsl_fpscr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5928 sh2e_insn_word insn = entire_insn;
5929 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5932 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5934 /* Record the fields for the semantic handler. */
5936 if (UNLIKELY(current_cpu->trace_extract_p))
5938 current_cpu->trace_stream
5939 << "0x" << hex << pc << dec << " (sfmt_stsl_fpscr_compact)\t"
5940 << " f_rn:0x" << hex << f_rn << dec
5944 /* Record the fields for profiling. */
5945 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5948 FLD (out_rn) = f_rn;
5954 sh2e_extract_sfmt_sts_fpul_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5955 sh2e_insn_word insn = entire_insn;
5956 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5959 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5961 /* Record the fields for the semantic handler. */
5963 if (UNLIKELY(current_cpu->trace_extract_p))
5965 current_cpu->trace_stream
5966 << "0x" << hex << pc << dec << " (sfmt_sts_fpul_compact)\t"
5967 << " f_rn:0x" << hex << f_rn << dec
5971 /* Record the fields for profiling. */
5972 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5975 FLD (out_rn) = f_rn;
5981 sh2e_extract_sfmt_stsl_fpul_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
5982 sh2e_insn_word insn = entire_insn;
5983 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5986 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5988 /* Record the fields for the semantic handler. */
5990 if (UNLIKELY(current_cpu->trace_extract_p))
5992 current_cpu->trace_stream
5993 << "0x" << hex << pc << dec << " (sfmt_stsl_fpul_compact)\t"
5994 << " f_rn:0x" << hex << f_rn << dec
5998 /* Record the fields for profiling. */
5999 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6003 FLD (out_rn) = f_rn;
6009 sh2e_extract_sfmt_sts_mach_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
6010 sh2e_insn_word insn = entire_insn;
6011 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6014 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6016 /* Record the fields for the semantic handler. */
6018 if (UNLIKELY(current_cpu->trace_extract_p))
6020 current_cpu->trace_stream
6021 << "0x" << hex << pc << dec << " (sfmt_sts_mach_compact)\t"
6022 << " f_rn:0x" << hex << f_rn << dec
6026 /* Record the fields for profiling. */
6027 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6029 FLD (out_rn) = f_rn;
6035 sh2e_extract_sfmt_stsl_mach_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
6036 sh2e_insn_word insn = entire_insn;
6037 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6040 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6042 /* Record the fields for the semantic handler. */
6044 if (UNLIKELY(current_cpu->trace_extract_p))
6046 current_cpu->trace_stream
6047 << "0x" << hex << pc << dec << " (sfmt_stsl_mach_compact)\t"
6048 << " f_rn:0x" << hex << f_rn << dec
6052 /* Record the fields for profiling. */
6053 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6056 FLD (out_rn) = f_rn;
6062 sh2e_extract_sfmt_sts_macl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
6063 sh2e_insn_word insn = entire_insn;
6064 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6067 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6069 /* Record the fields for the semantic handler. */
6071 if (UNLIKELY(current_cpu->trace_extract_p))
6073 current_cpu->trace_stream
6074 << "0x" << hex << pc << dec << " (sfmt_sts_macl_compact)\t"
6075 << " f_rn:0x" << hex << f_rn << dec
6079 /* Record the fields for profiling. */
6080 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6082 FLD (out_rn) = f_rn;
6088 sh2e_extract_sfmt_stsl_macl_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
6089 sh2e_insn_word insn = entire_insn;
6090 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6093 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6095 /* Record the fields for the semantic handler. */
6097 if (UNLIKELY(current_cpu->trace_extract_p))
6099 current_cpu->trace_stream
6100 << "0x" << hex << pc << dec << " (sfmt_stsl_macl_compact)\t"
6101 << " f_rn:0x" << hex << f_rn << dec
6105 /* Record the fields for profiling. */
6106 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6109 FLD (out_rn) = f_rn;
6115 sh2e_extract_sfmt_sts_pr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
6116 sh2e_insn_word insn = entire_insn;
6117 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6120 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6122 /* Record the fields for the semantic handler. */
6124 if (UNLIKELY(current_cpu->trace_extract_p))
6126 current_cpu->trace_stream
6127 << "0x" << hex << pc << dec << " (sfmt_sts_pr_compact)\t"
6128 << " f_rn:0x" << hex << f_rn << dec
6132 /* Record the fields for profiling. */
6133 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6135 FLD (out_rn) = f_rn;
6141 sh2e_extract_sfmt_stsl_pr_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
6142 sh2e_insn_word insn = entire_insn;
6143 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6146 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6148 /* Record the fields for the semantic handler. */
6150 if (UNLIKELY(current_cpu->trace_extract_p))
6152 current_cpu->trace_stream
6153 << "0x" << hex << pc << dec << " (sfmt_stsl_pr_compact)\t"
6154 << " f_rn:0x" << hex << f_rn << dec
6158 /* Record the fields for profiling. */
6159 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6162 FLD (out_rn) = f_rn;
6168 sh2e_extract_sfmt_tasb_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
6169 sh2e_insn_word insn = entire_insn;
6170 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6173 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6175 /* Record the fields for the semantic handler. */
6177 if (UNLIKELY(current_cpu->trace_extract_p))
6179 current_cpu->trace_stream
6180 << "0x" << hex << pc << dec << " (sfmt_tasb_compact)\t"
6181 << " f_rn:0x" << hex << f_rn << dec
6185 /* Record the fields for profiling. */
6186 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6194 sh2e_extract_sfmt_trapa_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
6195 sh2e_insn_word insn = entire_insn;
6196 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6199 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6201 /* Record the fields for the semantic handler. */
6202 FLD (f_imm8) = f_imm8;
6203 if (UNLIKELY(current_cpu->trace_extract_p))
6205 current_cpu->trace_stream
6206 << "0x" << hex << pc << dec << " (sfmt_trapa_compact)\t"
6207 << " f_imm8:0x" << hex << f_imm8 << dec
6211 /* Record the fields for profiling. */
6212 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6219 sh2e_extract_sfmt_tsti_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
6220 sh2e_insn_word insn = entire_insn;
6221 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6224 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6226 /* Record the fields for the semantic handler. */
6227 FLD (f_imm8) = f_imm8;
6228 if (UNLIKELY(current_cpu->trace_extract_p))
6230 current_cpu->trace_stream
6231 << "0x" << hex << pc << dec << " (sfmt_tsti_compact)\t"
6232 << " f_imm8:0x" << hex << f_imm8 << dec
6236 /* Record the fields for profiling. */
6237 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6245 sh2e_extract_sfmt_tstb_compact (sh2e_scache* abuf, sh2e_cpu* current_cpu, PCADDR pc, sh2e_insn_word base_insn, sh2e_insn_word entire_insn){
6246 sh2e_insn_word insn = entire_insn;
6247 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6250 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6252 /* Record the fields for the semantic handler. */
6253 FLD (f_imm8) = f_imm8;
6254 if (UNLIKELY(current_cpu->trace_extract_p))
6256 current_cpu->trace_stream
6257 << "0x" << hex << pc << dec << " (sfmt_tstb_compact)\t"
6258 << " f_imm8:0x" << hex << f_imm8 << dec
6262 /* Record the fields for profiling. */
6263 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))