1 /* Simulator instruction decoder for sh3e.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 2000-2010 Red Hat, Inc.
7 This file is part of the Red Hat simulators.
18 using namespace sh3e; // FIXME: namespace organization still wip
21 // The instruction descriptor array.
23 sh3e_idesc sh3e_idesc::idesc_table[SH3E_INSN_XTRCT_COMPACT + 1] =
25 { sh3e_sem_x_invalid, "X_INVALID", SH3E_INSN_X_INVALID, { 0|(1<<CGEN_INSN_VIRTUAL), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
26 { sh3e_sem_add_compact, "ADD_COMPACT", SH3E_INSN_ADD_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
27 { sh3e_sem_addi_compact, "ADDI_COMPACT", SH3E_INSN_ADDI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_NONE } },
28 { sh3e_sem_addc_compact, "ADDC_COMPACT", SH3E_INSN_ADDC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
29 { sh3e_sem_addv_compact, "ADDV_COMPACT", SH3E_INSN_ADDV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
30 { sh3e_sem_and_compact, "AND_COMPACT", SH3E_INSN_AND_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
31 { sh3e_sem_andi_compact, "ANDI_COMPACT", SH3E_INSN_ANDI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
32 { sh3e_sem_andb_compact, "ANDB_COMPACT", SH3E_INSN_ANDB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
33 { sh3e_sem_bf_compact, "BF_COMPACT", SH3E_INSN_BF_COMPACT, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
34 { sh3e_sem_bfs_compact, "BFS_COMPACT", SH3E_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 { sh3e_sem_bra_compact, "BRA_COMPACT", SH3E_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 { sh3e_sem_braf_compact, "BRAF_COMPACT", SH3E_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 { sh3e_sem_bsr_compact, "BSR_COMPACT", SH3E_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 { sh3e_sem_bsrf_compact, "BSRF_COMPACT", SH3E_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 { sh3e_sem_bt_compact, "BT_COMPACT", SH3E_INSN_BT_COMPACT, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
40 { sh3e_sem_bts_compact, "BTS_COMPACT", SH3E_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 { sh3e_sem_clrmac_compact, "CLRMAC_COMPACT", SH3E_INSN_CLRMAC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
42 { sh3e_sem_clrs_compact, "CLRS_COMPACT", SH3E_INSN_CLRS_COMPACT, { 0, (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 } },
43 { sh3e_sem_clrt_compact, "CLRT_COMPACT", SH3E_INSN_CLRT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
44 { sh3e_sem_cmpeq_compact, "CMPEQ_COMPACT", SH3E_INSN_CMPEQ_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
45 { sh3e_sem_cmpeqi_compact, "CMPEQI_COMPACT", SH3E_INSN_CMPEQI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
46 { sh3e_sem_cmpge_compact, "CMPGE_COMPACT", SH3E_INSN_CMPGE_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
47 { sh3e_sem_cmpgt_compact, "CMPGT_COMPACT", SH3E_INSN_CMPGT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
48 { sh3e_sem_cmphi_compact, "CMPHI_COMPACT", SH3E_INSN_CMPHI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
49 { sh3e_sem_cmphs_compact, "CMPHS_COMPACT", SH3E_INSN_CMPHS_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
50 { sh3e_sem_cmppl_compact, "CMPPL_COMPACT", SH3E_INSN_CMPPL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
51 { sh3e_sem_cmppz_compact, "CMPPZ_COMPACT", SH3E_INSN_CMPPZ_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
52 { sh3e_sem_cmpstr_compact, "CMPSTR_COMPACT", SH3E_INSN_CMPSTR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
53 { sh3e_sem_div0s_compact, "DIV0S_COMPACT", SH3E_INSN_DIV0S_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
54 { sh3e_sem_div0u_compact, "DIV0U_COMPACT", SH3E_INSN_DIV0U_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
55 { sh3e_sem_div1_compact, "DIV1_COMPACT", SH3E_INSN_DIV1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
56 { sh3e_sem_dmulsl_compact, "DMULSL_COMPACT", SH3E_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 } },
57 { sh3e_sem_dmulul_compact, "DMULUL_COMPACT", SH3E_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 } },
58 { sh3e_sem_dt_compact, "DT_COMPACT", SH3E_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 } },
59 { sh3e_sem_extsb_compact, "EXTSB_COMPACT", SH3E_INSN_EXTSB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
60 { sh3e_sem_extsw_compact, "EXTSW_COMPACT", SH3E_INSN_EXTSW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
61 { sh3e_sem_extub_compact, "EXTUB_COMPACT", SH3E_INSN_EXTUB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
62 { sh3e_sem_extuw_compact, "EXTUW_COMPACT", SH3E_INSN_EXTUW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
63 { sh3e_sem_fabs_compact, "FABS_COMPACT", SH3E_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 } },
64 { sh3e_sem_fadd_compact, "FADD_COMPACT", SH3E_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 } },
65 { sh3e_sem_fcmpeq_compact, "FCMPEQ_COMPACT", SH3E_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 } },
66 { sh3e_sem_fcmpgt_compact, "FCMPGT_COMPACT", SH3E_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 } },
67 { sh3e_sem_fdiv_compact, "FDIV_COMPACT", SH3E_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 } },
68 { sh3e_sem_flds_compact, "FLDS_COMPACT", SH3E_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 } },
69 { sh3e_sem_fldi0_compact, "FLDI0_COMPACT", SH3E_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 } },
70 { sh3e_sem_fldi1_compact, "FLDI1_COMPACT", SH3E_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 } },
71 { sh3e_sem_float_compact, "FLOAT_COMPACT", SH3E_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 } },
72 { sh3e_sem_fmac_compact, "FMAC_COMPACT", SH3E_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 } },
73 { sh3e_sem_fmov1_compact, "FMOV1_COMPACT", SH3E_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 } },
74 { sh3e_sem_fmov2_compact, "FMOV2_COMPACT", SH3E_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 } },
75 { sh3e_sem_fmov3_compact, "FMOV3_COMPACT", SH3E_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 } },
76 { sh3e_sem_fmov4_compact, "FMOV4_COMPACT", SH3E_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 } },
77 { sh3e_sem_fmov5_compact, "FMOV5_COMPACT", SH3E_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 } },
78 { sh3e_sem_fmov6_compact, "FMOV6_COMPACT", SH3E_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 } },
79 { sh3e_sem_fmov7_compact, "FMOV7_COMPACT", SH3E_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 } },
80 { sh3e_sem_fmul_compact, "FMUL_COMPACT", SH3E_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 } },
81 { sh3e_sem_fneg_compact, "FNEG_COMPACT", SH3E_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 } },
82 { sh3e_sem_frchg_compact, "FRCHG_COMPACT", SH3E_INSN_FRCHG_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
83 { sh3e_sem_fschg_compact, "FSCHG_COMPACT", SH3E_INSN_FSCHG_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
84 { sh3e_sem_fsqrt_compact, "FSQRT_COMPACT", SH3E_INSN_FSQRT_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (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 { sh3e_sem_fsts_compact, "FSTS_COMPACT", SH3E_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 } },
86 { sh3e_sem_fsub_compact, "FSUB_COMPACT", SH3E_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 } },
87 { sh3e_sem_ftrc_compact, "FTRC_COMPACT", SH3E_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 } },
88 { sh3e_sem_jmp_compact, "JMP_COMPACT", SH3E_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 } },
89 { sh3e_sem_jsr_compact, "JSR_COMPACT", SH3E_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 } },
90 { sh3e_sem_ldc_gbr_compact, "LDC_GBR_COMPACT", SH3E_INSN_LDC_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
91 { sh3e_sem_ldc_vbr_compact, "LDC_VBR_COMPACT", SH3E_INSN_LDC_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
92 { sh3e_sem_ldc_sr_compact, "LDC_SR_COMPACT", SH3E_INSN_LDC_SR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
93 { sh3e_sem_ldcl_gbr_compact, "LDCL_GBR_COMPACT", SH3E_INSN_LDCL_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
94 { sh3e_sem_ldcl_vbr_compact, "LDCL_VBR_COMPACT", SH3E_INSN_LDCL_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
95 { sh3e_sem_lds_fpscr_compact, "LDS_FPSCR_COMPACT", SH3E_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 } },
96 { sh3e_sem_ldsl_fpscr_compact, "LDSL_FPSCR_COMPACT", SH3E_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 } },
97 { sh3e_sem_lds_fpul_compact, "LDS_FPUL_COMPACT", SH3E_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 } },
98 { sh3e_sem_ldsl_fpul_compact, "LDSL_FPUL_COMPACT", SH3E_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 } },
99 { sh3e_sem_lds_mach_compact, "LDS_MACH_COMPACT", SH3E_INSN_LDS_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
100 { sh3e_sem_ldsl_mach_compact, "LDSL_MACH_COMPACT", SH3E_INSN_LDSL_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
101 { sh3e_sem_lds_macl_compact, "LDS_MACL_COMPACT", SH3E_INSN_LDS_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
102 { sh3e_sem_ldsl_macl_compact, "LDSL_MACL_COMPACT", SH3E_INSN_LDSL_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
103 { sh3e_sem_lds_pr_compact, "LDS_PR_COMPACT", SH3E_INSN_LDS_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
104 { sh3e_sem_ldsl_pr_compact, "LDSL_PR_COMPACT", SH3E_INSN_LDSL_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
105 { sh3e_sem_macl_compact, "MACL_COMPACT", SH3E_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 } },
106 { sh3e_sem_macw_compact, "MACW_COMPACT", SH3E_INSN_MACW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
107 { sh3e_sem_mov_compact, "MOV_COMPACT", SH3E_INSN_MOV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_MT } },
108 { sh3e_sem_movi_compact, "MOVI_COMPACT", SH3E_INSN_MOVI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_MT } },
109 { sh3e_sem_movb1_compact, "MOVB1_COMPACT", SH3E_INSN_MOVB1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
110 { sh3e_sem_movb2_compact, "MOVB2_COMPACT", SH3E_INSN_MOVB2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
111 { sh3e_sem_movb3_compact, "MOVB3_COMPACT", SH3E_INSN_MOVB3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
112 { sh3e_sem_movb4_compact, "MOVB4_COMPACT", SH3E_INSN_MOVB4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
113 { sh3e_sem_movb5_compact, "MOVB5_COMPACT", SH3E_INSN_MOVB5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
114 { sh3e_sem_movb6_compact, "MOVB6_COMPACT", SH3E_INSN_MOVB6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
115 { sh3e_sem_movb7_compact, "MOVB7_COMPACT", SH3E_INSN_MOVB7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
116 { sh3e_sem_movb8_compact, "MOVB8_COMPACT", SH3E_INSN_MOVB8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
117 { sh3e_sem_movb9_compact, "MOVB9_COMPACT", SH3E_INSN_MOVB9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
118 { sh3e_sem_movb10_compact, "MOVB10_COMPACT", SH3E_INSN_MOVB10_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
119 { sh3e_sem_movl1_compact, "MOVL1_COMPACT", SH3E_INSN_MOVL1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
120 { sh3e_sem_movl2_compact, "MOVL2_COMPACT", SH3E_INSN_MOVL2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
121 { sh3e_sem_movl3_compact, "MOVL3_COMPACT", SH3E_INSN_MOVL3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
122 { sh3e_sem_movl4_compact, "MOVL4_COMPACT", SH3E_INSN_MOVL4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
123 { sh3e_sem_movl5_compact, "MOVL5_COMPACT", SH3E_INSN_MOVL5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
124 { sh3e_sem_movl6_compact, "MOVL6_COMPACT", SH3E_INSN_MOVL6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
125 { sh3e_sem_movl7_compact, "MOVL7_COMPACT", SH3E_INSN_MOVL7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
126 { sh3e_sem_movl8_compact, "MOVL8_COMPACT", SH3E_INSN_MOVL8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
127 { sh3e_sem_movl9_compact, "MOVL9_COMPACT", SH3E_INSN_MOVL9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
128 { sh3e_sem_movl10_compact, "MOVL10_COMPACT", SH3E_INSN_MOVL10_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
129 { sh3e_sem_movl11_compact, "MOVL11_COMPACT", SH3E_INSN_MOVL11_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
130 { sh3e_sem_movw1_compact, "MOVW1_COMPACT", SH3E_INSN_MOVW1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
131 { sh3e_sem_movw2_compact, "MOVW2_COMPACT", SH3E_INSN_MOVW2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
132 { sh3e_sem_movw3_compact, "MOVW3_COMPACT", SH3E_INSN_MOVW3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
133 { sh3e_sem_movw4_compact, "MOVW4_COMPACT", SH3E_INSN_MOVW4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
134 { sh3e_sem_movw5_compact, "MOVW5_COMPACT", SH3E_INSN_MOVW5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
135 { sh3e_sem_movw6_compact, "MOVW6_COMPACT", SH3E_INSN_MOVW6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
136 { sh3e_sem_movw7_compact, "MOVW7_COMPACT", SH3E_INSN_MOVW7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
137 { sh3e_sem_movw8_compact, "MOVW8_COMPACT", SH3E_INSN_MOVW8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
138 { sh3e_sem_movw9_compact, "MOVW9_COMPACT", SH3E_INSN_MOVW9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
139 { sh3e_sem_movw10_compact, "MOVW10_COMPACT", SH3E_INSN_MOVW10_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
140 { sh3e_sem_movw11_compact, "MOVW11_COMPACT", SH3E_INSN_MOVW11_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
141 { sh3e_sem_mova_compact, "MOVA_COMPACT", SH3E_INSN_MOVA_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_LS } },
142 { sh3e_sem_movt_compact, "MOVT_COMPACT", SH3E_INSN_MOVT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
143 { sh3e_sem_mull_compact, "MULL_COMPACT", SH3E_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 } },
144 { sh3e_sem_mulsw_compact, "MULSW_COMPACT", SH3E_INSN_MULSW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
145 { sh3e_sem_muluw_compact, "MULUW_COMPACT", SH3E_INSN_MULUW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
146 { sh3e_sem_neg_compact, "NEG_COMPACT", SH3E_INSN_NEG_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
147 { sh3e_sem_negc_compact, "NEGC_COMPACT", SH3E_INSN_NEGC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
148 { sh3e_sem_nop_compact, "NOP_COMPACT", SH3E_INSN_NOP_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_MT } },
149 { sh3e_sem_not_compact, "NOT_COMPACT", SH3E_INSN_NOT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
150 { sh3e_sem_or_compact, "OR_COMPACT", SH3E_INSN_OR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
151 { sh3e_sem_ori_compact, "ORI_COMPACT", SH3E_INSN_ORI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
152 { sh3e_sem_orb_compact, "ORB_COMPACT", SH3E_INSN_ORB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
153 { sh3e_sem_pref_compact, "PREF_COMPACT", SH3E_INSN_PREF_COMPACT, { 0, (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_LS, SH4A_GROUP_LS } },
154 { sh3e_sem_rotcl_compact, "ROTCL_COMPACT", SH3E_INSN_ROTCL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
155 { sh3e_sem_rotcr_compact, "ROTCR_COMPACT", SH3E_INSN_ROTCR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
156 { sh3e_sem_rotl_compact, "ROTL_COMPACT", SH3E_INSN_ROTL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
157 { sh3e_sem_rotr_compact, "ROTR_COMPACT", SH3E_INSN_ROTR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
158 { sh3e_sem_rts_compact, "RTS_COMPACT", SH3E_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 } },
159 { sh3e_sem_sets_compact, "SETS_COMPACT", SH3E_INSN_SETS_COMPACT, { 0, (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 } },
160 { sh3e_sem_sett_compact, "SETT_COMPACT", SH3E_INSN_SETT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
161 { sh3e_sem_shad_compact, "SHAD_COMPACT", SH3E_INSN_SHAD_COMPACT, { 0, (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(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 } },
162 { sh3e_sem_shal_compact, "SHAL_COMPACT", SH3E_INSN_SHAL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
163 { sh3e_sem_shar_compact, "SHAR_COMPACT", SH3E_INSN_SHAR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
164 { sh3e_sem_shld_compact, "SHLD_COMPACT", SH3E_INSN_SHLD_COMPACT, { 0, (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 } },
165 { sh3e_sem_shll_compact, "SHLL_COMPACT", SH3E_INSN_SHLL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
166 { sh3e_sem_shll2_compact, "SHLL2_COMPACT", SH3E_INSN_SHLL2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
167 { sh3e_sem_shll8_compact, "SHLL8_COMPACT", SH3E_INSN_SHLL8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
168 { sh3e_sem_shll16_compact, "SHLL16_COMPACT", SH3E_INSN_SHLL16_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
169 { sh3e_sem_shlr_compact, "SHLR_COMPACT", SH3E_INSN_SHLR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
170 { sh3e_sem_shlr2_compact, "SHLR2_COMPACT", SH3E_INSN_SHLR2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
171 { sh3e_sem_shlr8_compact, "SHLR8_COMPACT", SH3E_INSN_SHLR8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
172 { sh3e_sem_shlr16_compact, "SHLR16_COMPACT", SH3E_INSN_SHLR16_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
173 { sh3e_sem_stc_gbr_compact, "STC_GBR_COMPACT", SH3E_INSN_STC_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
174 { sh3e_sem_stc_vbr_compact, "STC_VBR_COMPACT", SH3E_INSN_STC_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
175 { sh3e_sem_stcl_gbr_compact, "STCL_GBR_COMPACT", SH3E_INSN_STCL_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
176 { sh3e_sem_stcl_vbr_compact, "STCL_VBR_COMPACT", SH3E_INSN_STCL_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
177 { sh3e_sem_sts_fpscr_compact, "STS_FPSCR_COMPACT", SH3E_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 } },
178 { sh3e_sem_stsl_fpscr_compact, "STSL_FPSCR_COMPACT", SH3E_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 } },
179 { sh3e_sem_sts_fpul_compact, "STS_FPUL_COMPACT", SH3E_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 } },
180 { sh3e_sem_stsl_fpul_compact, "STSL_FPUL_COMPACT", SH3E_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 } },
181 { sh3e_sem_sts_mach_compact, "STS_MACH_COMPACT", SH3E_INSN_STS_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
182 { sh3e_sem_stsl_mach_compact, "STSL_MACH_COMPACT", SH3E_INSN_STSL_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
183 { sh3e_sem_sts_macl_compact, "STS_MACL_COMPACT", SH3E_INSN_STS_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
184 { sh3e_sem_stsl_macl_compact, "STSL_MACL_COMPACT", SH3E_INSN_STSL_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
185 { sh3e_sem_sts_pr_compact, "STS_PR_COMPACT", SH3E_INSN_STS_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
186 { sh3e_sem_stsl_pr_compact, "STSL_PR_COMPACT", SH3E_INSN_STSL_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
187 { sh3e_sem_sub_compact, "SUB_COMPACT", SH3E_INSN_SUB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
188 { sh3e_sem_subc_compact, "SUBC_COMPACT", SH3E_INSN_SUBC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
189 { sh3e_sem_subv_compact, "SUBV_COMPACT", SH3E_INSN_SUBV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
190 { sh3e_sem_swapb_compact, "SWAPB_COMPACT", SH3E_INSN_SWAPB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
191 { sh3e_sem_swapw_compact, "SWAPW_COMPACT", SH3E_INSN_SWAPW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
192 { sh3e_sem_tasb_compact, "TASB_COMPACT", SH3E_INSN_TASB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
193 { sh3e_sem_trapa_compact, "TRAPA_COMPACT", SH3E_INSN_TRAPA_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
194 { sh3e_sem_tst_compact, "TST_COMPACT", SH3E_INSN_TST_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
195 { sh3e_sem_tsti_compact, "TSTI_COMPACT", SH3E_INSN_TSTI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
196 { sh3e_sem_tstb_compact, "TSTB_COMPACT", SH3E_INSN_TSTB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
197 { sh3e_sem_xor_compact, "XOR_COMPACT", SH3E_INSN_XOR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
198 { sh3e_sem_xori_compact, "XORI_COMPACT", SH3E_INSN_XORI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
199 { sh3e_sem_xorb_compact, "XORB_COMPACT", SH3E_INSN_XORB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
200 { sh3e_sem_xtrct_compact, "XTRCT_COMPACT", SH3E_INSN_XTRCT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
204 // Given a canonical virtual insn id, return the target specific one.
207 sh3e_idesc::lookup_virtual (virtual_insn_type vit)
211 case VIRTUAL_INSN_INVALID: return SH3E_INSN_X_INVALID;
212 case VIRTUAL_INSN_COND: return SH3E_INSN_X_INVALID;
218 // Declare extractor functions
221 sh3e_extract_sfmt_empty (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
223 sh3e_extract_sfmt_add_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
225 sh3e_extract_sfmt_addi_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
227 sh3e_extract_sfmt_addc_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
229 sh3e_extract_sfmt_addv_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
231 sh3e_extract_sfmt_and_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
233 sh3e_extract_sfmt_andi_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
235 sh3e_extract_sfmt_andb_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
237 sh3e_extract_sfmt_bf_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
239 sh3e_extract_sfmt_bfs_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
241 sh3e_extract_sfmt_bra_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
243 sh3e_extract_sfmt_braf_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
245 sh3e_extract_sfmt_bsr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
247 sh3e_extract_sfmt_bsrf_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
249 sh3e_extract_sfmt_clrmac_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
251 sh3e_extract_sfmt_clrs_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
253 sh3e_extract_sfmt_clrt_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
255 sh3e_extract_sfmt_cmpeq_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
257 sh3e_extract_sfmt_cmpeqi_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
259 sh3e_extract_sfmt_cmppl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
261 sh3e_extract_sfmt_div0s_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
263 sh3e_extract_sfmt_div0u_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
265 sh3e_extract_sfmt_div1_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
267 sh3e_extract_sfmt_dmulsl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
269 sh3e_extract_sfmt_dt_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
271 sh3e_extract_sfmt_extsb_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
273 sh3e_extract_sfmt_fabs_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
275 sh3e_extract_sfmt_fadd_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
277 sh3e_extract_sfmt_fcmpeq_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
279 sh3e_extract_sfmt_flds_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
281 sh3e_extract_sfmt_fldi0_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
283 sh3e_extract_sfmt_float_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
285 sh3e_extract_sfmt_fmac_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
287 sh3e_extract_sfmt_fmov1_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
289 sh3e_extract_sfmt_fmov2_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
291 sh3e_extract_sfmt_fmov3_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
293 sh3e_extract_sfmt_fmov4_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
295 sh3e_extract_sfmt_fmov5_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
297 sh3e_extract_sfmt_fmov6_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
299 sh3e_extract_sfmt_fmov7_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
301 sh3e_extract_sfmt_frchg_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
303 sh3e_extract_sfmt_fschg_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
305 sh3e_extract_sfmt_fsts_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
307 sh3e_extract_sfmt_ftrc_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
309 sh3e_extract_sfmt_ldc_gbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
311 sh3e_extract_sfmt_ldc_vbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
313 sh3e_extract_sfmt_ldc_sr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
315 sh3e_extract_sfmt_ldcl_gbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
317 sh3e_extract_sfmt_ldcl_vbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
319 sh3e_extract_sfmt_lds_fpscr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
321 sh3e_extract_sfmt_ldsl_fpscr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
323 sh3e_extract_sfmt_lds_fpul_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
325 sh3e_extract_sfmt_ldsl_fpul_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
327 sh3e_extract_sfmt_lds_mach_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
329 sh3e_extract_sfmt_ldsl_mach_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
331 sh3e_extract_sfmt_lds_macl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
333 sh3e_extract_sfmt_ldsl_macl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
335 sh3e_extract_sfmt_lds_pr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
337 sh3e_extract_sfmt_ldsl_pr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
339 sh3e_extract_sfmt_macl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
341 sh3e_extract_sfmt_macw_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
343 sh3e_extract_sfmt_mov_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
345 sh3e_extract_sfmt_movi_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
347 sh3e_extract_sfmt_movb1_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
349 sh3e_extract_sfmt_movb2_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
351 sh3e_extract_sfmt_movb3_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
353 sh3e_extract_sfmt_movb4_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
355 sh3e_extract_sfmt_movb5_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
357 sh3e_extract_sfmt_movb6_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
359 sh3e_extract_sfmt_movb7_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
361 sh3e_extract_sfmt_movb8_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
363 sh3e_extract_sfmt_movb9_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
365 sh3e_extract_sfmt_movb10_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
367 sh3e_extract_sfmt_movl1_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
369 sh3e_extract_sfmt_movl2_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
371 sh3e_extract_sfmt_movl3_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
373 sh3e_extract_sfmt_movl4_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
375 sh3e_extract_sfmt_movl5_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
377 sh3e_extract_sfmt_movl6_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
379 sh3e_extract_sfmt_movl7_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
381 sh3e_extract_sfmt_movl8_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
383 sh3e_extract_sfmt_movl9_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
385 sh3e_extract_sfmt_movl10_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
387 sh3e_extract_sfmt_movl11_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
389 sh3e_extract_sfmt_movw1_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
391 sh3e_extract_sfmt_movw2_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
393 sh3e_extract_sfmt_movw3_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
395 sh3e_extract_sfmt_movw4_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
397 sh3e_extract_sfmt_movw5_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
399 sh3e_extract_sfmt_movw6_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
401 sh3e_extract_sfmt_movw7_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
403 sh3e_extract_sfmt_movw8_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
405 sh3e_extract_sfmt_movw9_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
407 sh3e_extract_sfmt_movw10_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
409 sh3e_extract_sfmt_movw11_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
411 sh3e_extract_sfmt_mova_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
413 sh3e_extract_sfmt_movt_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
415 sh3e_extract_sfmt_mull_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
417 sh3e_extract_sfmt_negc_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
419 sh3e_extract_sfmt_nop_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
421 sh3e_extract_sfmt_pref_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
423 sh3e_extract_sfmt_rotcl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
425 sh3e_extract_sfmt_rts_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
427 sh3e_extract_sfmt_shad_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
429 sh3e_extract_sfmt_shll2_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
431 sh3e_extract_sfmt_stc_gbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
433 sh3e_extract_sfmt_stc_vbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
435 sh3e_extract_sfmt_stcl_gbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
437 sh3e_extract_sfmt_stcl_vbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
439 sh3e_extract_sfmt_sts_fpscr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
441 sh3e_extract_sfmt_stsl_fpscr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
443 sh3e_extract_sfmt_sts_fpul_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
445 sh3e_extract_sfmt_stsl_fpul_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
447 sh3e_extract_sfmt_sts_mach_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
449 sh3e_extract_sfmt_stsl_mach_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
451 sh3e_extract_sfmt_sts_macl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
453 sh3e_extract_sfmt_stsl_macl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
455 sh3e_extract_sfmt_sts_pr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
457 sh3e_extract_sfmt_stsl_pr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
459 sh3e_extract_sfmt_tasb_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
461 sh3e_extract_sfmt_trapa_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
463 sh3e_extract_sfmt_tsti_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
465 sh3e_extract_sfmt_tstb_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn);
467 // Fetch & decode instruction
469 sh3e_scache::decode (sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn)
471 /* Result of decoder. */
472 SH3E_INSN_TYPE itype;
475 sh3e_insn_word insn = base_insn;
478 unsigned int val = (((insn >> 21) & (15 << 7)) | ((insn >> 16) & (127 << 0)));
483 unsigned int val = (((insn >> 23) & (1 << 0)));
487 entire_insn = entire_insn >> 16;
488 itype = SH3E_INSN_BSRF_COMPACT; sh3e_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
490 entire_insn = entire_insn >> 16;
491 itype = SH3E_INSN_PREF_COMPACT; sh3e_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
492 default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
495 case 4 : /* fall through */
496 case 20 : /* fall through */
497 case 36 : /* fall through */
498 case 52 : /* fall through */
499 case 68 : /* fall through */
500 case 84 : /* fall through */
501 case 100 : /* fall through */
503 entire_insn = entire_insn >> 16;
504 itype = SH3E_INSN_MOVB3_COMPACT; sh3e_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
505 case 5 : /* fall through */
506 case 21 : /* fall through */
507 case 37 : /* fall through */
508 case 53 : /* fall through */
509 case 69 : /* fall through */
510 case 85 : /* fall through */
511 case 101 : /* fall through */
513 entire_insn = entire_insn >> 16;
514 itype = SH3E_INSN_MOVW3_COMPACT; sh3e_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
515 case 6 : /* fall through */
516 case 22 : /* fall through */
517 case 38 : /* fall through */
518 case 54 : /* fall through */
519 case 70 : /* fall through */
520 case 86 : /* fall through */
521 case 102 : /* fall through */
523 entire_insn = entire_insn >> 16;
524 itype = SH3E_INSN_MOVL3_COMPACT; sh3e_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
525 case 7 : /* fall through */
526 case 23 : /* fall through */
527 case 39 : /* fall through */
528 case 55 : /* fall through */
529 case 71 : /* fall through */
530 case 87 : /* fall through */
531 case 103 : /* fall through */
533 entire_insn = entire_insn >> 16;
534 itype = SH3E_INSN_MULL_COMPACT; sh3e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
536 entire_insn = entire_insn >> 16;
537 if ((entire_insn & 0xffff) == 0x8)
538 { itype = SH3E_INSN_CLRT_COMPACT; sh3e_extract_sfmt_clrt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
539 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
541 entire_insn = entire_insn >> 16;
542 if ((entire_insn & 0xffff) == 0x9)
543 { itype = SH3E_INSN_NOP_COMPACT; sh3e_extract_sfmt_nop_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
544 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
546 entire_insn = entire_insn >> 16;
547 if ((entire_insn & 0xf0ff) == 0xa)
548 { itype = SH3E_INSN_STS_MACH_COMPACT; sh3e_extract_sfmt_sts_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
549 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
551 entire_insn = entire_insn >> 16;
552 if ((entire_insn & 0xffff) == 0xb)
553 { itype = SH3E_INSN_RTS_COMPACT; sh3e_extract_sfmt_rts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
554 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
555 case 12 : /* fall through */
556 case 28 : /* fall through */
557 case 44 : /* fall through */
558 case 60 : /* fall through */
559 case 76 : /* fall through */
560 case 92 : /* fall through */
561 case 108 : /* fall through */
563 entire_insn = entire_insn >> 16;
564 itype = SH3E_INSN_MOVB8_COMPACT; sh3e_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
565 case 13 : /* fall through */
566 case 29 : /* fall through */
567 case 45 : /* fall through */
568 case 61 : /* fall through */
569 case 77 : /* fall through */
570 case 93 : /* fall through */
571 case 109 : /* fall through */
573 entire_insn = entire_insn >> 16;
574 itype = SH3E_INSN_MOVW8_COMPACT; sh3e_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
575 case 14 : /* fall through */
576 case 30 : /* fall through */
577 case 46 : /* fall through */
578 case 62 : /* fall through */
579 case 78 : /* fall through */
580 case 94 : /* fall through */
581 case 110 : /* fall through */
583 entire_insn = entire_insn >> 16;
584 itype = SH3E_INSN_MOVL8_COMPACT; sh3e_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
585 case 15 : /* fall through */
586 case 31 : /* fall through */
587 case 47 : /* fall through */
588 case 63 : /* fall through */
589 case 79 : /* fall through */
590 case 95 : /* fall through */
591 case 111 : /* fall through */
593 entire_insn = entire_insn >> 16;
594 itype = SH3E_INSN_MACL_COMPACT; sh3e_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
596 entire_insn = entire_insn >> 16;
597 if ((entire_insn & 0xf0ff) == 0x12)
598 { itype = SH3E_INSN_STC_GBR_COMPACT; sh3e_extract_sfmt_stc_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
599 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
601 entire_insn = entire_insn >> 16;
602 if ((entire_insn & 0xffff) == 0x18)
603 { itype = SH3E_INSN_SETT_COMPACT; sh3e_extract_sfmt_clrt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
604 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
606 entire_insn = entire_insn >> 16;
607 if ((entire_insn & 0xffff) == 0x19)
608 { itype = SH3E_INSN_DIV0U_COMPACT; sh3e_extract_sfmt_div0u_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
609 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
611 entire_insn = entire_insn >> 16;
612 if ((entire_insn & 0xf0ff) == 0x1a)
613 { itype = SH3E_INSN_STS_MACL_COMPACT; sh3e_extract_sfmt_sts_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
614 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
616 entire_insn = entire_insn >> 16;
617 if ((entire_insn & 0xf0ff) == 0x22)
618 { itype = SH3E_INSN_STC_VBR_COMPACT; sh3e_extract_sfmt_stc_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
619 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
621 entire_insn = entire_insn >> 16;
622 if ((entire_insn & 0xf0ff) == 0x23)
623 { itype = SH3E_INSN_BRAF_COMPACT; sh3e_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
624 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
626 entire_insn = entire_insn >> 16;
627 if ((entire_insn & 0xffff) == 0x28)
628 { itype = SH3E_INSN_CLRMAC_COMPACT; sh3e_extract_sfmt_clrmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
629 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
631 entire_insn = entire_insn >> 16;
632 if ((entire_insn & 0xf0ff) == 0x29)
633 { itype = SH3E_INSN_MOVT_COMPACT; sh3e_extract_sfmt_movt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
634 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
636 entire_insn = entire_insn >> 16;
637 if ((entire_insn & 0xf0ff) == 0x2a)
638 { itype = SH3E_INSN_STS_PR_COMPACT; sh3e_extract_sfmt_sts_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
639 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
641 entire_insn = entire_insn >> 16;
642 if ((entire_insn & 0xffff) == 0x48)
643 { itype = SH3E_INSN_CLRS_COMPACT; sh3e_extract_sfmt_clrs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
644 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
646 entire_insn = entire_insn >> 16;
647 if ((entire_insn & 0xffff) == 0x58)
648 { itype = SH3E_INSN_SETS_COMPACT; sh3e_extract_sfmt_clrs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
649 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
651 entire_insn = entire_insn >> 16;
652 if ((entire_insn & 0xf0ff) == 0x5a)
653 { itype = SH3E_INSN_STS_FPUL_COMPACT; sh3e_extract_sfmt_sts_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
654 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
656 entire_insn = entire_insn >> 16;
657 if ((entire_insn & 0xf0ff) == 0x6a)
658 { itype = SH3E_INSN_STS_FPSCR_COMPACT; sh3e_extract_sfmt_sts_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
659 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
660 case 128 : /* fall through */
661 case 129 : /* fall through */
662 case 130 : /* fall through */
663 case 131 : /* fall through */
664 case 132 : /* fall through */
665 case 133 : /* fall through */
666 case 134 : /* fall through */
667 case 135 : /* fall through */
668 case 136 : /* fall through */
669 case 137 : /* fall through */
670 case 138 : /* fall through */
671 case 139 : /* fall through */
672 case 140 : /* fall through */
673 case 141 : /* fall through */
674 case 142 : /* fall through */
675 case 143 : /* fall through */
676 case 144 : /* fall through */
677 case 145 : /* fall through */
678 case 146 : /* fall through */
679 case 147 : /* fall through */
680 case 148 : /* fall through */
681 case 149 : /* fall through */
682 case 150 : /* fall through */
683 case 151 : /* fall through */
684 case 152 : /* fall through */
685 case 153 : /* fall through */
686 case 154 : /* fall through */
687 case 155 : /* fall through */
688 case 156 : /* fall through */
689 case 157 : /* fall through */
690 case 158 : /* fall through */
691 case 159 : /* fall through */
692 case 160 : /* fall through */
693 case 161 : /* fall through */
694 case 162 : /* fall through */
695 case 163 : /* fall through */
696 case 164 : /* fall through */
697 case 165 : /* fall through */
698 case 166 : /* fall through */
699 case 167 : /* fall through */
700 case 168 : /* fall through */
701 case 169 : /* fall through */
702 case 170 : /* fall through */
703 case 171 : /* fall through */
704 case 172 : /* fall through */
705 case 173 : /* fall through */
706 case 174 : /* fall through */
707 case 175 : /* fall through */
708 case 176 : /* fall through */
709 case 177 : /* fall through */
710 case 178 : /* fall through */
711 case 179 : /* fall through */
712 case 180 : /* fall through */
713 case 181 : /* fall through */
714 case 182 : /* fall through */
715 case 183 : /* fall through */
716 case 184 : /* fall through */
717 case 185 : /* fall through */
718 case 186 : /* fall through */
719 case 187 : /* fall through */
720 case 188 : /* fall through */
721 case 189 : /* fall through */
722 case 190 : /* fall through */
723 case 191 : /* fall through */
724 case 192 : /* fall through */
725 case 193 : /* fall through */
726 case 194 : /* fall through */
727 case 195 : /* fall through */
728 case 196 : /* fall through */
729 case 197 : /* fall through */
730 case 198 : /* fall through */
731 case 199 : /* fall through */
732 case 200 : /* fall through */
733 case 201 : /* fall through */
734 case 202 : /* fall through */
735 case 203 : /* fall through */
736 case 204 : /* fall through */
737 case 205 : /* fall through */
738 case 206 : /* fall through */
739 case 207 : /* fall through */
740 case 208 : /* fall through */
741 case 209 : /* fall through */
742 case 210 : /* fall through */
743 case 211 : /* fall through */
744 case 212 : /* fall through */
745 case 213 : /* fall through */
746 case 214 : /* fall through */
747 case 215 : /* fall through */
748 case 216 : /* fall through */
749 case 217 : /* fall through */
750 case 218 : /* fall through */
751 case 219 : /* fall through */
752 case 220 : /* fall through */
753 case 221 : /* fall through */
754 case 222 : /* fall through */
755 case 223 : /* fall through */
756 case 224 : /* fall through */
757 case 225 : /* fall through */
758 case 226 : /* fall through */
759 case 227 : /* fall through */
760 case 228 : /* fall through */
761 case 229 : /* fall through */
762 case 230 : /* fall through */
763 case 231 : /* fall through */
764 case 232 : /* fall through */
765 case 233 : /* fall through */
766 case 234 : /* fall through */
767 case 235 : /* fall through */
768 case 236 : /* fall through */
769 case 237 : /* fall through */
770 case 238 : /* fall through */
771 case 239 : /* fall through */
772 case 240 : /* fall through */
773 case 241 : /* fall through */
774 case 242 : /* fall through */
775 case 243 : /* fall through */
776 case 244 : /* fall through */
777 case 245 : /* fall through */
778 case 246 : /* fall through */
779 case 247 : /* fall through */
780 case 248 : /* fall through */
781 case 249 : /* fall through */
782 case 250 : /* fall through */
783 case 251 : /* fall through */
784 case 252 : /* fall through */
785 case 253 : /* fall through */
786 case 254 : /* fall through */
788 entire_insn = entire_insn >> 16;
789 itype = SH3E_INSN_MOVL5_COMPACT; sh3e_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
790 case 256 : /* fall through */
791 case 272 : /* fall through */
792 case 288 : /* fall through */
793 case 304 : /* fall through */
794 case 320 : /* fall through */
795 case 336 : /* fall through */
796 case 352 : /* fall through */
798 entire_insn = entire_insn >> 16;
799 itype = SH3E_INSN_MOVB1_COMPACT; sh3e_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
800 case 257 : /* fall through */
801 case 273 : /* fall through */
802 case 289 : /* fall through */
803 case 305 : /* fall through */
804 case 321 : /* fall through */
805 case 337 : /* fall through */
806 case 353 : /* fall through */
808 entire_insn = entire_insn >> 16;
809 itype = SH3E_INSN_MOVW1_COMPACT; sh3e_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
810 case 258 : /* fall through */
811 case 274 : /* fall through */
812 case 290 : /* fall through */
813 case 306 : /* fall through */
814 case 322 : /* fall through */
815 case 338 : /* fall through */
816 case 354 : /* fall through */
818 entire_insn = entire_insn >> 16;
819 itype = SH3E_INSN_MOVL1_COMPACT; sh3e_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
820 case 260 : /* fall through */
821 case 276 : /* fall through */
822 case 292 : /* fall through */
823 case 308 : /* fall through */
824 case 324 : /* fall through */
825 case 340 : /* fall through */
826 case 356 : /* fall through */
828 entire_insn = entire_insn >> 16;
829 itype = SH3E_INSN_MOVB2_COMPACT; sh3e_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
830 case 261 : /* fall through */
831 case 277 : /* fall through */
832 case 293 : /* fall through */
833 case 309 : /* fall through */
834 case 325 : /* fall through */
835 case 341 : /* fall through */
836 case 357 : /* fall through */
838 entire_insn = entire_insn >> 16;
839 itype = SH3E_INSN_MOVW2_COMPACT; sh3e_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
840 case 262 : /* fall through */
841 case 278 : /* fall through */
842 case 294 : /* fall through */
843 case 310 : /* fall through */
844 case 326 : /* fall through */
845 case 342 : /* fall through */
846 case 358 : /* fall through */
848 entire_insn = entire_insn >> 16;
849 itype = SH3E_INSN_MOVL2_COMPACT; sh3e_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
850 case 263 : /* fall through */
851 case 279 : /* fall through */
852 case 295 : /* fall through */
853 case 311 : /* fall through */
854 case 327 : /* fall through */
855 case 343 : /* fall through */
856 case 359 : /* fall through */
858 entire_insn = entire_insn >> 16;
859 itype = SH3E_INSN_DIV0S_COMPACT; sh3e_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
860 case 264 : /* fall through */
861 case 280 : /* fall through */
862 case 296 : /* fall through */
863 case 312 : /* fall through */
864 case 328 : /* fall through */
865 case 344 : /* fall through */
866 case 360 : /* fall through */
868 entire_insn = entire_insn >> 16;
869 itype = SH3E_INSN_TST_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
870 case 265 : /* fall through */
871 case 281 : /* fall through */
872 case 297 : /* fall through */
873 case 313 : /* fall through */
874 case 329 : /* fall through */
875 case 345 : /* fall through */
876 case 361 : /* fall through */
878 entire_insn = entire_insn >> 16;
879 itype = SH3E_INSN_AND_COMPACT; sh3e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
880 case 266 : /* fall through */
881 case 282 : /* fall through */
882 case 298 : /* fall through */
883 case 314 : /* fall through */
884 case 330 : /* fall through */
885 case 346 : /* fall through */
886 case 362 : /* fall through */
888 entire_insn = entire_insn >> 16;
889 itype = SH3E_INSN_XOR_COMPACT; sh3e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
890 case 267 : /* fall through */
891 case 283 : /* fall through */
892 case 299 : /* fall through */
893 case 315 : /* fall through */
894 case 331 : /* fall through */
895 case 347 : /* fall through */
896 case 363 : /* fall through */
898 entire_insn = entire_insn >> 16;
899 itype = SH3E_INSN_OR_COMPACT; sh3e_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
900 case 268 : /* fall through */
901 case 284 : /* fall through */
902 case 300 : /* fall through */
903 case 316 : /* fall through */
904 case 332 : /* fall through */
905 case 348 : /* fall through */
906 case 364 : /* fall through */
908 entire_insn = entire_insn >> 16;
909 itype = SH3E_INSN_CMPSTR_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
910 case 269 : /* fall through */
911 case 285 : /* fall through */
912 case 301 : /* fall through */
913 case 317 : /* fall through */
914 case 333 : /* fall through */
915 case 349 : /* fall through */
916 case 365 : /* fall through */
918 entire_insn = entire_insn >> 16;
919 itype = SH3E_INSN_XTRCT_COMPACT; sh3e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
920 case 270 : /* fall through */
921 case 286 : /* fall through */
922 case 302 : /* fall through */
923 case 318 : /* fall through */
924 case 334 : /* fall through */
925 case 350 : /* fall through */
926 case 366 : /* fall through */
928 entire_insn = entire_insn >> 16;
929 itype = SH3E_INSN_MULUW_COMPACT; sh3e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
930 case 271 : /* fall through */
931 case 287 : /* fall through */
932 case 303 : /* fall through */
933 case 319 : /* fall through */
934 case 335 : /* fall through */
935 case 351 : /* fall through */
936 case 367 : /* fall through */
938 entire_insn = entire_insn >> 16;
939 itype = SH3E_INSN_MULSW_COMPACT; sh3e_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
940 case 384 : /* fall through */
941 case 400 : /* fall through */
942 case 416 : /* fall through */
943 case 432 : /* fall through */
944 case 448 : /* fall through */
945 case 464 : /* fall through */
946 case 480 : /* fall through */
948 entire_insn = entire_insn >> 16;
949 itype = SH3E_INSN_CMPEQ_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
950 case 386 : /* fall through */
951 case 402 : /* fall through */
952 case 418 : /* fall through */
953 case 434 : /* fall through */
954 case 450 : /* fall through */
955 case 466 : /* fall through */
956 case 482 : /* fall through */
958 entire_insn = entire_insn >> 16;
959 itype = SH3E_INSN_CMPHS_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
960 case 387 : /* fall through */
961 case 403 : /* fall through */
962 case 419 : /* fall through */
963 case 435 : /* fall through */
964 case 451 : /* fall through */
965 case 467 : /* fall through */
966 case 483 : /* fall through */
968 entire_insn = entire_insn >> 16;
969 itype = SH3E_INSN_CMPGE_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
970 case 388 : /* fall through */
971 case 404 : /* fall through */
972 case 420 : /* fall through */
973 case 436 : /* fall through */
974 case 452 : /* fall through */
975 case 468 : /* fall through */
976 case 484 : /* fall through */
978 entire_insn = entire_insn >> 16;
979 itype = SH3E_INSN_DIV1_COMPACT; sh3e_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
980 case 389 : /* fall through */
981 case 405 : /* fall through */
982 case 421 : /* fall through */
983 case 437 : /* fall through */
984 case 453 : /* fall through */
985 case 469 : /* fall through */
986 case 485 : /* fall through */
988 entire_insn = entire_insn >> 16;
989 itype = SH3E_INSN_DMULUL_COMPACT; sh3e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
990 case 390 : /* fall through */
991 case 406 : /* fall through */
992 case 422 : /* fall through */
993 case 438 : /* fall through */
994 case 454 : /* fall through */
995 case 470 : /* fall through */
996 case 486 : /* fall through */
998 entire_insn = entire_insn >> 16;
999 itype = SH3E_INSN_CMPHI_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1000 case 391 : /* fall through */
1001 case 407 : /* fall through */
1002 case 423 : /* fall through */
1003 case 439 : /* fall through */
1004 case 455 : /* fall through */
1005 case 471 : /* fall through */
1006 case 487 : /* fall through */
1008 entire_insn = entire_insn >> 16;
1009 itype = SH3E_INSN_CMPGT_COMPACT; sh3e_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1010 case 392 : /* fall through */
1011 case 408 : /* fall through */
1012 case 424 : /* fall through */
1013 case 440 : /* fall through */
1014 case 456 : /* fall through */
1015 case 472 : /* fall through */
1016 case 488 : /* fall through */
1018 entire_insn = entire_insn >> 16;
1019 itype = SH3E_INSN_SUB_COMPACT; sh3e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1020 case 394 : /* fall through */
1021 case 410 : /* fall through */
1022 case 426 : /* fall through */
1023 case 442 : /* fall through */
1024 case 458 : /* fall through */
1025 case 474 : /* fall through */
1026 case 490 : /* fall through */
1028 entire_insn = entire_insn >> 16;
1029 itype = SH3E_INSN_SUBC_COMPACT; sh3e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1030 case 395 : /* fall through */
1031 case 411 : /* fall through */
1032 case 427 : /* fall through */
1033 case 443 : /* fall through */
1034 case 459 : /* fall through */
1035 case 475 : /* fall through */
1036 case 491 : /* fall through */
1038 entire_insn = entire_insn >> 16;
1039 itype = SH3E_INSN_SUBV_COMPACT; sh3e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1040 case 396 : /* fall through */
1041 case 412 : /* fall through */
1042 case 428 : /* fall through */
1043 case 444 : /* fall through */
1044 case 460 : /* fall through */
1045 case 476 : /* fall through */
1046 case 492 : /* fall through */
1048 entire_insn = entire_insn >> 16;
1049 itype = SH3E_INSN_ADD_COMPACT; sh3e_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1050 case 397 : /* fall through */
1051 case 413 : /* fall through */
1052 case 429 : /* fall through */
1053 case 445 : /* fall through */
1054 case 461 : /* fall through */
1055 case 477 : /* fall through */
1056 case 493 : /* fall through */
1058 entire_insn = entire_insn >> 16;
1059 itype = SH3E_INSN_DMULSL_COMPACT; sh3e_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1060 case 398 : /* fall through */
1061 case 414 : /* fall through */
1062 case 430 : /* fall through */
1063 case 446 : /* fall through */
1064 case 462 : /* fall through */
1065 case 478 : /* fall through */
1066 case 494 : /* fall through */
1068 entire_insn = entire_insn >> 16;
1069 itype = SH3E_INSN_ADDC_COMPACT; sh3e_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1070 case 399 : /* fall through */
1071 case 415 : /* fall through */
1072 case 431 : /* fall through */
1073 case 447 : /* fall through */
1074 case 463 : /* fall through */
1075 case 479 : /* fall through */
1076 case 495 : /* fall through */
1078 entire_insn = entire_insn >> 16;
1079 itype = SH3E_INSN_ADDV_COMPACT; sh3e_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1081 entire_insn = entire_insn >> 16;
1082 if ((entire_insn & 0xf0ff) == 0x4000)
1083 { itype = SH3E_INSN_SHLL_COMPACT; sh3e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1084 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1086 entire_insn = entire_insn >> 16;
1087 if ((entire_insn & 0xf0ff) == 0x4001)
1088 { itype = SH3E_INSN_SHLR_COMPACT; sh3e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1089 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1091 entire_insn = entire_insn >> 16;
1092 if ((entire_insn & 0xf0ff) == 0x4002)
1093 { itype = SH3E_INSN_STSL_MACH_COMPACT; sh3e_extract_sfmt_stsl_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1094 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1096 entire_insn = entire_insn >> 16;
1097 if ((entire_insn & 0xf0ff) == 0x4004)
1098 { itype = SH3E_INSN_ROTL_COMPACT; sh3e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1099 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1101 entire_insn = entire_insn >> 16;
1102 if ((entire_insn & 0xf0ff) == 0x4005)
1103 { itype = SH3E_INSN_ROTR_COMPACT; sh3e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1104 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1106 entire_insn = entire_insn >> 16;
1107 if ((entire_insn & 0xf0ff) == 0x4006)
1108 { itype = SH3E_INSN_LDSL_MACH_COMPACT; sh3e_extract_sfmt_ldsl_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1109 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1111 entire_insn = entire_insn >> 16;
1112 if ((entire_insn & 0xf0ff) == 0x4008)
1113 { itype = SH3E_INSN_SHLL2_COMPACT; sh3e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1114 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1116 entire_insn = entire_insn >> 16;
1117 if ((entire_insn & 0xf0ff) == 0x4009)
1118 { itype = SH3E_INSN_SHLR2_COMPACT; sh3e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1119 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1121 entire_insn = entire_insn >> 16;
1122 if ((entire_insn & 0xf0ff) == 0x400a)
1123 { itype = SH3E_INSN_LDS_MACH_COMPACT; sh3e_extract_sfmt_lds_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1124 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1126 entire_insn = entire_insn >> 16;
1127 if ((entire_insn & 0xf0ff) == 0x400b)
1128 { itype = SH3E_INSN_JSR_COMPACT; sh3e_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1129 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1130 case 524 : /* fall through */
1131 case 540 : /* fall through */
1132 case 556 : /* fall through */
1133 case 572 : /* fall through */
1134 case 588 : /* fall through */
1135 case 604 : /* fall through */
1136 case 620 : /* fall through */
1138 entire_insn = entire_insn >> 16;
1139 itype = SH3E_INSN_SHAD_COMPACT; sh3e_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1140 case 525 : /* fall through */
1141 case 541 : /* fall through */
1142 case 557 : /* fall through */
1143 case 573 : /* fall through */
1144 case 589 : /* fall through */
1145 case 605 : /* fall through */
1146 case 621 : /* fall through */
1148 entire_insn = entire_insn >> 16;
1149 itype = SH3E_INSN_SHLD_COMPACT; sh3e_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1151 entire_insn = entire_insn >> 16;
1152 if ((entire_insn & 0xf0ff) == 0x400e)
1153 { itype = SH3E_INSN_LDC_SR_COMPACT; sh3e_extract_sfmt_ldc_sr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1154 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1155 case 527 : /* fall through */
1156 case 543 : /* fall through */
1157 case 559 : /* fall through */
1158 case 575 : /* fall through */
1159 case 591 : /* fall through */
1160 case 607 : /* fall through */
1161 case 623 : /* fall through */
1163 entire_insn = entire_insn >> 16;
1164 itype = SH3E_INSN_MACW_COMPACT; sh3e_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1166 entire_insn = entire_insn >> 16;
1167 if ((entire_insn & 0xf0ff) == 0x4010)
1168 { itype = SH3E_INSN_DT_COMPACT; sh3e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1169 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1171 entire_insn = entire_insn >> 16;
1172 if ((entire_insn & 0xf0ff) == 0x4011)
1173 { itype = SH3E_INSN_CMPPZ_COMPACT; sh3e_extract_sfmt_cmppl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1174 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1176 entire_insn = entire_insn >> 16;
1177 if ((entire_insn & 0xf0ff) == 0x4012)
1178 { itype = SH3E_INSN_STSL_MACL_COMPACT; sh3e_extract_sfmt_stsl_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1179 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1181 entire_insn = entire_insn >> 16;
1182 if ((entire_insn & 0xf0ff) == 0x4013)
1183 { itype = SH3E_INSN_STCL_GBR_COMPACT; sh3e_extract_sfmt_stcl_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1184 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1186 entire_insn = entire_insn >> 16;
1187 if ((entire_insn & 0xf0ff) == 0x4015)
1188 { itype = SH3E_INSN_CMPPL_COMPACT; sh3e_extract_sfmt_cmppl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1189 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1191 entire_insn = entire_insn >> 16;
1192 if ((entire_insn & 0xf0ff) == 0x4016)
1193 { itype = SH3E_INSN_LDSL_MACL_COMPACT; sh3e_extract_sfmt_ldsl_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1194 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1196 entire_insn = entire_insn >> 16;
1197 if ((entire_insn & 0xf0ff) == 0x4017)
1198 { itype = SH3E_INSN_LDCL_GBR_COMPACT; sh3e_extract_sfmt_ldcl_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1199 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1201 entire_insn = entire_insn >> 16;
1202 if ((entire_insn & 0xf0ff) == 0x4018)
1203 { itype = SH3E_INSN_SHLL8_COMPACT; sh3e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1204 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1206 entire_insn = entire_insn >> 16;
1207 if ((entire_insn & 0xf0ff) == 0x4019)
1208 { itype = SH3E_INSN_SHLR8_COMPACT; sh3e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1209 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1211 entire_insn = entire_insn >> 16;
1212 if ((entire_insn & 0xf0ff) == 0x401a)
1213 { itype = SH3E_INSN_LDS_MACL_COMPACT; sh3e_extract_sfmt_lds_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1214 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1216 entire_insn = entire_insn >> 16;
1217 if ((entire_insn & 0xf0ff) == 0x401b)
1218 { itype = SH3E_INSN_TASB_COMPACT; sh3e_extract_sfmt_tasb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1219 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1221 entire_insn = entire_insn >> 16;
1222 if ((entire_insn & 0xf0ff) == 0x401e)
1223 { itype = SH3E_INSN_LDC_GBR_COMPACT; sh3e_extract_sfmt_ldc_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1224 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1226 entire_insn = entire_insn >> 16;
1227 if ((entire_insn & 0xf0ff) == 0x4020)
1228 { itype = SH3E_INSN_SHAL_COMPACT; sh3e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1229 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1231 entire_insn = entire_insn >> 16;
1232 if ((entire_insn & 0xf0ff) == 0x4021)
1233 { itype = SH3E_INSN_SHAR_COMPACT; sh3e_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1234 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1236 entire_insn = entire_insn >> 16;
1237 if ((entire_insn & 0xf0ff) == 0x4022)
1238 { itype = SH3E_INSN_STSL_PR_COMPACT; sh3e_extract_sfmt_stsl_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1239 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1241 entire_insn = entire_insn >> 16;
1242 if ((entire_insn & 0xf0ff) == 0x4023)
1243 { itype = SH3E_INSN_STCL_VBR_COMPACT; sh3e_extract_sfmt_stcl_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1244 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1246 entire_insn = entire_insn >> 16;
1247 if ((entire_insn & 0xf0ff) == 0x4024)
1248 { itype = SH3E_INSN_ROTCL_COMPACT; sh3e_extract_sfmt_rotcl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1249 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1251 entire_insn = entire_insn >> 16;
1252 if ((entire_insn & 0xf0ff) == 0x4025)
1253 { itype = SH3E_INSN_ROTCR_COMPACT; sh3e_extract_sfmt_rotcl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1254 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1256 entire_insn = entire_insn >> 16;
1257 if ((entire_insn & 0xf0ff) == 0x4026)
1258 { itype = SH3E_INSN_LDSL_PR_COMPACT; sh3e_extract_sfmt_ldsl_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1259 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1261 entire_insn = entire_insn >> 16;
1262 if ((entire_insn & 0xf0ff) == 0x4027)
1263 { itype = SH3E_INSN_LDCL_VBR_COMPACT; sh3e_extract_sfmt_ldcl_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1264 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1266 entire_insn = entire_insn >> 16;
1267 if ((entire_insn & 0xf0ff) == 0x4028)
1268 { itype = SH3E_INSN_SHLL16_COMPACT; sh3e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1269 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1271 entire_insn = entire_insn >> 16;
1272 if ((entire_insn & 0xf0ff) == 0x4029)
1273 { itype = SH3E_INSN_SHLR16_COMPACT; sh3e_extract_sfmt_shll2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1274 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1276 entire_insn = entire_insn >> 16;
1277 if ((entire_insn & 0xf0ff) == 0x402a)
1278 { itype = SH3E_INSN_LDS_PR_COMPACT; sh3e_extract_sfmt_lds_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1279 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1281 entire_insn = entire_insn >> 16;
1282 if ((entire_insn & 0xf0ff) == 0x402b)
1283 { itype = SH3E_INSN_JMP_COMPACT; sh3e_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1284 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1286 entire_insn = entire_insn >> 16;
1287 if ((entire_insn & 0xf0ff) == 0x402e)
1288 { itype = SH3E_INSN_LDC_VBR_COMPACT; sh3e_extract_sfmt_ldc_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1289 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1291 entire_insn = entire_insn >> 16;
1292 if ((entire_insn & 0xf0ff) == 0x4052)
1293 { itype = SH3E_INSN_STSL_FPUL_COMPACT; sh3e_extract_sfmt_stsl_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1294 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1296 entire_insn = entire_insn >> 16;
1297 if ((entire_insn & 0xf0ff) == 0x4056)
1298 { itype = SH3E_INSN_LDSL_FPUL_COMPACT; sh3e_extract_sfmt_ldsl_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1299 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1301 entire_insn = entire_insn >> 16;
1302 if ((entire_insn & 0xf0ff) == 0x405a)
1303 { itype = SH3E_INSN_LDS_FPUL_COMPACT; sh3e_extract_sfmt_lds_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1304 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1306 entire_insn = entire_insn >> 16;
1307 if ((entire_insn & 0xf0ff) == 0x4062)
1308 { itype = SH3E_INSN_STSL_FPSCR_COMPACT; sh3e_extract_sfmt_stsl_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1309 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1311 entire_insn = entire_insn >> 16;
1312 if ((entire_insn & 0xf0ff) == 0x4066)
1313 { itype = SH3E_INSN_LDSL_FPSCR_COMPACT; sh3e_extract_sfmt_ldsl_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1314 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1316 entire_insn = entire_insn >> 16;
1317 if ((entire_insn & 0xf0ff) == 0x406a)
1318 { itype = SH3E_INSN_LDS_FPSCR_COMPACT; sh3e_extract_sfmt_lds_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1319 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1320 case 640 : /* fall through */
1321 case 641 : /* fall through */
1322 case 642 : /* fall through */
1323 case 643 : /* fall through */
1324 case 644 : /* fall through */
1325 case 645 : /* fall through */
1326 case 646 : /* fall through */
1327 case 647 : /* fall through */
1328 case 648 : /* fall through */
1329 case 649 : /* fall through */
1330 case 650 : /* fall through */
1331 case 651 : /* fall through */
1332 case 652 : /* fall through */
1333 case 653 : /* fall through */
1334 case 654 : /* fall through */
1335 case 655 : /* fall through */
1336 case 656 : /* fall through */
1337 case 657 : /* fall through */
1338 case 658 : /* fall through */
1339 case 659 : /* fall through */
1340 case 660 : /* fall through */
1341 case 661 : /* fall through */
1342 case 662 : /* fall through */
1343 case 663 : /* fall through */
1344 case 664 : /* fall through */
1345 case 665 : /* fall through */
1346 case 666 : /* fall through */
1347 case 667 : /* fall through */
1348 case 668 : /* fall through */
1349 case 669 : /* fall through */
1350 case 670 : /* fall through */
1351 case 671 : /* fall through */
1352 case 672 : /* fall through */
1353 case 673 : /* fall through */
1354 case 674 : /* fall through */
1355 case 675 : /* fall through */
1356 case 676 : /* fall through */
1357 case 677 : /* fall through */
1358 case 678 : /* fall through */
1359 case 679 : /* fall through */
1360 case 680 : /* fall through */
1361 case 681 : /* fall through */
1362 case 682 : /* fall through */
1363 case 683 : /* fall through */
1364 case 684 : /* fall through */
1365 case 685 : /* fall through */
1366 case 686 : /* fall through */
1367 case 687 : /* fall through */
1368 case 688 : /* fall through */
1369 case 689 : /* fall through */
1370 case 690 : /* fall through */
1371 case 691 : /* fall through */
1372 case 692 : /* fall through */
1373 case 693 : /* fall through */
1374 case 694 : /* fall through */
1375 case 695 : /* fall through */
1376 case 696 : /* fall through */
1377 case 697 : /* fall through */
1378 case 698 : /* fall through */
1379 case 699 : /* fall through */
1380 case 700 : /* fall through */
1381 case 701 : /* fall through */
1382 case 702 : /* fall through */
1383 case 703 : /* fall through */
1384 case 704 : /* fall through */
1385 case 705 : /* fall through */
1386 case 706 : /* fall through */
1387 case 707 : /* fall through */
1388 case 708 : /* fall through */
1389 case 709 : /* fall through */
1390 case 710 : /* fall through */
1391 case 711 : /* fall through */
1392 case 712 : /* fall through */
1393 case 713 : /* fall through */
1394 case 714 : /* fall through */
1395 case 715 : /* fall through */
1396 case 716 : /* fall through */
1397 case 717 : /* fall through */
1398 case 718 : /* fall through */
1399 case 719 : /* fall through */
1400 case 720 : /* fall through */
1401 case 721 : /* fall through */
1402 case 722 : /* fall through */
1403 case 723 : /* fall through */
1404 case 724 : /* fall through */
1405 case 725 : /* fall through */
1406 case 726 : /* fall through */
1407 case 727 : /* fall through */
1408 case 728 : /* fall through */
1409 case 729 : /* fall through */
1410 case 730 : /* fall through */
1411 case 731 : /* fall through */
1412 case 732 : /* fall through */
1413 case 733 : /* fall through */
1414 case 734 : /* fall through */
1415 case 735 : /* fall through */
1416 case 736 : /* fall through */
1417 case 737 : /* fall through */
1418 case 738 : /* fall through */
1419 case 739 : /* fall through */
1420 case 740 : /* fall through */
1421 case 741 : /* fall through */
1422 case 742 : /* fall through */
1423 case 743 : /* fall through */
1424 case 744 : /* fall through */
1425 case 745 : /* fall through */
1426 case 746 : /* fall through */
1427 case 747 : /* fall through */
1428 case 748 : /* fall through */
1429 case 749 : /* fall through */
1430 case 750 : /* fall through */
1431 case 751 : /* fall through */
1432 case 752 : /* fall through */
1433 case 753 : /* fall through */
1434 case 754 : /* fall through */
1435 case 755 : /* fall through */
1436 case 756 : /* fall through */
1437 case 757 : /* fall through */
1438 case 758 : /* fall through */
1439 case 759 : /* fall through */
1440 case 760 : /* fall through */
1441 case 761 : /* fall through */
1442 case 762 : /* fall through */
1443 case 763 : /* fall through */
1444 case 764 : /* fall through */
1445 case 765 : /* fall through */
1446 case 766 : /* fall through */
1448 entire_insn = entire_insn >> 16;
1449 itype = SH3E_INSN_MOVL11_COMPACT; sh3e_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1450 case 768 : /* fall through */
1451 case 784 : /* fall through */
1452 case 800 : /* fall through */
1453 case 816 : /* fall through */
1454 case 832 : /* fall through */
1455 case 848 : /* fall through */
1456 case 864 : /* fall through */
1458 entire_insn = entire_insn >> 16;
1459 itype = SH3E_INSN_MOVB6_COMPACT; sh3e_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1460 case 769 : /* fall through */
1461 case 785 : /* fall through */
1462 case 801 : /* fall through */
1463 case 817 : /* fall through */
1464 case 833 : /* fall through */
1465 case 849 : /* fall through */
1466 case 865 : /* fall through */
1468 entire_insn = entire_insn >> 16;
1469 itype = SH3E_INSN_MOVW6_COMPACT; sh3e_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1470 case 770 : /* fall through */
1471 case 786 : /* fall through */
1472 case 802 : /* fall through */
1473 case 818 : /* fall through */
1474 case 834 : /* fall through */
1475 case 850 : /* fall through */
1476 case 866 : /* fall through */
1478 entire_insn = entire_insn >> 16;
1479 itype = SH3E_INSN_MOVL6_COMPACT; sh3e_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1480 case 771 : /* fall through */
1481 case 787 : /* fall through */
1482 case 803 : /* fall through */
1483 case 819 : /* fall through */
1484 case 835 : /* fall through */
1485 case 851 : /* fall through */
1486 case 867 : /* fall through */
1488 entire_insn = entire_insn >> 16;
1489 itype = SH3E_INSN_MOV_COMPACT; sh3e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1490 case 772 : /* fall through */
1491 case 788 : /* fall through */
1492 case 804 : /* fall through */
1493 case 820 : /* fall through */
1494 case 836 : /* fall through */
1495 case 852 : /* fall through */
1496 case 868 : /* fall through */
1498 entire_insn = entire_insn >> 16;
1499 itype = SH3E_INSN_MOVB7_COMPACT; sh3e_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1500 case 773 : /* fall through */
1501 case 789 : /* fall through */
1502 case 805 : /* fall through */
1503 case 821 : /* fall through */
1504 case 837 : /* fall through */
1505 case 853 : /* fall through */
1506 case 869 : /* fall through */
1508 entire_insn = entire_insn >> 16;
1509 itype = SH3E_INSN_MOVW7_COMPACT; sh3e_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1510 case 774 : /* fall through */
1511 case 790 : /* fall through */
1512 case 806 : /* fall through */
1513 case 822 : /* fall through */
1514 case 838 : /* fall through */
1515 case 854 : /* fall through */
1516 case 870 : /* fall through */
1518 entire_insn = entire_insn >> 16;
1519 itype = SH3E_INSN_MOVL7_COMPACT; sh3e_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1520 case 775 : /* fall through */
1521 case 791 : /* fall through */
1522 case 807 : /* fall through */
1523 case 823 : /* fall through */
1524 case 839 : /* fall through */
1525 case 855 : /* fall through */
1526 case 871 : /* fall through */
1528 entire_insn = entire_insn >> 16;
1529 itype = SH3E_INSN_NOT_COMPACT; sh3e_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1530 case 776 : /* fall through */
1531 case 792 : /* fall through */
1532 case 808 : /* fall through */
1533 case 824 : /* fall through */
1534 case 840 : /* fall through */
1535 case 856 : /* fall through */
1536 case 872 : /* fall through */
1538 entire_insn = entire_insn >> 16;
1539 itype = SH3E_INSN_SWAPB_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1540 case 777 : /* fall through */
1541 case 793 : /* fall through */
1542 case 809 : /* fall through */
1543 case 825 : /* fall through */
1544 case 841 : /* fall through */
1545 case 857 : /* fall through */
1546 case 873 : /* fall through */
1548 entire_insn = entire_insn >> 16;
1549 itype = SH3E_INSN_SWAPW_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1550 case 778 : /* fall through */
1551 case 794 : /* fall through */
1552 case 810 : /* fall through */
1553 case 826 : /* fall through */
1554 case 842 : /* fall through */
1555 case 858 : /* fall through */
1556 case 874 : /* fall through */
1558 entire_insn = entire_insn >> 16;
1559 itype = SH3E_INSN_NEGC_COMPACT; sh3e_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1560 case 779 : /* fall through */
1561 case 795 : /* fall through */
1562 case 811 : /* fall through */
1563 case 827 : /* fall through */
1564 case 843 : /* fall through */
1565 case 859 : /* fall through */
1566 case 875 : /* fall through */
1568 entire_insn = entire_insn >> 16;
1569 itype = SH3E_INSN_NEG_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1570 case 780 : /* fall through */
1571 case 796 : /* fall through */
1572 case 812 : /* fall through */
1573 case 828 : /* fall through */
1574 case 844 : /* fall through */
1575 case 860 : /* fall through */
1576 case 876 : /* fall through */
1578 entire_insn = entire_insn >> 16;
1579 itype = SH3E_INSN_EXTUB_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1580 case 781 : /* fall through */
1581 case 797 : /* fall through */
1582 case 813 : /* fall through */
1583 case 829 : /* fall through */
1584 case 845 : /* fall through */
1585 case 861 : /* fall through */
1586 case 877 : /* fall through */
1588 entire_insn = entire_insn >> 16;
1589 itype = SH3E_INSN_EXTUW_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1590 case 782 : /* fall through */
1591 case 798 : /* fall through */
1592 case 814 : /* fall through */
1593 case 830 : /* fall through */
1594 case 846 : /* fall through */
1595 case 862 : /* fall through */
1596 case 878 : /* fall through */
1598 entire_insn = entire_insn >> 16;
1599 itype = SH3E_INSN_EXTSB_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1600 case 783 : /* fall through */
1601 case 799 : /* fall through */
1602 case 815 : /* fall through */
1603 case 831 : /* fall through */
1604 case 847 : /* fall through */
1605 case 863 : /* fall through */
1606 case 879 : /* fall through */
1608 entire_insn = entire_insn >> 16;
1609 itype = SH3E_INSN_EXTSW_COMPACT; sh3e_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1610 case 896 : /* fall through */
1611 case 897 : /* fall through */
1612 case 898 : /* fall through */
1613 case 899 : /* fall through */
1614 case 900 : /* fall through */
1615 case 901 : /* fall through */
1616 case 902 : /* fall through */
1617 case 903 : /* fall through */
1618 case 904 : /* fall through */
1619 case 905 : /* fall through */
1620 case 906 : /* fall through */
1621 case 907 : /* fall through */
1622 case 908 : /* fall through */
1623 case 909 : /* fall through */
1624 case 910 : /* fall through */
1625 case 911 : /* fall through */
1626 case 912 : /* fall through */
1627 case 913 : /* fall through */
1628 case 914 : /* fall through */
1629 case 915 : /* fall through */
1630 case 916 : /* fall through */
1631 case 917 : /* fall through */
1632 case 918 : /* fall through */
1633 case 919 : /* fall through */
1634 case 920 : /* fall through */
1635 case 921 : /* fall through */
1636 case 922 : /* fall through */
1637 case 923 : /* fall through */
1638 case 924 : /* fall through */
1639 case 925 : /* fall through */
1640 case 926 : /* fall through */
1641 case 927 : /* fall through */
1642 case 928 : /* fall through */
1643 case 929 : /* fall through */
1644 case 930 : /* fall through */
1645 case 931 : /* fall through */
1646 case 932 : /* fall through */
1647 case 933 : /* fall through */
1648 case 934 : /* fall through */
1649 case 935 : /* fall through */
1650 case 936 : /* fall through */
1651 case 937 : /* fall through */
1652 case 938 : /* fall through */
1653 case 939 : /* fall through */
1654 case 940 : /* fall through */
1655 case 941 : /* fall through */
1656 case 942 : /* fall through */
1657 case 943 : /* fall through */
1658 case 944 : /* fall through */
1659 case 945 : /* fall through */
1660 case 946 : /* fall through */
1661 case 947 : /* fall through */
1662 case 948 : /* fall through */
1663 case 949 : /* fall through */
1664 case 950 : /* fall through */
1665 case 951 : /* fall through */
1666 case 952 : /* fall through */
1667 case 953 : /* fall through */
1668 case 954 : /* fall through */
1669 case 955 : /* fall through */
1670 case 956 : /* fall through */
1671 case 957 : /* fall through */
1672 case 958 : /* fall through */
1673 case 959 : /* fall through */
1674 case 960 : /* fall through */
1675 case 961 : /* fall through */
1676 case 962 : /* fall through */
1677 case 963 : /* fall through */
1678 case 964 : /* fall through */
1679 case 965 : /* fall through */
1680 case 966 : /* fall through */
1681 case 967 : /* fall through */
1682 case 968 : /* fall through */
1683 case 969 : /* fall through */
1684 case 970 : /* fall through */
1685 case 971 : /* fall through */
1686 case 972 : /* fall through */
1687 case 973 : /* fall through */
1688 case 974 : /* fall through */
1689 case 975 : /* fall through */
1690 case 976 : /* fall through */
1691 case 977 : /* fall through */
1692 case 978 : /* fall through */
1693 case 979 : /* fall through */
1694 case 980 : /* fall through */
1695 case 981 : /* fall through */
1696 case 982 : /* fall through */
1697 case 983 : /* fall through */
1698 case 984 : /* fall through */
1699 case 985 : /* fall through */
1700 case 986 : /* fall through */
1701 case 987 : /* fall through */
1702 case 988 : /* fall through */
1703 case 989 : /* fall through */
1704 case 990 : /* fall through */
1705 case 991 : /* fall through */
1706 case 992 : /* fall through */
1707 case 993 : /* fall through */
1708 case 994 : /* fall through */
1709 case 995 : /* fall through */
1710 case 996 : /* fall through */
1711 case 997 : /* fall through */
1712 case 998 : /* fall through */
1713 case 999 : /* fall through */
1714 case 1000 : /* fall through */
1715 case 1001 : /* fall through */
1716 case 1002 : /* fall through */
1717 case 1003 : /* fall through */
1718 case 1004 : /* fall through */
1719 case 1005 : /* fall through */
1720 case 1006 : /* fall through */
1721 case 1007 : /* fall through */
1722 case 1008 : /* fall through */
1723 case 1009 : /* fall through */
1724 case 1010 : /* fall through */
1725 case 1011 : /* fall through */
1726 case 1012 : /* fall through */
1727 case 1013 : /* fall through */
1728 case 1014 : /* fall through */
1729 case 1015 : /* fall through */
1730 case 1016 : /* fall through */
1731 case 1017 : /* fall through */
1732 case 1018 : /* fall through */
1733 case 1019 : /* fall through */
1734 case 1020 : /* fall through */
1735 case 1021 : /* fall through */
1736 case 1022 : /* fall through */
1738 entire_insn = entire_insn >> 16;
1739 itype = SH3E_INSN_ADDI_COMPACT; sh3e_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1740 case 1024 : /* fall through */
1741 case 1025 : /* fall through */
1742 case 1026 : /* fall through */
1743 case 1027 : /* fall through */
1744 case 1028 : /* fall through */
1745 case 1029 : /* fall through */
1746 case 1030 : /* fall through */
1747 case 1031 : /* fall through */
1748 case 1032 : /* fall through */
1749 case 1033 : /* fall through */
1750 case 1034 : /* fall through */
1751 case 1035 : /* fall through */
1752 case 1036 : /* fall through */
1753 case 1037 : /* fall through */
1754 case 1038 : /* fall through */
1755 case 1039 : /* fall through */
1756 case 1040 : /* fall through */
1757 case 1041 : /* fall through */
1758 case 1042 : /* fall through */
1759 case 1043 : /* fall through */
1760 case 1044 : /* fall through */
1761 case 1045 : /* fall through */
1762 case 1046 : /* fall through */
1763 case 1047 : /* fall through */
1764 case 1048 : /* fall through */
1765 case 1049 : /* fall through */
1766 case 1050 : /* fall through */
1767 case 1051 : /* fall through */
1768 case 1052 : /* fall through */
1769 case 1053 : /* fall through */
1770 case 1054 : /* fall through */
1771 case 1055 : /* fall through */
1772 case 1056 : /* fall through */
1773 case 1057 : /* fall through */
1774 case 1058 : /* fall through */
1775 case 1059 : /* fall through */
1776 case 1060 : /* fall through */
1777 case 1061 : /* fall through */
1778 case 1062 : /* fall through */
1779 case 1063 : /* fall through */
1780 case 1064 : /* fall through */
1781 case 1065 : /* fall through */
1782 case 1066 : /* fall through */
1783 case 1067 : /* fall through */
1784 case 1068 : /* fall through */
1785 case 1069 : /* fall through */
1786 case 1070 : /* fall through */
1787 case 1071 : /* fall through */
1788 case 1072 : /* fall through */
1789 case 1073 : /* fall through */
1790 case 1074 : /* fall through */
1791 case 1075 : /* fall through */
1792 case 1076 : /* fall through */
1793 case 1077 : /* fall through */
1794 case 1078 : /* fall through */
1795 case 1079 : /* fall through */
1796 case 1080 : /* fall through */
1797 case 1081 : /* fall through */
1798 case 1082 : /* fall through */
1799 case 1083 : /* fall through */
1800 case 1084 : /* fall through */
1801 case 1085 : /* fall through */
1802 case 1086 : /* fall through */
1803 case 1087 : /* fall through */
1804 case 1088 : /* fall through */
1805 case 1089 : /* fall through */
1806 case 1090 : /* fall through */
1807 case 1091 : /* fall through */
1808 case 1092 : /* fall through */
1809 case 1093 : /* fall through */
1810 case 1094 : /* fall through */
1811 case 1095 : /* fall through */
1812 case 1096 : /* fall through */
1813 case 1097 : /* fall through */
1814 case 1098 : /* fall through */
1815 case 1099 : /* fall through */
1816 case 1100 : /* fall through */
1817 case 1101 : /* fall through */
1818 case 1102 : /* fall through */
1819 case 1103 : /* fall through */
1820 case 1104 : /* fall through */
1821 case 1105 : /* fall through */
1822 case 1106 : /* fall through */
1823 case 1107 : /* fall through */
1824 case 1108 : /* fall through */
1825 case 1109 : /* fall through */
1826 case 1110 : /* fall through */
1827 case 1111 : /* fall through */
1828 case 1112 : /* fall through */
1829 case 1113 : /* fall through */
1830 case 1114 : /* fall through */
1831 case 1115 : /* fall through */
1832 case 1116 : /* fall through */
1833 case 1117 : /* fall through */
1834 case 1118 : /* fall through */
1835 case 1119 : /* fall through */
1836 case 1120 : /* fall through */
1837 case 1121 : /* fall through */
1838 case 1122 : /* fall through */
1839 case 1123 : /* fall through */
1840 case 1124 : /* fall through */
1841 case 1125 : /* fall through */
1842 case 1126 : /* fall through */
1843 case 1127 : /* fall through */
1844 case 1128 : /* fall through */
1845 case 1129 : /* fall through */
1846 case 1130 : /* fall through */
1847 case 1131 : /* fall through */
1848 case 1132 : /* fall through */
1849 case 1133 : /* fall through */
1850 case 1134 : /* fall through */
1851 case 1135 : /* fall through */
1852 case 1136 : /* fall through */
1853 case 1137 : /* fall through */
1854 case 1138 : /* fall through */
1855 case 1139 : /* fall through */
1856 case 1140 : /* fall through */
1857 case 1141 : /* fall through */
1858 case 1142 : /* fall through */
1859 case 1143 : /* fall through */
1860 case 1144 : /* fall through */
1861 case 1145 : /* fall through */
1862 case 1146 : /* fall through */
1863 case 1147 : /* fall through */
1864 case 1148 : /* fall through */
1865 case 1149 : /* fall through */
1866 case 1150 : /* fall through */
1869 unsigned int val = (((insn >> 24) & (15 << 0)));
1873 entire_insn = entire_insn >> 16;
1874 itype = SH3E_INSN_MOVB5_COMPACT; sh3e_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1876 entire_insn = entire_insn >> 16;
1877 itype = SH3E_INSN_MOVW5_COMPACT; sh3e_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1879 entire_insn = entire_insn >> 16;
1880 itype = SH3E_INSN_MOVB10_COMPACT; sh3e_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1882 entire_insn = entire_insn >> 16;
1883 itype = SH3E_INSN_MOVW11_COMPACT; sh3e_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1885 entire_insn = entire_insn >> 16;
1886 itype = SH3E_INSN_CMPEQI_COMPACT; sh3e_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1888 entire_insn = entire_insn >> 16;
1889 itype = SH3E_INSN_BT_COMPACT; sh3e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1891 entire_insn = entire_insn >> 16;
1892 itype = SH3E_INSN_BF_COMPACT; sh3e_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1894 entire_insn = entire_insn >> 16;
1895 itype = SH3E_INSN_BTS_COMPACT; sh3e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1897 entire_insn = entire_insn >> 16;
1898 itype = SH3E_INSN_BFS_COMPACT; sh3e_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1899 default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1902 case 1152 : /* fall through */
1903 case 1153 : /* fall through */
1904 case 1154 : /* fall through */
1905 case 1155 : /* fall through */
1906 case 1156 : /* fall through */
1907 case 1157 : /* fall through */
1908 case 1158 : /* fall through */
1909 case 1159 : /* fall through */
1910 case 1160 : /* fall through */
1911 case 1161 : /* fall through */
1912 case 1162 : /* fall through */
1913 case 1163 : /* fall through */
1914 case 1164 : /* fall through */
1915 case 1165 : /* fall through */
1916 case 1166 : /* fall through */
1917 case 1167 : /* fall through */
1918 case 1168 : /* fall through */
1919 case 1169 : /* fall through */
1920 case 1170 : /* fall through */
1921 case 1171 : /* fall through */
1922 case 1172 : /* fall through */
1923 case 1173 : /* fall through */
1924 case 1174 : /* fall through */
1925 case 1175 : /* fall through */
1926 case 1176 : /* fall through */
1927 case 1177 : /* fall through */
1928 case 1178 : /* fall through */
1929 case 1179 : /* fall through */
1930 case 1180 : /* fall through */
1931 case 1181 : /* fall through */
1932 case 1182 : /* fall through */
1933 case 1183 : /* fall through */
1934 case 1184 : /* fall through */
1935 case 1185 : /* fall through */
1936 case 1186 : /* fall through */
1937 case 1187 : /* fall through */
1938 case 1188 : /* fall through */
1939 case 1189 : /* fall through */
1940 case 1190 : /* fall through */
1941 case 1191 : /* fall through */
1942 case 1192 : /* fall through */
1943 case 1193 : /* fall through */
1944 case 1194 : /* fall through */
1945 case 1195 : /* fall through */
1946 case 1196 : /* fall through */
1947 case 1197 : /* fall through */
1948 case 1198 : /* fall through */
1949 case 1199 : /* fall through */
1950 case 1200 : /* fall through */
1951 case 1201 : /* fall through */
1952 case 1202 : /* fall through */
1953 case 1203 : /* fall through */
1954 case 1204 : /* fall through */
1955 case 1205 : /* fall through */
1956 case 1206 : /* fall through */
1957 case 1207 : /* fall through */
1958 case 1208 : /* fall through */
1959 case 1209 : /* fall through */
1960 case 1210 : /* fall through */
1961 case 1211 : /* fall through */
1962 case 1212 : /* fall through */
1963 case 1213 : /* fall through */
1964 case 1214 : /* fall through */
1965 case 1215 : /* fall through */
1966 case 1216 : /* fall through */
1967 case 1217 : /* fall through */
1968 case 1218 : /* fall through */
1969 case 1219 : /* fall through */
1970 case 1220 : /* fall through */
1971 case 1221 : /* fall through */
1972 case 1222 : /* fall through */
1973 case 1223 : /* fall through */
1974 case 1224 : /* fall through */
1975 case 1225 : /* fall through */
1976 case 1226 : /* fall through */
1977 case 1227 : /* fall through */
1978 case 1228 : /* fall through */
1979 case 1229 : /* fall through */
1980 case 1230 : /* fall through */
1981 case 1231 : /* fall through */
1982 case 1232 : /* fall through */
1983 case 1233 : /* fall through */
1984 case 1234 : /* fall through */
1985 case 1235 : /* fall through */
1986 case 1236 : /* fall through */
1987 case 1237 : /* fall through */
1988 case 1238 : /* fall through */
1989 case 1239 : /* fall through */
1990 case 1240 : /* fall through */
1991 case 1241 : /* fall through */
1992 case 1242 : /* fall through */
1993 case 1243 : /* fall through */
1994 case 1244 : /* fall through */
1995 case 1245 : /* fall through */
1996 case 1246 : /* fall through */
1997 case 1247 : /* fall through */
1998 case 1248 : /* fall through */
1999 case 1249 : /* fall through */
2000 case 1250 : /* fall through */
2001 case 1251 : /* fall through */
2002 case 1252 : /* fall through */
2003 case 1253 : /* fall through */
2004 case 1254 : /* fall through */
2005 case 1255 : /* fall through */
2006 case 1256 : /* fall through */
2007 case 1257 : /* fall through */
2008 case 1258 : /* fall through */
2009 case 1259 : /* fall through */
2010 case 1260 : /* fall through */
2011 case 1261 : /* fall through */
2012 case 1262 : /* fall through */
2013 case 1263 : /* fall through */
2014 case 1264 : /* fall through */
2015 case 1265 : /* fall through */
2016 case 1266 : /* fall through */
2017 case 1267 : /* fall through */
2018 case 1268 : /* fall through */
2019 case 1269 : /* fall through */
2020 case 1270 : /* fall through */
2021 case 1271 : /* fall through */
2022 case 1272 : /* fall through */
2023 case 1273 : /* fall through */
2024 case 1274 : /* fall through */
2025 case 1275 : /* fall through */
2026 case 1276 : /* fall through */
2027 case 1277 : /* fall through */
2028 case 1278 : /* fall through */
2030 entire_insn = entire_insn >> 16;
2031 itype = SH3E_INSN_MOVW10_COMPACT; sh3e_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2032 case 1280 : /* fall through */
2033 case 1281 : /* fall through */
2034 case 1282 : /* fall through */
2035 case 1283 : /* fall through */
2036 case 1284 : /* fall through */
2037 case 1285 : /* fall through */
2038 case 1286 : /* fall through */
2039 case 1287 : /* fall through */
2040 case 1288 : /* fall through */
2041 case 1289 : /* fall through */
2042 case 1290 : /* fall through */
2043 case 1291 : /* fall through */
2044 case 1292 : /* fall through */
2045 case 1293 : /* fall through */
2046 case 1294 : /* fall through */
2047 case 1295 : /* fall through */
2048 case 1296 : /* fall through */
2049 case 1297 : /* fall through */
2050 case 1298 : /* fall through */
2051 case 1299 : /* fall through */
2052 case 1300 : /* fall through */
2053 case 1301 : /* fall through */
2054 case 1302 : /* fall through */
2055 case 1303 : /* fall through */
2056 case 1304 : /* fall through */
2057 case 1305 : /* fall through */
2058 case 1306 : /* fall through */
2059 case 1307 : /* fall through */
2060 case 1308 : /* fall through */
2061 case 1309 : /* fall through */
2062 case 1310 : /* fall through */
2063 case 1311 : /* fall through */
2064 case 1312 : /* fall through */
2065 case 1313 : /* fall through */
2066 case 1314 : /* fall through */
2067 case 1315 : /* fall through */
2068 case 1316 : /* fall through */
2069 case 1317 : /* fall through */
2070 case 1318 : /* fall through */
2071 case 1319 : /* fall through */
2072 case 1320 : /* fall through */
2073 case 1321 : /* fall through */
2074 case 1322 : /* fall through */
2075 case 1323 : /* fall through */
2076 case 1324 : /* fall through */
2077 case 1325 : /* fall through */
2078 case 1326 : /* fall through */
2079 case 1327 : /* fall through */
2080 case 1328 : /* fall through */
2081 case 1329 : /* fall through */
2082 case 1330 : /* fall through */
2083 case 1331 : /* fall through */
2084 case 1332 : /* fall through */
2085 case 1333 : /* fall through */
2086 case 1334 : /* fall through */
2087 case 1335 : /* fall through */
2088 case 1336 : /* fall through */
2089 case 1337 : /* fall through */
2090 case 1338 : /* fall through */
2091 case 1339 : /* fall through */
2092 case 1340 : /* fall through */
2093 case 1341 : /* fall through */
2094 case 1342 : /* fall through */
2095 case 1343 : /* fall through */
2096 case 1344 : /* fall through */
2097 case 1345 : /* fall through */
2098 case 1346 : /* fall through */
2099 case 1347 : /* fall through */
2100 case 1348 : /* fall through */
2101 case 1349 : /* fall through */
2102 case 1350 : /* fall through */
2103 case 1351 : /* fall through */
2104 case 1352 : /* fall through */
2105 case 1353 : /* fall through */
2106 case 1354 : /* fall through */
2107 case 1355 : /* fall through */
2108 case 1356 : /* fall through */
2109 case 1357 : /* fall through */
2110 case 1358 : /* fall through */
2111 case 1359 : /* fall through */
2112 case 1360 : /* fall through */
2113 case 1361 : /* fall through */
2114 case 1362 : /* fall through */
2115 case 1363 : /* fall through */
2116 case 1364 : /* fall through */
2117 case 1365 : /* fall through */
2118 case 1366 : /* fall through */
2119 case 1367 : /* fall through */
2120 case 1368 : /* fall through */
2121 case 1369 : /* fall through */
2122 case 1370 : /* fall through */
2123 case 1371 : /* fall through */
2124 case 1372 : /* fall through */
2125 case 1373 : /* fall through */
2126 case 1374 : /* fall through */
2127 case 1375 : /* fall through */
2128 case 1376 : /* fall through */
2129 case 1377 : /* fall through */
2130 case 1378 : /* fall through */
2131 case 1379 : /* fall through */
2132 case 1380 : /* fall through */
2133 case 1381 : /* fall through */
2134 case 1382 : /* fall through */
2135 case 1383 : /* fall through */
2136 case 1384 : /* fall through */
2137 case 1385 : /* fall through */
2138 case 1386 : /* fall through */
2139 case 1387 : /* fall through */
2140 case 1388 : /* fall through */
2141 case 1389 : /* fall through */
2142 case 1390 : /* fall through */
2143 case 1391 : /* fall through */
2144 case 1392 : /* fall through */
2145 case 1393 : /* fall through */
2146 case 1394 : /* fall through */
2147 case 1395 : /* fall through */
2148 case 1396 : /* fall through */
2149 case 1397 : /* fall through */
2150 case 1398 : /* fall through */
2151 case 1399 : /* fall through */
2152 case 1400 : /* fall through */
2153 case 1401 : /* fall through */
2154 case 1402 : /* fall through */
2155 case 1403 : /* fall through */
2156 case 1404 : /* fall through */
2157 case 1405 : /* fall through */
2158 case 1406 : /* fall through */
2160 entire_insn = entire_insn >> 16;
2161 itype = SH3E_INSN_BRA_COMPACT; sh3e_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2162 case 1408 : /* fall through */
2163 case 1409 : /* fall through */
2164 case 1410 : /* fall through */
2165 case 1411 : /* fall through */
2166 case 1412 : /* fall through */
2167 case 1413 : /* fall through */
2168 case 1414 : /* fall through */
2169 case 1415 : /* fall through */
2170 case 1416 : /* fall through */
2171 case 1417 : /* fall through */
2172 case 1418 : /* fall through */
2173 case 1419 : /* fall through */
2174 case 1420 : /* fall through */
2175 case 1421 : /* fall through */
2176 case 1422 : /* fall through */
2177 case 1423 : /* fall through */
2178 case 1424 : /* fall through */
2179 case 1425 : /* fall through */
2180 case 1426 : /* fall through */
2181 case 1427 : /* fall through */
2182 case 1428 : /* fall through */
2183 case 1429 : /* fall through */
2184 case 1430 : /* fall through */
2185 case 1431 : /* fall through */
2186 case 1432 : /* fall through */
2187 case 1433 : /* fall through */
2188 case 1434 : /* fall through */
2189 case 1435 : /* fall through */
2190 case 1436 : /* fall through */
2191 case 1437 : /* fall through */
2192 case 1438 : /* fall through */
2193 case 1439 : /* fall through */
2194 case 1440 : /* fall through */
2195 case 1441 : /* fall through */
2196 case 1442 : /* fall through */
2197 case 1443 : /* fall through */
2198 case 1444 : /* fall through */
2199 case 1445 : /* fall through */
2200 case 1446 : /* fall through */
2201 case 1447 : /* fall through */
2202 case 1448 : /* fall through */
2203 case 1449 : /* fall through */
2204 case 1450 : /* fall through */
2205 case 1451 : /* fall through */
2206 case 1452 : /* fall through */
2207 case 1453 : /* fall through */
2208 case 1454 : /* fall through */
2209 case 1455 : /* fall through */
2210 case 1456 : /* fall through */
2211 case 1457 : /* fall through */
2212 case 1458 : /* fall through */
2213 case 1459 : /* fall through */
2214 case 1460 : /* fall through */
2215 case 1461 : /* fall through */
2216 case 1462 : /* fall through */
2217 case 1463 : /* fall through */
2218 case 1464 : /* fall through */
2219 case 1465 : /* fall through */
2220 case 1466 : /* fall through */
2221 case 1467 : /* fall through */
2222 case 1468 : /* fall through */
2223 case 1469 : /* fall through */
2224 case 1470 : /* fall through */
2225 case 1471 : /* fall through */
2226 case 1472 : /* fall through */
2227 case 1473 : /* fall through */
2228 case 1474 : /* fall through */
2229 case 1475 : /* fall through */
2230 case 1476 : /* fall through */
2231 case 1477 : /* fall through */
2232 case 1478 : /* fall through */
2233 case 1479 : /* fall through */
2234 case 1480 : /* fall through */
2235 case 1481 : /* fall through */
2236 case 1482 : /* fall through */
2237 case 1483 : /* fall through */
2238 case 1484 : /* fall through */
2239 case 1485 : /* fall through */
2240 case 1486 : /* fall through */
2241 case 1487 : /* fall through */
2242 case 1488 : /* fall through */
2243 case 1489 : /* fall through */
2244 case 1490 : /* fall through */
2245 case 1491 : /* fall through */
2246 case 1492 : /* fall through */
2247 case 1493 : /* fall through */
2248 case 1494 : /* fall through */
2249 case 1495 : /* fall through */
2250 case 1496 : /* fall through */
2251 case 1497 : /* fall through */
2252 case 1498 : /* fall through */
2253 case 1499 : /* fall through */
2254 case 1500 : /* fall through */
2255 case 1501 : /* fall through */
2256 case 1502 : /* fall through */
2257 case 1503 : /* fall through */
2258 case 1504 : /* fall through */
2259 case 1505 : /* fall through */
2260 case 1506 : /* fall through */
2261 case 1507 : /* fall through */
2262 case 1508 : /* fall through */
2263 case 1509 : /* fall through */
2264 case 1510 : /* fall through */
2265 case 1511 : /* fall through */
2266 case 1512 : /* fall through */
2267 case 1513 : /* fall through */
2268 case 1514 : /* fall through */
2269 case 1515 : /* fall through */
2270 case 1516 : /* fall through */
2271 case 1517 : /* fall through */
2272 case 1518 : /* fall through */
2273 case 1519 : /* fall through */
2274 case 1520 : /* fall through */
2275 case 1521 : /* fall through */
2276 case 1522 : /* fall through */
2277 case 1523 : /* fall through */
2278 case 1524 : /* fall through */
2279 case 1525 : /* fall through */
2280 case 1526 : /* fall through */
2281 case 1527 : /* fall through */
2282 case 1528 : /* fall through */
2283 case 1529 : /* fall through */
2284 case 1530 : /* fall through */
2285 case 1531 : /* fall through */
2286 case 1532 : /* fall through */
2287 case 1533 : /* fall through */
2288 case 1534 : /* fall through */
2290 entire_insn = entire_insn >> 16;
2291 itype = SH3E_INSN_BSR_COMPACT; sh3e_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2292 case 1536 : /* fall through */
2293 case 1537 : /* fall through */
2294 case 1538 : /* fall through */
2295 case 1539 : /* fall through */
2296 case 1540 : /* fall through */
2297 case 1541 : /* fall through */
2298 case 1542 : /* fall through */
2299 case 1543 : /* fall through */
2300 case 1544 : /* fall through */
2301 case 1545 : /* fall through */
2302 case 1546 : /* fall through */
2303 case 1547 : /* fall through */
2304 case 1548 : /* fall through */
2305 case 1549 : /* fall through */
2306 case 1550 : /* fall through */
2307 case 1551 : /* fall through */
2308 case 1552 : /* fall through */
2309 case 1553 : /* fall through */
2310 case 1554 : /* fall through */
2311 case 1555 : /* fall through */
2312 case 1556 : /* fall through */
2313 case 1557 : /* fall through */
2314 case 1558 : /* fall through */
2315 case 1559 : /* fall through */
2316 case 1560 : /* fall through */
2317 case 1561 : /* fall through */
2318 case 1562 : /* fall through */
2319 case 1563 : /* fall through */
2320 case 1564 : /* fall through */
2321 case 1565 : /* fall through */
2322 case 1566 : /* fall through */
2323 case 1567 : /* fall through */
2324 case 1568 : /* fall through */
2325 case 1569 : /* fall through */
2326 case 1570 : /* fall through */
2327 case 1571 : /* fall through */
2328 case 1572 : /* fall through */
2329 case 1573 : /* fall through */
2330 case 1574 : /* fall through */
2331 case 1575 : /* fall through */
2332 case 1576 : /* fall through */
2333 case 1577 : /* fall through */
2334 case 1578 : /* fall through */
2335 case 1579 : /* fall through */
2336 case 1580 : /* fall through */
2337 case 1581 : /* fall through */
2338 case 1582 : /* fall through */
2339 case 1583 : /* fall through */
2340 case 1584 : /* fall through */
2341 case 1585 : /* fall through */
2342 case 1586 : /* fall through */
2343 case 1587 : /* fall through */
2344 case 1588 : /* fall through */
2345 case 1589 : /* fall through */
2346 case 1590 : /* fall through */
2347 case 1591 : /* fall through */
2348 case 1592 : /* fall through */
2349 case 1593 : /* fall through */
2350 case 1594 : /* fall through */
2351 case 1595 : /* fall through */
2352 case 1596 : /* fall through */
2353 case 1597 : /* fall through */
2354 case 1598 : /* fall through */
2355 case 1599 : /* fall through */
2356 case 1600 : /* fall through */
2357 case 1601 : /* fall through */
2358 case 1602 : /* fall through */
2359 case 1603 : /* fall through */
2360 case 1604 : /* fall through */
2361 case 1605 : /* fall through */
2362 case 1606 : /* fall through */
2363 case 1607 : /* fall through */
2364 case 1608 : /* fall through */
2365 case 1609 : /* fall through */
2366 case 1610 : /* fall through */
2367 case 1611 : /* fall through */
2368 case 1612 : /* fall through */
2369 case 1613 : /* fall through */
2370 case 1614 : /* fall through */
2371 case 1615 : /* fall through */
2372 case 1616 : /* fall through */
2373 case 1617 : /* fall through */
2374 case 1618 : /* fall through */
2375 case 1619 : /* fall through */
2376 case 1620 : /* fall through */
2377 case 1621 : /* fall through */
2378 case 1622 : /* fall through */
2379 case 1623 : /* fall through */
2380 case 1624 : /* fall through */
2381 case 1625 : /* fall through */
2382 case 1626 : /* fall through */
2383 case 1627 : /* fall through */
2384 case 1628 : /* fall through */
2385 case 1629 : /* fall through */
2386 case 1630 : /* fall through */
2387 case 1631 : /* fall through */
2388 case 1632 : /* fall through */
2389 case 1633 : /* fall through */
2390 case 1634 : /* fall through */
2391 case 1635 : /* fall through */
2392 case 1636 : /* fall through */
2393 case 1637 : /* fall through */
2394 case 1638 : /* fall through */
2395 case 1639 : /* fall through */
2396 case 1640 : /* fall through */
2397 case 1641 : /* fall through */
2398 case 1642 : /* fall through */
2399 case 1643 : /* fall through */
2400 case 1644 : /* fall through */
2401 case 1645 : /* fall through */
2402 case 1646 : /* fall through */
2403 case 1647 : /* fall through */
2404 case 1648 : /* fall through */
2405 case 1649 : /* fall through */
2406 case 1650 : /* fall through */
2407 case 1651 : /* fall through */
2408 case 1652 : /* fall through */
2409 case 1653 : /* fall through */
2410 case 1654 : /* fall through */
2411 case 1655 : /* fall through */
2412 case 1656 : /* fall through */
2413 case 1657 : /* fall through */
2414 case 1658 : /* fall through */
2415 case 1659 : /* fall through */
2416 case 1660 : /* fall through */
2417 case 1661 : /* fall through */
2418 case 1662 : /* fall through */
2421 unsigned int val = (((insn >> 24) & (15 << 0)));
2425 entire_insn = entire_insn >> 16;
2426 itype = SH3E_INSN_MOVB4_COMPACT; sh3e_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2428 entire_insn = entire_insn >> 16;
2429 itype = SH3E_INSN_MOVW4_COMPACT; sh3e_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2431 entire_insn = entire_insn >> 16;
2432 itype = SH3E_INSN_MOVL4_COMPACT; sh3e_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2434 entire_insn = entire_insn >> 16;
2435 itype = SH3E_INSN_TRAPA_COMPACT; sh3e_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2437 entire_insn = entire_insn >> 16;
2438 itype = SH3E_INSN_MOVB9_COMPACT; sh3e_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2440 entire_insn = entire_insn >> 16;
2441 itype = SH3E_INSN_MOVW9_COMPACT; sh3e_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2443 entire_insn = entire_insn >> 16;
2444 itype = SH3E_INSN_MOVL9_COMPACT; sh3e_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2446 entire_insn = entire_insn >> 16;
2447 itype = SH3E_INSN_MOVA_COMPACT; sh3e_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2449 entire_insn = entire_insn >> 16;
2450 itype = SH3E_INSN_TSTI_COMPACT; sh3e_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2452 entire_insn = entire_insn >> 16;
2453 itype = SH3E_INSN_ANDI_COMPACT; sh3e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2455 entire_insn = entire_insn >> 16;
2456 itype = SH3E_INSN_XORI_COMPACT; sh3e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2458 entire_insn = entire_insn >> 16;
2459 itype = SH3E_INSN_ORI_COMPACT; sh3e_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2461 entire_insn = entire_insn >> 16;
2462 itype = SH3E_INSN_TSTB_COMPACT; sh3e_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2464 entire_insn = entire_insn >> 16;
2465 itype = SH3E_INSN_ANDB_COMPACT; sh3e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2467 entire_insn = entire_insn >> 16;
2468 itype = SH3E_INSN_XORB_COMPACT; sh3e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2470 entire_insn = entire_insn >> 16;
2471 itype = SH3E_INSN_ORB_COMPACT; sh3e_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2472 default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2475 case 1664 : /* fall through */
2476 case 1665 : /* fall through */
2477 case 1666 : /* fall through */
2478 case 1667 : /* fall through */
2479 case 1668 : /* fall through */
2480 case 1669 : /* fall through */
2481 case 1670 : /* fall through */
2482 case 1671 : /* fall through */
2483 case 1672 : /* fall through */
2484 case 1673 : /* fall through */
2485 case 1674 : /* fall through */
2486 case 1675 : /* fall through */
2487 case 1676 : /* fall through */
2488 case 1677 : /* fall through */
2489 case 1678 : /* fall through */
2490 case 1679 : /* fall through */
2491 case 1680 : /* fall through */
2492 case 1681 : /* fall through */
2493 case 1682 : /* fall through */
2494 case 1683 : /* fall through */
2495 case 1684 : /* fall through */
2496 case 1685 : /* fall through */
2497 case 1686 : /* fall through */
2498 case 1687 : /* fall through */
2499 case 1688 : /* fall through */
2500 case 1689 : /* fall through */
2501 case 1690 : /* fall through */
2502 case 1691 : /* fall through */
2503 case 1692 : /* fall through */
2504 case 1693 : /* fall through */
2505 case 1694 : /* fall through */
2506 case 1695 : /* fall through */
2507 case 1696 : /* fall through */
2508 case 1697 : /* fall through */
2509 case 1698 : /* fall through */
2510 case 1699 : /* fall through */
2511 case 1700 : /* fall through */
2512 case 1701 : /* fall through */
2513 case 1702 : /* fall through */
2514 case 1703 : /* fall through */
2515 case 1704 : /* fall through */
2516 case 1705 : /* fall through */
2517 case 1706 : /* fall through */
2518 case 1707 : /* fall through */
2519 case 1708 : /* fall through */
2520 case 1709 : /* fall through */
2521 case 1710 : /* fall through */
2522 case 1711 : /* fall through */
2523 case 1712 : /* fall through */
2524 case 1713 : /* fall through */
2525 case 1714 : /* fall through */
2526 case 1715 : /* fall through */
2527 case 1716 : /* fall through */
2528 case 1717 : /* fall through */
2529 case 1718 : /* fall through */
2530 case 1719 : /* fall through */
2531 case 1720 : /* fall through */
2532 case 1721 : /* fall through */
2533 case 1722 : /* fall through */
2534 case 1723 : /* fall through */
2535 case 1724 : /* fall through */
2536 case 1725 : /* fall through */
2537 case 1726 : /* fall through */
2538 case 1727 : /* fall through */
2539 case 1728 : /* fall through */
2540 case 1729 : /* fall through */
2541 case 1730 : /* fall through */
2542 case 1731 : /* fall through */
2543 case 1732 : /* fall through */
2544 case 1733 : /* fall through */
2545 case 1734 : /* fall through */
2546 case 1735 : /* fall through */
2547 case 1736 : /* fall through */
2548 case 1737 : /* fall through */
2549 case 1738 : /* fall through */
2550 case 1739 : /* fall through */
2551 case 1740 : /* fall through */
2552 case 1741 : /* fall through */
2553 case 1742 : /* fall through */
2554 case 1743 : /* fall through */
2555 case 1744 : /* fall through */
2556 case 1745 : /* fall through */
2557 case 1746 : /* fall through */
2558 case 1747 : /* fall through */
2559 case 1748 : /* fall through */
2560 case 1749 : /* fall through */
2561 case 1750 : /* fall through */
2562 case 1751 : /* fall through */
2563 case 1752 : /* fall through */
2564 case 1753 : /* fall through */
2565 case 1754 : /* fall through */
2566 case 1755 : /* fall through */
2567 case 1756 : /* fall through */
2568 case 1757 : /* fall through */
2569 case 1758 : /* fall through */
2570 case 1759 : /* fall through */
2571 case 1760 : /* fall through */
2572 case 1761 : /* fall through */
2573 case 1762 : /* fall through */
2574 case 1763 : /* fall through */
2575 case 1764 : /* fall through */
2576 case 1765 : /* fall through */
2577 case 1766 : /* fall through */
2578 case 1767 : /* fall through */
2579 case 1768 : /* fall through */
2580 case 1769 : /* fall through */
2581 case 1770 : /* fall through */
2582 case 1771 : /* fall through */
2583 case 1772 : /* fall through */
2584 case 1773 : /* fall through */
2585 case 1774 : /* fall through */
2586 case 1775 : /* fall through */
2587 case 1776 : /* fall through */
2588 case 1777 : /* fall through */
2589 case 1778 : /* fall through */
2590 case 1779 : /* fall through */
2591 case 1780 : /* fall through */
2592 case 1781 : /* fall through */
2593 case 1782 : /* fall through */
2594 case 1783 : /* fall through */
2595 case 1784 : /* fall through */
2596 case 1785 : /* fall through */
2597 case 1786 : /* fall through */
2598 case 1787 : /* fall through */
2599 case 1788 : /* fall through */
2600 case 1789 : /* fall through */
2601 case 1790 : /* fall through */
2603 entire_insn = entire_insn >> 16;
2604 itype = SH3E_INSN_MOVL10_COMPACT; sh3e_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2605 case 1792 : /* fall through */
2606 case 1793 : /* fall through */
2607 case 1794 : /* fall through */
2608 case 1795 : /* fall through */
2609 case 1796 : /* fall through */
2610 case 1797 : /* fall through */
2611 case 1798 : /* fall through */
2612 case 1799 : /* fall through */
2613 case 1800 : /* fall through */
2614 case 1801 : /* fall through */
2615 case 1802 : /* fall through */
2616 case 1803 : /* fall through */
2617 case 1804 : /* fall through */
2618 case 1805 : /* fall through */
2619 case 1806 : /* fall through */
2620 case 1807 : /* fall through */
2621 case 1808 : /* fall through */
2622 case 1809 : /* fall through */
2623 case 1810 : /* fall through */
2624 case 1811 : /* fall through */
2625 case 1812 : /* fall through */
2626 case 1813 : /* fall through */
2627 case 1814 : /* fall through */
2628 case 1815 : /* fall through */
2629 case 1816 : /* fall through */
2630 case 1817 : /* fall through */
2631 case 1818 : /* fall through */
2632 case 1819 : /* fall through */
2633 case 1820 : /* fall through */
2634 case 1821 : /* fall through */
2635 case 1822 : /* fall through */
2636 case 1823 : /* fall through */
2637 case 1824 : /* fall through */
2638 case 1825 : /* fall through */
2639 case 1826 : /* fall through */
2640 case 1827 : /* fall through */
2641 case 1828 : /* fall through */
2642 case 1829 : /* fall through */
2643 case 1830 : /* fall through */
2644 case 1831 : /* fall through */
2645 case 1832 : /* fall through */
2646 case 1833 : /* fall through */
2647 case 1834 : /* fall through */
2648 case 1835 : /* fall through */
2649 case 1836 : /* fall through */
2650 case 1837 : /* fall through */
2651 case 1838 : /* fall through */
2652 case 1839 : /* fall through */
2653 case 1840 : /* fall through */
2654 case 1841 : /* fall through */
2655 case 1842 : /* fall through */
2656 case 1843 : /* fall through */
2657 case 1844 : /* fall through */
2658 case 1845 : /* fall through */
2659 case 1846 : /* fall through */
2660 case 1847 : /* fall through */
2661 case 1848 : /* fall through */
2662 case 1849 : /* fall through */
2663 case 1850 : /* fall through */
2664 case 1851 : /* fall through */
2665 case 1852 : /* fall through */
2666 case 1853 : /* fall through */
2667 case 1854 : /* fall through */
2668 case 1855 : /* fall through */
2669 case 1856 : /* fall through */
2670 case 1857 : /* fall through */
2671 case 1858 : /* fall through */
2672 case 1859 : /* fall through */
2673 case 1860 : /* fall through */
2674 case 1861 : /* fall through */
2675 case 1862 : /* fall through */
2676 case 1863 : /* fall through */
2677 case 1864 : /* fall through */
2678 case 1865 : /* fall through */
2679 case 1866 : /* fall through */
2680 case 1867 : /* fall through */
2681 case 1868 : /* fall through */
2682 case 1869 : /* fall through */
2683 case 1870 : /* fall through */
2684 case 1871 : /* fall through */
2685 case 1872 : /* fall through */
2686 case 1873 : /* fall through */
2687 case 1874 : /* fall through */
2688 case 1875 : /* fall through */
2689 case 1876 : /* fall through */
2690 case 1877 : /* fall through */
2691 case 1878 : /* fall through */
2692 case 1879 : /* fall through */
2693 case 1880 : /* fall through */
2694 case 1881 : /* fall through */
2695 case 1882 : /* fall through */
2696 case 1883 : /* fall through */
2697 case 1884 : /* fall through */
2698 case 1885 : /* fall through */
2699 case 1886 : /* fall through */
2700 case 1887 : /* fall through */
2701 case 1888 : /* fall through */
2702 case 1889 : /* fall through */
2703 case 1890 : /* fall through */
2704 case 1891 : /* fall through */
2705 case 1892 : /* fall through */
2706 case 1893 : /* fall through */
2707 case 1894 : /* fall through */
2708 case 1895 : /* fall through */
2709 case 1896 : /* fall through */
2710 case 1897 : /* fall through */
2711 case 1898 : /* fall through */
2712 case 1899 : /* fall through */
2713 case 1900 : /* fall through */
2714 case 1901 : /* fall through */
2715 case 1902 : /* fall through */
2716 case 1903 : /* fall through */
2717 case 1904 : /* fall through */
2718 case 1905 : /* fall through */
2719 case 1906 : /* fall through */
2720 case 1907 : /* fall through */
2721 case 1908 : /* fall through */
2722 case 1909 : /* fall through */
2723 case 1910 : /* fall through */
2724 case 1911 : /* fall through */
2725 case 1912 : /* fall through */
2726 case 1913 : /* fall through */
2727 case 1914 : /* fall through */
2728 case 1915 : /* fall through */
2729 case 1916 : /* fall through */
2730 case 1917 : /* fall through */
2731 case 1918 : /* fall through */
2733 entire_insn = entire_insn >> 16;
2734 itype = SH3E_INSN_MOVI_COMPACT; sh3e_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2735 case 1920 : /* fall through */
2736 case 1936 : /* fall through */
2737 case 1952 : /* fall through */
2738 case 1968 : /* fall through */
2739 case 1984 : /* fall through */
2740 case 2000 : /* fall through */
2741 case 2016 : /* fall through */
2743 entire_insn = entire_insn >> 16;
2744 itype = SH3E_INSN_FADD_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2745 case 1921 : /* fall through */
2746 case 1937 : /* fall through */
2747 case 1953 : /* fall through */
2748 case 1969 : /* fall through */
2749 case 1985 : /* fall through */
2750 case 2001 : /* fall through */
2751 case 2017 : /* fall through */
2753 entire_insn = entire_insn >> 16;
2754 itype = SH3E_INSN_FSUB_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2755 case 1922 : /* fall through */
2756 case 1938 : /* fall through */
2757 case 1954 : /* fall through */
2758 case 1970 : /* fall through */
2759 case 1986 : /* fall through */
2760 case 2002 : /* fall through */
2761 case 2018 : /* fall through */
2763 entire_insn = entire_insn >> 16;
2764 itype = SH3E_INSN_FMUL_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2765 case 1923 : /* fall through */
2766 case 1939 : /* fall through */
2767 case 1955 : /* fall through */
2768 case 1971 : /* fall through */
2769 case 1987 : /* fall through */
2770 case 2003 : /* fall through */
2771 case 2019 : /* fall through */
2773 entire_insn = entire_insn >> 16;
2774 itype = SH3E_INSN_FDIV_COMPACT; sh3e_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2775 case 1924 : /* fall through */
2776 case 1940 : /* fall through */
2777 case 1956 : /* fall through */
2778 case 1972 : /* fall through */
2779 case 1988 : /* fall through */
2780 case 2004 : /* fall through */
2781 case 2020 : /* fall through */
2783 entire_insn = entire_insn >> 16;
2784 itype = SH3E_INSN_FCMPEQ_COMPACT; sh3e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2785 case 1925 : /* fall through */
2786 case 1941 : /* fall through */
2787 case 1957 : /* fall through */
2788 case 1973 : /* fall through */
2789 case 1989 : /* fall through */
2790 case 2005 : /* fall through */
2791 case 2021 : /* fall through */
2793 entire_insn = entire_insn >> 16;
2794 itype = SH3E_INSN_FCMPGT_COMPACT; sh3e_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2795 case 1926 : /* fall through */
2796 case 1942 : /* fall through */
2797 case 1958 : /* fall through */
2798 case 1974 : /* fall through */
2799 case 1990 : /* fall through */
2800 case 2006 : /* fall through */
2801 case 2022 : /* fall through */
2803 entire_insn = entire_insn >> 16;
2804 itype = SH3E_INSN_FMOV4_COMPACT; sh3e_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2805 case 1927 : /* fall through */
2806 case 1943 : /* fall through */
2807 case 1959 : /* fall through */
2808 case 1975 : /* fall through */
2809 case 1991 : /* fall through */
2810 case 2007 : /* fall through */
2811 case 2023 : /* fall through */
2813 entire_insn = entire_insn >> 16;
2814 itype = SH3E_INSN_FMOV7_COMPACT; sh3e_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2815 case 1928 : /* fall through */
2816 case 1944 : /* fall through */
2817 case 1960 : /* fall through */
2818 case 1976 : /* fall through */
2819 case 1992 : /* fall through */
2820 case 2008 : /* fall through */
2821 case 2024 : /* fall through */
2823 entire_insn = entire_insn >> 16;
2824 itype = SH3E_INSN_FMOV2_COMPACT; sh3e_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2825 case 1929 : /* fall through */
2826 case 1945 : /* fall through */
2827 case 1961 : /* fall through */
2828 case 1977 : /* fall through */
2829 case 1993 : /* fall through */
2830 case 2009 : /* fall through */
2831 case 2025 : /* fall through */
2833 entire_insn = entire_insn >> 16;
2834 itype = SH3E_INSN_FMOV3_COMPACT; sh3e_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2835 case 1930 : /* fall through */
2836 case 1946 : /* fall through */
2837 case 1962 : /* fall through */
2838 case 1978 : /* fall through */
2839 case 1994 : /* fall through */
2840 case 2010 : /* fall through */
2841 case 2026 : /* fall through */
2843 entire_insn = entire_insn >> 16;
2844 itype = SH3E_INSN_FMOV5_COMPACT; sh3e_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2845 case 1931 : /* fall through */
2846 case 1947 : /* fall through */
2847 case 1963 : /* fall through */
2848 case 1979 : /* fall through */
2849 case 1995 : /* fall through */
2850 case 2011 : /* fall through */
2851 case 2027 : /* fall through */
2853 entire_insn = entire_insn >> 16;
2854 itype = SH3E_INSN_FMOV6_COMPACT; sh3e_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2855 case 1932 : /* fall through */
2856 case 1948 : /* fall through */
2857 case 1964 : /* fall through */
2858 case 1980 : /* fall through */
2859 case 1996 : /* fall through */
2860 case 2012 : /* fall through */
2861 case 2028 : /* fall through */
2863 entire_insn = entire_insn >> 16;
2864 itype = SH3E_INSN_FMOV1_COMPACT; sh3e_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2867 unsigned int val = (((insn >> 23) & (1 << 0)));
2871 entire_insn = entire_insn >> 16;
2872 itype = SH3E_INSN_FSTS_COMPACT; sh3e_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2874 entire_insn = entire_insn >> 16;
2875 itype = SH3E_INSN_FLDI0_COMPACT; sh3e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2876 default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2879 case 1934 : /* fall through */
2880 case 1950 : /* fall through */
2881 case 1966 : /* fall through */
2882 case 1982 : /* fall through */
2883 case 1998 : /* fall through */
2884 case 2014 : /* fall through */
2885 case 2030 : /* fall through */
2887 entire_insn = entire_insn >> 16;
2888 itype = SH3E_INSN_FMAC_COMPACT; sh3e_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2891 unsigned int val = (((insn >> 23) & (1 << 0)));
2895 entire_insn = entire_insn >> 16;
2896 itype = SH3E_INSN_FLDS_COMPACT; sh3e_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2898 entire_insn = entire_insn >> 16;
2899 itype = SH3E_INSN_FLDI1_COMPACT; sh3e_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2900 default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2904 entire_insn = entire_insn >> 16;
2905 if ((entire_insn & 0xf0ff) == 0xf02d)
2906 { itype = SH3E_INSN_FLOAT_COMPACT; sh3e_extract_sfmt_float_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2907 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2909 entire_insn = entire_insn >> 16;
2910 if ((entire_insn & 0xf0ff) == 0xf03d)
2911 { itype = SH3E_INSN_FTRC_COMPACT; sh3e_extract_sfmt_ftrc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2912 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2914 entire_insn = entire_insn >> 16;
2915 if ((entire_insn & 0xf0ff) == 0xf04d)
2916 { itype = SH3E_INSN_FNEG_COMPACT; sh3e_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2917 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2919 entire_insn = entire_insn >> 16;
2920 if ((entire_insn & 0xf0ff) == 0xf05d)
2921 { itype = SH3E_INSN_FABS_COMPACT; sh3e_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2922 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2924 entire_insn = entire_insn >> 16;
2925 if ((entire_insn & 0xf0ff) == 0xf06d)
2926 { itype = SH3E_INSN_FSQRT_COMPACT; sh3e_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2927 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2930 unsigned int val = (((insn >> 27) & (1 << 0)));
2934 entire_insn = entire_insn >> 16;
2935 if ((entire_insn & 0xffff) == 0xf3fd)
2936 { itype = SH3E_INSN_FSCHG_COMPACT; sh3e_extract_sfmt_fschg_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2937 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2939 entire_insn = entire_insn >> 16;
2940 if ((entire_insn & 0xffff) == 0xfbfd)
2941 { itype = SH3E_INSN_FRCHG_COMPACT; sh3e_extract_sfmt_frchg_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2942 itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2943 default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2946 default : itype = SH3E_INSN_X_INVALID; sh3e_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2952 /* The instruction has been decoded and fields extracted. */
2956 // FIXME: To be redone (to handle ISA variants).
2957 this->idesc = & sh3e_idesc::idesc_table[itype];
2958 // ??? record semantic handler?
2959 assert(this->idesc->sem_index == itype);
2963 sh3e_extract_sfmt_empty (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
2964 sh3e_insn_word insn = entire_insn;
2965 #define FLD(f) abuf->fields.fmt_empty.f
2968 /* Record the fields for the semantic handler. */
2969 if (UNLIKELY(current_cpu->trace_extract_p))
2971 current_cpu->trace_stream
2972 << "0x" << hex << pc << dec << " (sfmt_empty)\t"
2980 sh3e_extract_sfmt_add_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
2981 sh3e_insn_word insn = entire_insn;
2982 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2986 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2987 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2989 /* Record the fields for the semantic handler. */
2992 if (UNLIKELY(current_cpu->trace_extract_p))
2994 current_cpu->trace_stream
2995 << "0x" << hex << pc << dec << " (sfmt_add_compact)\t"
2996 << " f_rm:0x" << hex << f_rm << dec
2997 << " f_rn:0x" << hex << f_rn << dec
3001 /* Record the fields for profiling. */
3002 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3006 FLD (out_rn) = f_rn;
3012 sh3e_extract_sfmt_addi_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3013 sh3e_insn_word insn = entire_insn;
3014 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3018 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3019 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3021 /* Record the fields for the semantic handler. */
3022 FLD (f_imm8) = f_imm8;
3024 if (UNLIKELY(current_cpu->trace_extract_p))
3026 current_cpu->trace_stream
3027 << "0x" << hex << pc << dec << " (sfmt_addi_compact)\t"
3028 << " f_imm8:0x" << hex << f_imm8 << dec
3029 << " f_rn:0x" << hex << f_rn << dec
3033 /* Record the fields for profiling. */
3034 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3037 FLD (out_rn) = f_rn;
3043 sh3e_extract_sfmt_addc_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3044 sh3e_insn_word insn = entire_insn;
3045 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3049 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3050 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3052 /* Record the fields for the semantic handler. */
3055 if (UNLIKELY(current_cpu->trace_extract_p))
3057 current_cpu->trace_stream
3058 << "0x" << hex << pc << dec << " (sfmt_addc_compact)\t"
3059 << " f_rm:0x" << hex << f_rm << dec
3060 << " f_rn:0x" << hex << f_rn << dec
3064 /* Record the fields for profiling. */
3065 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3069 FLD (out_rn) = f_rn;
3075 sh3e_extract_sfmt_addv_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3076 sh3e_insn_word insn = entire_insn;
3077 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3081 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3082 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3084 /* Record the fields for the semantic handler. */
3087 if (UNLIKELY(current_cpu->trace_extract_p))
3089 current_cpu->trace_stream
3090 << "0x" << hex << pc << dec << " (sfmt_addv_compact)\t"
3091 << " f_rm:0x" << hex << f_rm << dec
3092 << " f_rn:0x" << hex << f_rn << dec
3096 /* Record the fields for profiling. */
3097 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3101 FLD (out_rn) = f_rn;
3107 sh3e_extract_sfmt_and_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3108 sh3e_insn_word insn = entire_insn;
3109 #define FLD(f) abuf->fields.sfmt_and_compact.f
3113 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3114 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3116 /* Record the fields for the semantic handler. */
3119 if (UNLIKELY(current_cpu->trace_extract_p))
3121 current_cpu->trace_stream
3122 << "0x" << hex << pc << dec << " (sfmt_and_compact)\t"
3123 << " f_rm:0x" << hex << f_rm << dec
3124 << " f_rn:0x" << hex << f_rn << dec
3128 /* Record the fields for profiling. */
3129 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3131 FLD (in_rm64) = f_rm;
3132 FLD (in_rn64) = f_rn;
3133 FLD (out_rn64) = f_rn;
3139 sh3e_extract_sfmt_andi_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3140 sh3e_insn_word insn = entire_insn;
3141 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3144 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3146 /* Record the fields for the semantic handler. */
3147 FLD (f_imm8) = f_imm8;
3148 if (UNLIKELY(current_cpu->trace_extract_p))
3150 current_cpu->trace_stream
3151 << "0x" << hex << pc << dec << " (sfmt_andi_compact)\t"
3152 << " f_imm8:0x" << hex << f_imm8 << dec
3156 /* Record the fields for profiling. */
3157 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3166 sh3e_extract_sfmt_andb_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3167 sh3e_insn_word insn = entire_insn;
3168 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3171 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3173 /* Record the fields for the semantic handler. */
3174 FLD (f_imm8) = f_imm8;
3175 if (UNLIKELY(current_cpu->trace_extract_p))
3177 current_cpu->trace_stream
3178 << "0x" << hex << pc << dec << " (sfmt_andb_compact)\t"
3179 << " f_imm8:0x" << hex << f_imm8 << dec
3183 /* Record the fields for profiling. */
3184 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3192 sh3e_extract_sfmt_bf_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3193 sh3e_insn_word insn = entire_insn;
3194 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3197 f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3199 /* Record the fields for the semantic handler. */
3200 FLD (i_disp8) = f_disp8;
3201 if (UNLIKELY(current_cpu->trace_extract_p))
3203 current_cpu->trace_stream
3204 << "0x" << hex << pc << dec << " (sfmt_bf_compact)\t"
3208 /* Record the fields for profiling. */
3209 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3216 sh3e_extract_sfmt_bfs_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3217 sh3e_insn_word insn = entire_insn;
3218 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3221 f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3223 /* Record the fields for the semantic handler. */
3224 FLD (i_disp8) = f_disp8;
3225 if (UNLIKELY(current_cpu->trace_extract_p))
3227 current_cpu->trace_stream
3228 << "0x" << hex << pc << dec << " (sfmt_bfs_compact)\t"
3232 /* Record the fields for profiling. */
3233 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3240 sh3e_extract_sfmt_bra_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3241 sh3e_insn_word insn = entire_insn;
3242 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3245 f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3247 /* Record the fields for the semantic handler. */
3248 FLD (i_disp12) = f_disp12;
3249 if (UNLIKELY(current_cpu->trace_extract_p))
3251 current_cpu->trace_stream
3252 << "0x" << hex << pc << dec << " (sfmt_bra_compact)\t"
3256 /* Record the fields for profiling. */
3257 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3264 sh3e_extract_sfmt_braf_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3265 sh3e_insn_word insn = entire_insn;
3266 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3269 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3271 /* Record the fields for the semantic handler. */
3273 if (UNLIKELY(current_cpu->trace_extract_p))
3275 current_cpu->trace_stream
3276 << "0x" << hex << pc << dec << " (sfmt_braf_compact)\t"
3277 << " f_rn:0x" << hex << f_rn << dec
3281 /* Record the fields for profiling. */
3282 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3290 sh3e_extract_sfmt_bsr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3291 sh3e_insn_word insn = entire_insn;
3292 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3295 f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3297 /* Record the fields for the semantic handler. */
3298 FLD (i_disp12) = f_disp12;
3299 if (UNLIKELY(current_cpu->trace_extract_p))
3301 current_cpu->trace_stream
3302 << "0x" << hex << pc << dec << " (sfmt_bsr_compact)\t"
3306 /* Record the fields for profiling. */
3307 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3314 sh3e_extract_sfmt_bsrf_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3315 sh3e_insn_word insn = entire_insn;
3316 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3319 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3321 /* Record the fields for the semantic handler. */
3323 if (UNLIKELY(current_cpu->trace_extract_p))
3325 current_cpu->trace_stream
3326 << "0x" << hex << pc << dec << " (sfmt_bsrf_compact)\t"
3327 << " f_rn:0x" << hex << f_rn << dec
3331 /* Record the fields for profiling. */
3332 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3340 sh3e_extract_sfmt_clrmac_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3341 sh3e_insn_word insn = entire_insn;
3342 #define FLD(f) abuf->fields.fmt_empty.f
3345 /* Record the fields for the semantic handler. */
3346 if (UNLIKELY(current_cpu->trace_extract_p))
3348 current_cpu->trace_stream
3349 << "0x" << hex << pc << dec << " (sfmt_clrmac_compact)\t"
3357 sh3e_extract_sfmt_clrs_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3358 sh3e_insn_word insn = entire_insn;
3359 #define FLD(f) abuf->fields.fmt_empty.f
3362 /* Record the fields for the semantic handler. */
3363 if (UNLIKELY(current_cpu->trace_extract_p))
3365 current_cpu->trace_stream
3366 << "0x" << hex << pc << dec << " (sfmt_clrs_compact)\t"
3374 sh3e_extract_sfmt_clrt_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3375 sh3e_insn_word insn = entire_insn;
3376 #define FLD(f) abuf->fields.fmt_empty.f
3379 /* Record the fields for the semantic handler. */
3380 if (UNLIKELY(current_cpu->trace_extract_p))
3382 current_cpu->trace_stream
3383 << "0x" << hex << pc << dec << " (sfmt_clrt_compact)\t"
3391 sh3e_extract_sfmt_cmpeq_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3392 sh3e_insn_word insn = entire_insn;
3393 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3397 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3398 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3400 /* Record the fields for the semantic handler. */
3403 if (UNLIKELY(current_cpu->trace_extract_p))
3405 current_cpu->trace_stream
3406 << "0x" << hex << pc << dec << " (sfmt_cmpeq_compact)\t"
3407 << " f_rm:0x" << hex << f_rm << dec
3408 << " f_rn:0x" << hex << f_rn << dec
3412 /* Record the fields for profiling. */
3413 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3422 sh3e_extract_sfmt_cmpeqi_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3423 sh3e_insn_word insn = entire_insn;
3424 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3427 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3429 /* Record the fields for the semantic handler. */
3430 FLD (f_imm8) = f_imm8;
3431 if (UNLIKELY(current_cpu->trace_extract_p))
3433 current_cpu->trace_stream
3434 << "0x" << hex << pc << dec << " (sfmt_cmpeqi_compact)\t"
3435 << " f_imm8:0x" << hex << f_imm8 << dec
3439 /* Record the fields for profiling. */
3440 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3448 sh3e_extract_sfmt_cmppl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3449 sh3e_insn_word insn = entire_insn;
3450 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3453 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3455 /* Record the fields for the semantic handler. */
3457 if (UNLIKELY(current_cpu->trace_extract_p))
3459 current_cpu->trace_stream
3460 << "0x" << hex << pc << dec << " (sfmt_cmppl_compact)\t"
3461 << " f_rn:0x" << hex << f_rn << dec
3465 /* Record the fields for profiling. */
3466 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3474 sh3e_extract_sfmt_div0s_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3475 sh3e_insn_word insn = entire_insn;
3476 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3480 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3481 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3483 /* Record the fields for the semantic handler. */
3486 if (UNLIKELY(current_cpu->trace_extract_p))
3488 current_cpu->trace_stream
3489 << "0x" << hex << pc << dec << " (sfmt_div0s_compact)\t"
3490 << " f_rm:0x" << hex << f_rm << dec
3491 << " f_rn:0x" << hex << f_rn << dec
3495 /* Record the fields for profiling. */
3496 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3505 sh3e_extract_sfmt_div0u_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3506 sh3e_insn_word insn = entire_insn;
3507 #define FLD(f) abuf->fields.fmt_empty.f
3510 /* Record the fields for the semantic handler. */
3511 if (UNLIKELY(current_cpu->trace_extract_p))
3513 current_cpu->trace_stream
3514 << "0x" << hex << pc << dec << " (sfmt_div0u_compact)\t"
3522 sh3e_extract_sfmt_div1_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3523 sh3e_insn_word insn = entire_insn;
3524 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3528 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3529 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3531 /* Record the fields for the semantic handler. */
3534 if (UNLIKELY(current_cpu->trace_extract_p))
3536 current_cpu->trace_stream
3537 << "0x" << hex << pc << dec << " (sfmt_div1_compact)\t"
3538 << " f_rm:0x" << hex << f_rm << dec
3539 << " f_rn:0x" << hex << f_rn << dec
3543 /* Record the fields for profiling. */
3544 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3548 FLD (out_rn) = f_rn;
3554 sh3e_extract_sfmt_dmulsl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3555 sh3e_insn_word insn = entire_insn;
3556 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3560 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3561 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3563 /* Record the fields for the semantic handler. */
3566 if (UNLIKELY(current_cpu->trace_extract_p))
3568 current_cpu->trace_stream
3569 << "0x" << hex << pc << dec << " (sfmt_dmulsl_compact)\t"
3570 << " f_rm:0x" << hex << f_rm << dec
3571 << " f_rn:0x" << hex << f_rn << dec
3575 /* Record the fields for profiling. */
3576 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3585 sh3e_extract_sfmt_dt_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3586 sh3e_insn_word insn = entire_insn;
3587 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3590 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3592 /* Record the fields for the semantic handler. */
3594 if (UNLIKELY(current_cpu->trace_extract_p))
3596 current_cpu->trace_stream
3597 << "0x" << hex << pc << dec << " (sfmt_dt_compact)\t"
3598 << " f_rn:0x" << hex << f_rn << dec
3602 /* Record the fields for profiling. */
3603 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3606 FLD (out_rn) = f_rn;
3612 sh3e_extract_sfmt_extsb_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3613 sh3e_insn_word insn = entire_insn;
3614 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
3618 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3619 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3621 /* Record the fields for the semantic handler. */
3624 if (UNLIKELY(current_cpu->trace_extract_p))
3626 current_cpu->trace_stream
3627 << "0x" << hex << pc << dec << " (sfmt_extsb_compact)\t"
3628 << " f_rm:0x" << hex << f_rm << dec
3629 << " f_rn:0x" << hex << f_rn << dec
3633 /* Record the fields for profiling. */
3634 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3637 FLD (out_rn) = f_rn;
3643 sh3e_extract_sfmt_fabs_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3644 sh3e_insn_word insn = entire_insn;
3645 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3648 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3650 /* Record the fields for the semantic handler. */
3652 if (UNLIKELY(current_cpu->trace_extract_p))
3654 current_cpu->trace_stream
3655 << "0x" << hex << pc << dec << " (sfmt_fabs_compact)\t"
3656 << " f_rn:0x" << hex << f_rn << dec
3660 /* Record the fields for profiling. */
3661 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3663 FLD (in_fsdn) = f_rn;
3664 FLD (out_fsdn) = f_rn;
3670 sh3e_extract_sfmt_fadd_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3671 sh3e_insn_word insn = entire_insn;
3672 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3676 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3677 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3679 /* Record the fields for the semantic handler. */
3682 if (UNLIKELY(current_cpu->trace_extract_p))
3684 current_cpu->trace_stream
3685 << "0x" << hex << pc << dec << " (sfmt_fadd_compact)\t"
3686 << " f_rm:0x" << hex << f_rm << dec
3687 << " f_rn:0x" << hex << f_rn << dec
3691 /* Record the fields for profiling. */
3692 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3694 FLD (in_fsdm) = f_rm;
3695 FLD (in_fsdn) = f_rn;
3696 FLD (out_fsdn) = f_rn;
3702 sh3e_extract_sfmt_fcmpeq_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3703 sh3e_insn_word insn = entire_insn;
3704 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3708 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3709 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3711 /* Record the fields for the semantic handler. */
3714 if (UNLIKELY(current_cpu->trace_extract_p))
3716 current_cpu->trace_stream
3717 << "0x" << hex << pc << dec << " (sfmt_fcmpeq_compact)\t"
3718 << " f_rm:0x" << hex << f_rm << dec
3719 << " f_rn:0x" << hex << f_rn << dec
3723 /* Record the fields for profiling. */
3724 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3726 FLD (in_fsdm) = f_rm;
3727 FLD (in_fsdn) = f_rn;
3733 sh3e_extract_sfmt_flds_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3734 sh3e_insn_word insn = entire_insn;
3735 #define FLD(f) abuf->fields.sfmt_flds_compact.f
3738 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3740 /* Record the fields for the semantic handler. */
3742 if (UNLIKELY(current_cpu->trace_extract_p))
3744 current_cpu->trace_stream
3745 << "0x" << hex << pc << dec << " (sfmt_flds_compact)\t"
3746 << " f_rn:0x" << hex << f_rn << dec
3750 /* Record the fields for profiling. */
3751 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3753 FLD (in_frn) = f_rn;
3754 FLD (out_fpul) = 32;
3760 sh3e_extract_sfmt_fldi0_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3761 sh3e_insn_word insn = entire_insn;
3762 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
3765 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3767 /* Record the fields for the semantic handler. */
3769 if (UNLIKELY(current_cpu->trace_extract_p))
3771 current_cpu->trace_stream
3772 << "0x" << hex << pc << dec << " (sfmt_fldi0_compact)\t"
3773 << " f_rn:0x" << hex << f_rn << dec
3777 /* Record the fields for profiling. */
3778 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3780 FLD (out_frn) = f_rn;
3786 sh3e_extract_sfmt_float_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3787 sh3e_insn_word insn = entire_insn;
3788 #define FLD(f) abuf->fields.sfmt_float_compact.f
3791 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3793 /* Record the fields for the semantic handler. */
3795 if (UNLIKELY(current_cpu->trace_extract_p))
3797 current_cpu->trace_stream
3798 << "0x" << hex << pc << dec << " (sfmt_float_compact)\t"
3799 << " f_rn:0x" << hex << f_rn << dec
3803 /* Record the fields for profiling. */
3804 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3807 FLD (out_fsdn) = f_rn;
3813 sh3e_extract_sfmt_fmac_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3814 sh3e_insn_word insn = entire_insn;
3815 #define FLD(f) abuf->fields.sfmt_fmac_compact.f
3819 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3820 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3822 /* Record the fields for the semantic handler. */
3825 if (UNLIKELY(current_cpu->trace_extract_p))
3827 current_cpu->trace_stream
3828 << "0x" << hex << pc << dec << " (sfmt_fmac_compact)\t"
3829 << " f_rm:0x" << hex << f_rm << dec
3830 << " f_rn:0x" << hex << f_rn << dec
3834 /* Record the fields for profiling. */
3835 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3838 FLD (in_frm) = f_rm;
3839 FLD (in_frn) = f_rn;
3840 FLD (out_frn) = f_rn;
3846 sh3e_extract_sfmt_fmov1_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3847 sh3e_insn_word insn = entire_insn;
3848 #define FLD(f) abuf->fields.sfmt_fmov1_compact.f
3852 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3853 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3855 /* Record the fields for the semantic handler. */
3858 if (UNLIKELY(current_cpu->trace_extract_p))
3860 current_cpu->trace_stream
3861 << "0x" << hex << pc << dec << " (sfmt_fmov1_compact)\t"
3862 << " f_rm:0x" << hex << f_rm << dec
3863 << " f_rn:0x" << hex << f_rn << dec
3867 /* Record the fields for profiling. */
3868 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3870 FLD (in_fmovm) = f_rm;
3871 FLD (out_fmovn) = f_rn;
3877 sh3e_extract_sfmt_fmov2_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3878 sh3e_insn_word insn = entire_insn;
3879 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
3883 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3884 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3886 /* Record the fields for the semantic handler. */
3889 if (UNLIKELY(current_cpu->trace_extract_p))
3891 current_cpu->trace_stream
3892 << "0x" << hex << pc << dec << " (sfmt_fmov2_compact)\t"
3893 << " f_rm:0x" << hex << f_rm << dec
3894 << " f_rn:0x" << hex << f_rn << dec
3898 /* Record the fields for profiling. */
3899 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3902 FLD (out_fmovn) = f_rn;
3908 sh3e_extract_sfmt_fmov3_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3909 sh3e_insn_word insn = entire_insn;
3910 #define FLD(f) abuf->fields.sfmt_fmov3_compact.f
3914 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3915 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3917 /* Record the fields for the semantic handler. */
3920 if (UNLIKELY(current_cpu->trace_extract_p))
3922 current_cpu->trace_stream
3923 << "0x" << hex << pc << dec << " (sfmt_fmov3_compact)\t"
3924 << " f_rm:0x" << hex << f_rm << dec
3925 << " f_rn:0x" << hex << f_rn << dec
3929 /* Record the fields for profiling. */
3930 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3933 FLD (out_fmovn) = f_rn;
3934 FLD (out_rm) = f_rm;
3940 sh3e_extract_sfmt_fmov4_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3941 sh3e_insn_word insn = entire_insn;
3942 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
3946 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3947 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3949 /* Record the fields for the semantic handler. */
3952 if (UNLIKELY(current_cpu->trace_extract_p))
3954 current_cpu->trace_stream
3955 << "0x" << hex << pc << dec << " (sfmt_fmov4_compact)\t"
3956 << " f_rm:0x" << hex << f_rm << dec
3957 << " f_rn:0x" << hex << f_rn << dec
3961 /* Record the fields for profiling. */
3962 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3966 FLD (out_fmovn) = f_rn;
3972 sh3e_extract_sfmt_fmov5_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
3973 sh3e_insn_word insn = entire_insn;
3974 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
3978 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3979 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3981 /* Record the fields for the semantic handler. */
3984 if (UNLIKELY(current_cpu->trace_extract_p))
3986 current_cpu->trace_stream
3987 << "0x" << hex << pc << dec << " (sfmt_fmov5_compact)\t"
3988 << " f_rm:0x" << hex << f_rm << dec
3989 << " f_rn:0x" << hex << f_rn << dec
3993 /* Record the fields for profiling. */
3994 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3996 FLD (in_fmovm) = f_rm;
4003 sh3e_extract_sfmt_fmov6_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4004 sh3e_insn_word insn = entire_insn;
4005 #define FLD(f) abuf->fields.sfmt_fmov6_compact.f
4009 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4010 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4012 /* Record the fields for the semantic handler. */
4015 if (UNLIKELY(current_cpu->trace_extract_p))
4017 current_cpu->trace_stream
4018 << "0x" << hex << pc << dec << " (sfmt_fmov6_compact)\t"
4019 << " f_rm:0x" << hex << f_rm << dec
4020 << " f_rn:0x" << hex << f_rn << dec
4024 /* Record the fields for profiling. */
4025 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4027 FLD (in_fmovm) = f_rm;
4029 FLD (out_rn) = f_rn;
4035 sh3e_extract_sfmt_fmov7_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4036 sh3e_insn_word insn = entire_insn;
4037 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
4041 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4042 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4044 /* Record the fields for the semantic handler. */
4047 if (UNLIKELY(current_cpu->trace_extract_p))
4049 current_cpu->trace_stream
4050 << "0x" << hex << pc << dec << " (sfmt_fmov7_compact)\t"
4051 << " f_rm:0x" << hex << f_rm << dec
4052 << " f_rn:0x" << hex << f_rn << dec
4056 /* Record the fields for profiling. */
4057 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4059 FLD (in_fmovm) = f_rm;
4067 sh3e_extract_sfmt_frchg_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4068 sh3e_insn_word insn = entire_insn;
4069 #define FLD(f) abuf->fields.fmt_empty.f
4072 /* Record the fields for the semantic handler. */
4073 if (UNLIKELY(current_cpu->trace_extract_p))
4075 current_cpu->trace_stream
4076 << "0x" << hex << pc << dec << " (sfmt_frchg_compact)\t"
4084 sh3e_extract_sfmt_fschg_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4085 sh3e_insn_word insn = entire_insn;
4086 #define FLD(f) abuf->fields.fmt_empty.f
4089 /* Record the fields for the semantic handler. */
4090 if (UNLIKELY(current_cpu->trace_extract_p))
4092 current_cpu->trace_stream
4093 << "0x" << hex << pc << dec << " (sfmt_fschg_compact)\t"
4101 sh3e_extract_sfmt_fsts_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4102 sh3e_insn_word insn = entire_insn;
4103 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
4106 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4108 /* Record the fields for the semantic handler. */
4110 if (UNLIKELY(current_cpu->trace_extract_p))
4112 current_cpu->trace_stream
4113 << "0x" << hex << pc << dec << " (sfmt_fsts_compact)\t"
4114 << " f_rn:0x" << hex << f_rn << dec
4118 /* Record the fields for profiling. */
4119 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4122 FLD (out_frn) = f_rn;
4128 sh3e_extract_sfmt_ftrc_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4129 sh3e_insn_word insn = entire_insn;
4130 #define FLD(f) abuf->fields.sfmt_ftrc_compact.f
4133 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4135 /* Record the fields for the semantic handler. */
4137 if (UNLIKELY(current_cpu->trace_extract_p))
4139 current_cpu->trace_stream
4140 << "0x" << hex << pc << dec << " (sfmt_ftrc_compact)\t"
4141 << " f_rn:0x" << hex << f_rn << dec
4145 /* Record the fields for profiling. */
4146 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4148 FLD (in_fsdn) = f_rn;
4149 FLD (out_fpul) = 32;
4155 sh3e_extract_sfmt_ldc_gbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4156 sh3e_insn_word insn = entire_insn;
4157 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4160 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4162 /* Record the fields for the semantic handler. */
4164 if (UNLIKELY(current_cpu->trace_extract_p))
4166 current_cpu->trace_stream
4167 << "0x" << hex << pc << dec << " (sfmt_ldc_gbr_compact)\t"
4168 << " f_rn:0x" << hex << f_rn << dec
4172 /* Record the fields for profiling. */
4173 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4181 sh3e_extract_sfmt_ldc_vbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4182 sh3e_insn_word insn = entire_insn;
4183 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4186 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4188 /* Record the fields for the semantic handler. */
4190 if (UNLIKELY(current_cpu->trace_extract_p))
4192 current_cpu->trace_stream
4193 << "0x" << hex << pc << dec << " (sfmt_ldc_vbr_compact)\t"
4194 << " f_rn:0x" << hex << f_rn << dec
4198 /* Record the fields for profiling. */
4199 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4207 sh3e_extract_sfmt_ldc_sr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4208 sh3e_insn_word insn = entire_insn;
4209 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4212 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4214 /* Record the fields for the semantic handler. */
4216 if (UNLIKELY(current_cpu->trace_extract_p))
4218 current_cpu->trace_stream
4219 << "0x" << hex << pc << dec << " (sfmt_ldc_sr_compact)\t"
4220 << " f_rn:0x" << hex << f_rn << dec
4224 /* Record the fields for profiling. */
4225 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4233 sh3e_extract_sfmt_ldcl_gbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4234 sh3e_insn_word insn = entire_insn;
4235 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4238 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4240 /* Record the fields for the semantic handler. */
4242 if (UNLIKELY(current_cpu->trace_extract_p))
4244 current_cpu->trace_stream
4245 << "0x" << hex << pc << dec << " (sfmt_ldcl_gbr_compact)\t"
4246 << " f_rn:0x" << hex << f_rn << dec
4250 /* Record the fields for profiling. */
4251 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4254 FLD (out_rn) = f_rn;
4260 sh3e_extract_sfmt_ldcl_vbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4261 sh3e_insn_word insn = entire_insn;
4262 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4265 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4267 /* Record the fields for the semantic handler. */
4269 if (UNLIKELY(current_cpu->trace_extract_p))
4271 current_cpu->trace_stream
4272 << "0x" << hex << pc << dec << " (sfmt_ldcl_vbr_compact)\t"
4273 << " f_rn:0x" << hex << f_rn << dec
4277 /* Record the fields for profiling. */
4278 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4281 FLD (out_rn) = f_rn;
4287 sh3e_extract_sfmt_lds_fpscr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4288 sh3e_insn_word insn = entire_insn;
4289 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4292 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4294 /* Record the fields for the semantic handler. */
4296 if (UNLIKELY(current_cpu->trace_extract_p))
4298 current_cpu->trace_stream
4299 << "0x" << hex << pc << dec << " (sfmt_lds_fpscr_compact)\t"
4300 << " f_rn:0x" << hex << f_rn << dec
4304 /* Record the fields for profiling. */
4305 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4313 sh3e_extract_sfmt_ldsl_fpscr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4314 sh3e_insn_word insn = entire_insn;
4315 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4318 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4320 /* Record the fields for the semantic handler. */
4322 if (UNLIKELY(current_cpu->trace_extract_p))
4324 current_cpu->trace_stream
4325 << "0x" << hex << pc << dec << " (sfmt_ldsl_fpscr_compact)\t"
4326 << " f_rn:0x" << hex << f_rn << dec
4330 /* Record the fields for profiling. */
4331 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4334 FLD (out_rn) = f_rn;
4340 sh3e_extract_sfmt_lds_fpul_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4341 sh3e_insn_word insn = entire_insn;
4342 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4345 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4347 /* Record the fields for the semantic handler. */
4349 if (UNLIKELY(current_cpu->trace_extract_p))
4351 current_cpu->trace_stream
4352 << "0x" << hex << pc << dec << " (sfmt_lds_fpul_compact)\t"
4353 << " f_rn:0x" << hex << f_rn << dec
4357 /* Record the fields for profiling. */
4358 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4361 FLD (out_fpul) = 32;
4367 sh3e_extract_sfmt_ldsl_fpul_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4368 sh3e_insn_word insn = entire_insn;
4369 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4372 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4374 /* Record the fields for the semantic handler. */
4376 if (UNLIKELY(current_cpu->trace_extract_p))
4378 current_cpu->trace_stream
4379 << "0x" << hex << pc << dec << " (sfmt_ldsl_fpul_compact)\t"
4380 << " f_rn:0x" << hex << f_rn << dec
4384 /* Record the fields for profiling. */
4385 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4388 FLD (out_fpul) = 32;
4389 FLD (out_rn) = f_rn;
4395 sh3e_extract_sfmt_lds_mach_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4396 sh3e_insn_word insn = entire_insn;
4397 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4400 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4402 /* Record the fields for the semantic handler. */
4404 if (UNLIKELY(current_cpu->trace_extract_p))
4406 current_cpu->trace_stream
4407 << "0x" << hex << pc << dec << " (sfmt_lds_mach_compact)\t"
4408 << " f_rn:0x" << hex << f_rn << dec
4412 /* Record the fields for profiling. */
4413 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4421 sh3e_extract_sfmt_ldsl_mach_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4422 sh3e_insn_word insn = entire_insn;
4423 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4426 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4428 /* Record the fields for the semantic handler. */
4430 if (UNLIKELY(current_cpu->trace_extract_p))
4432 current_cpu->trace_stream
4433 << "0x" << hex << pc << dec << " (sfmt_ldsl_mach_compact)\t"
4434 << " f_rn:0x" << hex << f_rn << dec
4438 /* Record the fields for profiling. */
4439 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4442 FLD (out_rn) = f_rn;
4448 sh3e_extract_sfmt_lds_macl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4449 sh3e_insn_word insn = entire_insn;
4450 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4453 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4455 /* Record the fields for the semantic handler. */
4457 if (UNLIKELY(current_cpu->trace_extract_p))
4459 current_cpu->trace_stream
4460 << "0x" << hex << pc << dec << " (sfmt_lds_macl_compact)\t"
4461 << " f_rn:0x" << hex << f_rn << dec
4465 /* Record the fields for profiling. */
4466 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4474 sh3e_extract_sfmt_ldsl_macl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4475 sh3e_insn_word insn = entire_insn;
4476 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4479 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4481 /* Record the fields for the semantic handler. */
4483 if (UNLIKELY(current_cpu->trace_extract_p))
4485 current_cpu->trace_stream
4486 << "0x" << hex << pc << dec << " (sfmt_ldsl_macl_compact)\t"
4487 << " f_rn:0x" << hex << f_rn << dec
4491 /* Record the fields for profiling. */
4492 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4495 FLD (out_rn) = f_rn;
4501 sh3e_extract_sfmt_lds_pr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4502 sh3e_insn_word insn = entire_insn;
4503 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4506 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4508 /* Record the fields for the semantic handler. */
4510 if (UNLIKELY(current_cpu->trace_extract_p))
4512 current_cpu->trace_stream
4513 << "0x" << hex << pc << dec << " (sfmt_lds_pr_compact)\t"
4514 << " f_rn:0x" << hex << f_rn << dec
4518 /* Record the fields for profiling. */
4519 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4527 sh3e_extract_sfmt_ldsl_pr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4528 sh3e_insn_word insn = entire_insn;
4529 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4532 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4534 /* Record the fields for the semantic handler. */
4536 if (UNLIKELY(current_cpu->trace_extract_p))
4538 current_cpu->trace_stream
4539 << "0x" << hex << pc << dec << " (sfmt_ldsl_pr_compact)\t"
4540 << " f_rn:0x" << hex << f_rn << dec
4544 /* Record the fields for profiling. */
4545 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4548 FLD (out_rn) = f_rn;
4554 sh3e_extract_sfmt_macl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4555 sh3e_insn_word insn = entire_insn;
4556 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4560 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4561 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4563 /* Record the fields for the semantic handler. */
4566 if (UNLIKELY(current_cpu->trace_extract_p))
4568 current_cpu->trace_stream
4569 << "0x" << hex << pc << dec << " (sfmt_macl_compact)\t"
4570 << " f_rm:0x" << hex << f_rm << dec
4571 << " f_rn:0x" << hex << f_rn << dec
4575 /* Record the fields for profiling. */
4576 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4580 FLD (out_rm) = f_rm;
4581 FLD (out_rn) = f_rn;
4587 sh3e_extract_sfmt_macw_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4588 sh3e_insn_word insn = entire_insn;
4589 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4593 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4594 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4596 /* Record the fields for the semantic handler. */
4599 if (UNLIKELY(current_cpu->trace_extract_p))
4601 current_cpu->trace_stream
4602 << "0x" << hex << pc << dec << " (sfmt_macw_compact)\t"
4603 << " f_rm:0x" << hex << f_rm << dec
4604 << " f_rn:0x" << hex << f_rn << dec
4608 /* Record the fields for profiling. */
4609 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4613 FLD (out_rm) = f_rm;
4614 FLD (out_rn) = f_rn;
4620 sh3e_extract_sfmt_mov_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4621 sh3e_insn_word insn = entire_insn;
4622 #define FLD(f) abuf->fields.sfmt_and_compact.f
4626 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4627 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4629 /* Record the fields for the semantic handler. */
4632 if (UNLIKELY(current_cpu->trace_extract_p))
4634 current_cpu->trace_stream
4635 << "0x" << hex << pc << dec << " (sfmt_mov_compact)\t"
4636 << " f_rm:0x" << hex << f_rm << dec
4637 << " f_rn:0x" << hex << f_rn << dec
4641 /* Record the fields for profiling. */
4642 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4644 FLD (in_rm64) = f_rm;
4645 FLD (out_rn64) = f_rn;
4651 sh3e_extract_sfmt_movi_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4652 sh3e_insn_word insn = entire_insn;
4653 #define FLD(f) abuf->fields.sfmt_addi_compact.f
4657 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4658 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4660 /* Record the fields for the semantic handler. */
4661 FLD (f_imm8) = f_imm8;
4663 if (UNLIKELY(current_cpu->trace_extract_p))
4665 current_cpu->trace_stream
4666 << "0x" << hex << pc << dec << " (sfmt_movi_compact)\t"
4667 << " f_imm8:0x" << hex << f_imm8 << dec
4668 << " f_rn:0x" << hex << f_rn << dec
4672 /* Record the fields for profiling. */
4673 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4675 FLD (out_rn) = f_rn;
4681 sh3e_extract_sfmt_movb1_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4682 sh3e_insn_word insn = entire_insn;
4683 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4687 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4688 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4690 /* Record the fields for the semantic handler. */
4693 if (UNLIKELY(current_cpu->trace_extract_p))
4695 current_cpu->trace_stream
4696 << "0x" << hex << pc << dec << " (sfmt_movb1_compact)\t"
4697 << " f_rm:0x" << hex << f_rm << dec
4698 << " f_rn:0x" << hex << f_rn << dec
4702 /* Record the fields for profiling. */
4703 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4712 sh3e_extract_sfmt_movb2_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4713 sh3e_insn_word insn = entire_insn;
4714 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4718 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4719 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4721 /* Record the fields for the semantic handler. */
4724 if (UNLIKELY(current_cpu->trace_extract_p))
4726 current_cpu->trace_stream
4727 << "0x" << hex << pc << dec << " (sfmt_movb2_compact)\t"
4728 << " f_rm:0x" << hex << f_rm << dec
4729 << " f_rn:0x" << hex << f_rn << dec
4733 /* Record the fields for profiling. */
4734 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4738 FLD (out_rn) = f_rn;
4744 sh3e_extract_sfmt_movb3_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4745 sh3e_insn_word insn = entire_insn;
4746 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4750 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4751 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4753 /* Record the fields for the semantic handler. */
4756 if (UNLIKELY(current_cpu->trace_extract_p))
4758 current_cpu->trace_stream
4759 << "0x" << hex << pc << dec << " (sfmt_movb3_compact)\t"
4760 << " f_rm:0x" << hex << f_rm << dec
4761 << " f_rn:0x" << hex << f_rn << dec
4765 /* Record the fields for profiling. */
4766 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4776 sh3e_extract_sfmt_movb4_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4777 sh3e_insn_word insn = entire_insn;
4778 #define FLD(f) abuf->fields.sfmt_andi_compact.f
4781 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4783 /* Record the fields for the semantic handler. */
4784 FLD (f_imm8) = f_imm8;
4785 if (UNLIKELY(current_cpu->trace_extract_p))
4787 current_cpu->trace_stream
4788 << "0x" << hex << pc << dec << " (sfmt_movb4_compact)\t"
4789 << " f_imm8:0x" << hex << f_imm8 << dec
4793 /* Record the fields for profiling. */
4794 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4802 sh3e_extract_sfmt_movb5_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4803 sh3e_insn_word insn = entire_insn;
4804 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
4808 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4809 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4811 /* Record the fields for the semantic handler. */
4812 FLD (f_imm4) = f_imm4;
4814 if (UNLIKELY(current_cpu->trace_extract_p))
4816 current_cpu->trace_stream
4817 << "0x" << hex << pc << dec << " (sfmt_movb5_compact)\t"
4818 << " f_imm4:0x" << hex << f_imm4 << dec
4819 << " f_rm:0x" << hex << f_rm << dec
4823 /* Record the fields for profiling. */
4824 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4833 sh3e_extract_sfmt_movb6_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4834 sh3e_insn_word insn = entire_insn;
4835 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4839 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4840 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4842 /* Record the fields for the semantic handler. */
4845 if (UNLIKELY(current_cpu->trace_extract_p))
4847 current_cpu->trace_stream
4848 << "0x" << hex << pc << dec << " (sfmt_movb6_compact)\t"
4849 << " f_rm:0x" << hex << f_rm << dec
4850 << " f_rn:0x" << hex << f_rn << dec
4854 /* Record the fields for profiling. */
4855 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4858 FLD (out_rn) = f_rn;
4864 sh3e_extract_sfmt_movb7_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4865 sh3e_insn_word insn = entire_insn;
4866 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4870 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4871 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4873 /* Record the fields for the semantic handler. */
4876 if (UNLIKELY(current_cpu->trace_extract_p))
4878 current_cpu->trace_stream
4879 << "0x" << hex << pc << dec << " (sfmt_movb7_compact)\t"
4880 << " f_rm:0x" << hex << f_rm << dec
4881 << " f_rn:0x" << hex << f_rn << dec
4885 /* Record the fields for profiling. */
4886 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4889 FLD (out_rm) = f_rm;
4890 FLD (out_rn) = f_rn;
4896 sh3e_extract_sfmt_movb8_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4897 sh3e_insn_word insn = entire_insn;
4898 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
4902 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4903 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4905 /* Record the fields for the semantic handler. */
4908 if (UNLIKELY(current_cpu->trace_extract_p))
4910 current_cpu->trace_stream
4911 << "0x" << hex << pc << dec << " (sfmt_movb8_compact)\t"
4912 << " f_rm:0x" << hex << f_rm << dec
4913 << " f_rn:0x" << hex << f_rn << dec
4917 /* Record the fields for profiling. */
4918 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4922 FLD (out_rn) = f_rn;
4928 sh3e_extract_sfmt_movb9_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4929 sh3e_insn_word insn = entire_insn;
4930 #define FLD(f) abuf->fields.sfmt_andi_compact.f
4933 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4935 /* Record the fields for the semantic handler. */
4936 FLD (f_imm8) = f_imm8;
4937 if (UNLIKELY(current_cpu->trace_extract_p))
4939 current_cpu->trace_stream
4940 << "0x" << hex << pc << dec << " (sfmt_movb9_compact)\t"
4941 << " f_imm8:0x" << hex << f_imm8 << dec
4945 /* Record the fields for profiling. */
4946 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4954 sh3e_extract_sfmt_movb10_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4955 sh3e_insn_word insn = entire_insn;
4956 #define FLD(f) abuf->fields.sfmt_movb10_compact.f
4960 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4961 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4963 /* Record the fields for the semantic handler. */
4964 FLD (f_imm4) = f_imm4;
4966 if (UNLIKELY(current_cpu->trace_extract_p))
4968 current_cpu->trace_stream
4969 << "0x" << hex << pc << dec << " (sfmt_movb10_compact)\t"
4970 << " f_imm4:0x" << hex << f_imm4 << dec
4971 << " f_rm:0x" << hex << f_rm << dec
4975 /* Record the fields for profiling. */
4976 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4985 sh3e_extract_sfmt_movl1_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
4986 sh3e_insn_word insn = entire_insn;
4987 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4991 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4992 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4994 /* Record the fields for the semantic handler. */
4997 if (UNLIKELY(current_cpu->trace_extract_p))
4999 current_cpu->trace_stream
5000 << "0x" << hex << pc << dec << " (sfmt_movl1_compact)\t"
5001 << " f_rm:0x" << hex << f_rm << dec
5002 << " f_rn:0x" << hex << f_rn << dec
5006 /* Record the fields for profiling. */
5007 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5016 sh3e_extract_sfmt_movl2_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5017 sh3e_insn_word insn = entire_insn;
5018 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5022 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5023 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5025 /* Record the fields for the semantic handler. */
5028 if (UNLIKELY(current_cpu->trace_extract_p))
5030 current_cpu->trace_stream
5031 << "0x" << hex << pc << dec << " (sfmt_movl2_compact)\t"
5032 << " f_rm:0x" << hex << f_rm << dec
5033 << " f_rn:0x" << hex << f_rn << dec
5037 /* Record the fields for profiling. */
5038 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5042 FLD (out_rn) = f_rn;
5048 sh3e_extract_sfmt_movl3_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5049 sh3e_insn_word insn = entire_insn;
5050 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5054 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5055 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5057 /* Record the fields for the semantic handler. */
5060 if (UNLIKELY(current_cpu->trace_extract_p))
5062 current_cpu->trace_stream
5063 << "0x" << hex << pc << dec << " (sfmt_movl3_compact)\t"
5064 << " f_rm:0x" << hex << f_rm << dec
5065 << " f_rn:0x" << hex << f_rn << dec
5069 /* Record the fields for profiling. */
5070 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5080 sh3e_extract_sfmt_movl4_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5081 sh3e_insn_word insn = entire_insn;
5082 #define FLD(f) abuf->fields.sfmt_movl4_compact.f
5085 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5087 /* Record the fields for the semantic handler. */
5088 FLD (f_imm8x4) = f_imm8x4;
5089 if (UNLIKELY(current_cpu->trace_extract_p))
5091 current_cpu->trace_stream
5092 << "0x" << hex << pc << dec << " (sfmt_movl4_compact)\t"
5093 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5097 /* Record the fields for profiling. */
5098 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5106 sh3e_extract_sfmt_movl5_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5107 sh3e_insn_word insn = entire_insn;
5108 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5113 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5114 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5115 f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5117 /* Record the fields for the semantic handler. */
5118 FLD (f_imm4x4) = f_imm4x4;
5121 if (UNLIKELY(current_cpu->trace_extract_p))
5123 current_cpu->trace_stream
5124 << "0x" << hex << pc << dec << " (sfmt_movl5_compact)\t"
5125 << " f_imm4x4:0x" << hex << f_imm4x4 << dec
5126 << " f_rm:0x" << hex << f_rm << dec
5127 << " f_rn:0x" << hex << f_rn << dec
5131 /* Record the fields for profiling. */
5132 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5141 sh3e_extract_sfmt_movl6_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5142 sh3e_insn_word insn = entire_insn;
5143 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5147 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5148 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5150 /* Record the fields for the semantic handler. */
5153 if (UNLIKELY(current_cpu->trace_extract_p))
5155 current_cpu->trace_stream
5156 << "0x" << hex << pc << dec << " (sfmt_movl6_compact)\t"
5157 << " f_rm:0x" << hex << f_rm << dec
5158 << " f_rn:0x" << hex << f_rn << dec
5162 /* Record the fields for profiling. */
5163 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5166 FLD (out_rn) = f_rn;
5172 sh3e_extract_sfmt_movl7_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5173 sh3e_insn_word insn = entire_insn;
5174 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5178 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5179 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5181 /* Record the fields for the semantic handler. */
5184 if (UNLIKELY(current_cpu->trace_extract_p))
5186 current_cpu->trace_stream
5187 << "0x" << hex << pc << dec << " (sfmt_movl7_compact)\t"
5188 << " f_rm:0x" << hex << f_rm << dec
5189 << " f_rn:0x" << hex << f_rn << dec
5193 /* Record the fields for profiling. */
5194 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5198 FLD (out_rm) = f_rm;
5199 FLD (out_rn) = f_rn;
5205 sh3e_extract_sfmt_movl8_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5206 sh3e_insn_word insn = entire_insn;
5207 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
5211 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5212 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5214 /* Record the fields for the semantic handler. */
5217 if (UNLIKELY(current_cpu->trace_extract_p))
5219 current_cpu->trace_stream
5220 << "0x" << hex << pc << dec << " (sfmt_movl8_compact)\t"
5221 << " f_rm:0x" << hex << f_rm << dec
5222 << " f_rn:0x" << hex << f_rn << dec
5226 /* Record the fields for profiling. */
5227 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5231 FLD (out_rn) = f_rn;
5237 sh3e_extract_sfmt_movl9_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5238 sh3e_insn_word insn = entire_insn;
5239 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
5242 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5244 /* Record the fields for the semantic handler. */
5245 FLD (f_imm8x4) = f_imm8x4;
5246 if (UNLIKELY(current_cpu->trace_extract_p))
5248 current_cpu->trace_stream
5249 << "0x" << hex << pc << dec << " (sfmt_movl9_compact)\t"
5250 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5254 /* Record the fields for profiling. */
5255 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5263 sh3e_extract_sfmt_movl10_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5264 sh3e_insn_word insn = entire_insn;
5265 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5269 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5270 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5272 /* Record the fields for the semantic handler. */
5273 FLD (f_imm8x4) = f_imm8x4;
5275 if (UNLIKELY(current_cpu->trace_extract_p))
5277 current_cpu->trace_stream
5278 << "0x" << hex << pc << dec << " (sfmt_movl10_compact)\t"
5279 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5280 << " f_rn:0x" << hex << f_rn << dec
5284 /* Record the fields for profiling. */
5285 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5287 FLD (out_rn) = f_rn;
5293 sh3e_extract_sfmt_movl11_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5294 sh3e_insn_word insn = entire_insn;
5295 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5300 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5301 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5302 f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5304 /* Record the fields for the semantic handler. */
5305 FLD (f_imm4x4) = f_imm4x4;
5308 if (UNLIKELY(current_cpu->trace_extract_p))
5310 current_cpu->trace_stream
5311 << "0x" << hex << pc << dec << " (sfmt_movl11_compact)\t"
5312 << " f_imm4x4:0x" << hex << f_imm4x4 << dec
5313 << " f_rm:0x" << hex << f_rm << dec
5314 << " f_rn:0x" << hex << f_rn << dec
5318 /* Record the fields for profiling. */
5319 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5322 FLD (out_rn) = f_rn;
5328 sh3e_extract_sfmt_movw1_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5329 sh3e_insn_word insn = entire_insn;
5330 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5334 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5335 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5337 /* Record the fields for the semantic handler. */
5340 if (UNLIKELY(current_cpu->trace_extract_p))
5342 current_cpu->trace_stream
5343 << "0x" << hex << pc << dec << " (sfmt_movw1_compact)\t"
5344 << " f_rm:0x" << hex << f_rm << dec
5345 << " f_rn:0x" << hex << f_rn << dec
5349 /* Record the fields for profiling. */
5350 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5359 sh3e_extract_sfmt_movw2_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5360 sh3e_insn_word insn = entire_insn;
5361 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5365 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5366 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5368 /* Record the fields for the semantic handler. */
5371 if (UNLIKELY(current_cpu->trace_extract_p))
5373 current_cpu->trace_stream
5374 << "0x" << hex << pc << dec << " (sfmt_movw2_compact)\t"
5375 << " f_rm:0x" << hex << f_rm << dec
5376 << " f_rn:0x" << hex << f_rn << dec
5380 /* Record the fields for profiling. */
5381 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5385 FLD (out_rn) = f_rn;
5391 sh3e_extract_sfmt_movw3_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5392 sh3e_insn_word insn = entire_insn;
5393 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5397 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5398 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5400 /* Record the fields for the semantic handler. */
5403 if (UNLIKELY(current_cpu->trace_extract_p))
5405 current_cpu->trace_stream
5406 << "0x" << hex << pc << dec << " (sfmt_movw3_compact)\t"
5407 << " f_rm:0x" << hex << f_rm << dec
5408 << " f_rn:0x" << hex << f_rn << dec
5412 /* Record the fields for profiling. */
5413 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5423 sh3e_extract_sfmt_movw4_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5424 sh3e_insn_word insn = entire_insn;
5425 #define FLD(f) abuf->fields.sfmt_movw4_compact.f
5428 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5430 /* Record the fields for the semantic handler. */
5431 FLD (f_imm8x2) = f_imm8x2;
5432 if (UNLIKELY(current_cpu->trace_extract_p))
5434 current_cpu->trace_stream
5435 << "0x" << hex << pc << dec << " (sfmt_movw4_compact)\t"
5436 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
5440 /* Record the fields for profiling. */
5441 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5449 sh3e_extract_sfmt_movw5_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5450 sh3e_insn_word insn = entire_insn;
5451 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
5455 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5456 f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
5458 /* Record the fields for the semantic handler. */
5459 FLD (f_imm4x2) = f_imm4x2;
5461 if (UNLIKELY(current_cpu->trace_extract_p))
5463 current_cpu->trace_stream
5464 << "0x" << hex << pc << dec << " (sfmt_movw5_compact)\t"
5465 << " f_imm4x2:0x" << hex << f_imm4x2 << dec
5466 << " f_rm:0x" << hex << f_rm << dec
5470 /* Record the fields for profiling. */
5471 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5480 sh3e_extract_sfmt_movw6_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5481 sh3e_insn_word insn = entire_insn;
5482 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5486 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5487 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5489 /* Record the fields for the semantic handler. */
5492 if (UNLIKELY(current_cpu->trace_extract_p))
5494 current_cpu->trace_stream
5495 << "0x" << hex << pc << dec << " (sfmt_movw6_compact)\t"
5496 << " f_rm:0x" << hex << f_rm << dec
5497 << " f_rn:0x" << hex << f_rn << dec
5501 /* Record the fields for profiling. */
5502 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5505 FLD (out_rn) = f_rn;
5511 sh3e_extract_sfmt_movw7_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5512 sh3e_insn_word insn = entire_insn;
5513 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5517 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5518 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5520 /* Record the fields for the semantic handler. */
5523 if (UNLIKELY(current_cpu->trace_extract_p))
5525 current_cpu->trace_stream
5526 << "0x" << hex << pc << dec << " (sfmt_movw7_compact)\t"
5527 << " f_rm:0x" << hex << f_rm << dec
5528 << " f_rn:0x" << hex << f_rn << dec
5532 /* Record the fields for profiling. */
5533 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5536 FLD (out_rm) = f_rm;
5537 FLD (out_rn) = f_rn;
5543 sh3e_extract_sfmt_movw8_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5544 sh3e_insn_word insn = entire_insn;
5545 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
5549 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5550 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5552 /* Record the fields for the semantic handler. */
5555 if (UNLIKELY(current_cpu->trace_extract_p))
5557 current_cpu->trace_stream
5558 << "0x" << hex << pc << dec << " (sfmt_movw8_compact)\t"
5559 << " f_rm:0x" << hex << f_rm << dec
5560 << " f_rn:0x" << hex << f_rn << dec
5564 /* Record the fields for profiling. */
5565 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5569 FLD (out_rn) = f_rn;
5575 sh3e_extract_sfmt_movw9_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5576 sh3e_insn_word insn = entire_insn;
5577 #define FLD(f) abuf->fields.sfmt_movw9_compact.f
5580 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5582 /* Record the fields for the semantic handler. */
5583 FLD (f_imm8x2) = f_imm8x2;
5584 if (UNLIKELY(current_cpu->trace_extract_p))
5586 current_cpu->trace_stream
5587 << "0x" << hex << pc << dec << " (sfmt_movw9_compact)\t"
5588 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
5592 /* Record the fields for profiling. */
5593 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5601 sh3e_extract_sfmt_movw10_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5602 sh3e_insn_word insn = entire_insn;
5603 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5607 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5608 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5610 /* Record the fields for the semantic handler. */
5611 FLD (f_imm8x2) = f_imm8x2;
5613 if (UNLIKELY(current_cpu->trace_extract_p))
5615 current_cpu->trace_stream
5616 << "0x" << hex << pc << dec << " (sfmt_movw10_compact)\t"
5617 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
5618 << " f_rn:0x" << hex << f_rn << dec
5622 /* Record the fields for profiling. */
5623 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5625 FLD (out_rn) = f_rn;
5631 sh3e_extract_sfmt_movw11_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5632 sh3e_insn_word insn = entire_insn;
5633 #define FLD(f) abuf->fields.sfmt_movw11_compact.f
5637 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5638 f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
5640 /* Record the fields for the semantic handler. */
5641 FLD (f_imm4x2) = f_imm4x2;
5643 if (UNLIKELY(current_cpu->trace_extract_p))
5645 current_cpu->trace_stream
5646 << "0x" << hex << pc << dec << " (sfmt_movw11_compact)\t"
5647 << " f_imm4x2:0x" << hex << f_imm4x2 << dec
5648 << " f_rm:0x" << hex << f_rm << dec
5652 /* Record the fields for profiling. */
5653 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5662 sh3e_extract_sfmt_mova_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5663 sh3e_insn_word insn = entire_insn;
5664 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
5667 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5669 /* Record the fields for the semantic handler. */
5670 FLD (f_imm8x4) = f_imm8x4;
5671 if (UNLIKELY(current_cpu->trace_extract_p))
5673 current_cpu->trace_stream
5674 << "0x" << hex << pc << dec << " (sfmt_mova_compact)\t"
5675 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5679 /* Record the fields for profiling. */
5680 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5688 sh3e_extract_sfmt_movt_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5689 sh3e_insn_word insn = entire_insn;
5690 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5693 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5695 /* Record the fields for the semantic handler. */
5697 if (UNLIKELY(current_cpu->trace_extract_p))
5699 current_cpu->trace_stream
5700 << "0x" << hex << pc << dec << " (sfmt_movt_compact)\t"
5701 << " f_rn:0x" << hex << f_rn << dec
5705 /* Record the fields for profiling. */
5706 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5708 FLD (out_rn) = f_rn;
5714 sh3e_extract_sfmt_mull_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5715 sh3e_insn_word insn = entire_insn;
5716 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5720 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5721 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5723 /* Record the fields for the semantic handler. */
5726 if (UNLIKELY(current_cpu->trace_extract_p))
5728 current_cpu->trace_stream
5729 << "0x" << hex << pc << dec << " (sfmt_mull_compact)\t"
5730 << " f_rm:0x" << hex << f_rm << dec
5731 << " f_rn:0x" << hex << f_rn << dec
5735 /* Record the fields for profiling. */
5736 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5745 sh3e_extract_sfmt_negc_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5746 sh3e_insn_word insn = entire_insn;
5747 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5751 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5752 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5754 /* Record the fields for the semantic handler. */
5757 if (UNLIKELY(current_cpu->trace_extract_p))
5759 current_cpu->trace_stream
5760 << "0x" << hex << pc << dec << " (sfmt_negc_compact)\t"
5761 << " f_rm:0x" << hex << f_rm << dec
5762 << " f_rn:0x" << hex << f_rn << dec
5766 /* Record the fields for profiling. */
5767 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5770 FLD (out_rn) = f_rn;
5776 sh3e_extract_sfmt_nop_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5777 sh3e_insn_word insn = entire_insn;
5778 #define FLD(f) abuf->fields.fmt_empty.f
5781 /* Record the fields for the semantic handler. */
5782 if (UNLIKELY(current_cpu->trace_extract_p))
5784 current_cpu->trace_stream
5785 << "0x" << hex << pc << dec << " (sfmt_nop_compact)\t"
5793 sh3e_extract_sfmt_pref_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5794 sh3e_insn_word insn = entire_insn;
5795 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5798 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5800 /* Record the fields for the semantic handler. */
5802 if (UNLIKELY(current_cpu->trace_extract_p))
5804 current_cpu->trace_stream
5805 << "0x" << hex << pc << dec << " (sfmt_pref_compact)\t"
5806 << " f_rn:0x" << hex << f_rn << dec
5810 /* Record the fields for profiling. */
5811 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5819 sh3e_extract_sfmt_rotcl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5820 sh3e_insn_word insn = entire_insn;
5821 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5824 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5826 /* Record the fields for the semantic handler. */
5828 if (UNLIKELY(current_cpu->trace_extract_p))
5830 current_cpu->trace_stream
5831 << "0x" << hex << pc << dec << " (sfmt_rotcl_compact)\t"
5832 << " f_rn:0x" << hex << f_rn << dec
5836 /* Record the fields for profiling. */
5837 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5840 FLD (out_rn) = f_rn;
5846 sh3e_extract_sfmt_rts_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5847 sh3e_insn_word insn = entire_insn;
5848 #define FLD(f) abuf->fields.fmt_empty.f
5851 /* Record the fields for the semantic handler. */
5852 if (UNLIKELY(current_cpu->trace_extract_p))
5854 current_cpu->trace_stream
5855 << "0x" << hex << pc << dec << " (sfmt_rts_compact)\t"
5859 /* Record the fields for profiling. */
5860 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5867 sh3e_extract_sfmt_shad_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5868 sh3e_insn_word insn = entire_insn;
5869 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5873 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5874 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5876 /* Record the fields for the semantic handler. */
5879 if (UNLIKELY(current_cpu->trace_extract_p))
5881 current_cpu->trace_stream
5882 << "0x" << hex << pc << dec << " (sfmt_shad_compact)\t"
5883 << " f_rm:0x" << hex << f_rm << dec
5884 << " f_rn:0x" << hex << f_rn << dec
5888 /* Record the fields for profiling. */
5889 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5893 FLD (out_rn) = f_rn;
5899 sh3e_extract_sfmt_shll2_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5900 sh3e_insn_word insn = entire_insn;
5901 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5904 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5906 /* Record the fields for the semantic handler. */
5908 if (UNLIKELY(current_cpu->trace_extract_p))
5910 current_cpu->trace_stream
5911 << "0x" << hex << pc << dec << " (sfmt_shll2_compact)\t"
5912 << " f_rn:0x" << hex << f_rn << dec
5916 /* Record the fields for profiling. */
5917 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5920 FLD (out_rn) = f_rn;
5926 sh3e_extract_sfmt_stc_gbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5927 sh3e_insn_word insn = entire_insn;
5928 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5931 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5933 /* Record the fields for the semantic handler. */
5935 if (UNLIKELY(current_cpu->trace_extract_p))
5937 current_cpu->trace_stream
5938 << "0x" << hex << pc << dec << " (sfmt_stc_gbr_compact)\t"
5939 << " f_rn:0x" << hex << f_rn << dec
5943 /* Record the fields for profiling. */
5944 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5946 FLD (out_rn) = f_rn;
5952 sh3e_extract_sfmt_stc_vbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5953 sh3e_insn_word insn = entire_insn;
5954 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5957 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5959 /* Record the fields for the semantic handler. */
5961 if (UNLIKELY(current_cpu->trace_extract_p))
5963 current_cpu->trace_stream
5964 << "0x" << hex << pc << dec << " (sfmt_stc_vbr_compact)\t"
5965 << " f_rn:0x" << hex << f_rn << dec
5969 /* Record the fields for profiling. */
5970 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5972 FLD (out_rn) = f_rn;
5978 sh3e_extract_sfmt_stcl_gbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
5979 sh3e_insn_word insn = entire_insn;
5980 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5983 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5985 /* Record the fields for the semantic handler. */
5987 if (UNLIKELY(current_cpu->trace_extract_p))
5989 current_cpu->trace_stream
5990 << "0x" << hex << pc << dec << " (sfmt_stcl_gbr_compact)\t"
5991 << " f_rn:0x" << hex << f_rn << dec
5995 /* Record the fields for profiling. */
5996 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5999 FLD (out_rn) = f_rn;
6005 sh3e_extract_sfmt_stcl_vbr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6006 sh3e_insn_word insn = entire_insn;
6007 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6010 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6012 /* Record the fields for the semantic handler. */
6014 if (UNLIKELY(current_cpu->trace_extract_p))
6016 current_cpu->trace_stream
6017 << "0x" << hex << pc << dec << " (sfmt_stcl_vbr_compact)\t"
6018 << " f_rn:0x" << hex << f_rn << dec
6022 /* Record the fields for profiling. */
6023 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6026 FLD (out_rn) = f_rn;
6032 sh3e_extract_sfmt_sts_fpscr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6033 sh3e_insn_word insn = entire_insn;
6034 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6037 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6039 /* Record the fields for the semantic handler. */
6041 if (UNLIKELY(current_cpu->trace_extract_p))
6043 current_cpu->trace_stream
6044 << "0x" << hex << pc << dec << " (sfmt_sts_fpscr_compact)\t"
6045 << " f_rn:0x" << hex << f_rn << dec
6049 /* Record the fields for profiling. */
6050 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6052 FLD (out_rn) = f_rn;
6058 sh3e_extract_sfmt_stsl_fpscr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6059 sh3e_insn_word insn = entire_insn;
6060 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6063 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6065 /* Record the fields for the semantic handler. */
6067 if (UNLIKELY(current_cpu->trace_extract_p))
6069 current_cpu->trace_stream
6070 << "0x" << hex << pc << dec << " (sfmt_stsl_fpscr_compact)\t"
6071 << " f_rn:0x" << hex << f_rn << dec
6075 /* Record the fields for profiling. */
6076 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6079 FLD (out_rn) = f_rn;
6085 sh3e_extract_sfmt_sts_fpul_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6086 sh3e_insn_word insn = entire_insn;
6087 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6090 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6092 /* Record the fields for the semantic handler. */
6094 if (UNLIKELY(current_cpu->trace_extract_p))
6096 current_cpu->trace_stream
6097 << "0x" << hex << pc << dec << " (sfmt_sts_fpul_compact)\t"
6098 << " f_rn:0x" << hex << f_rn << dec
6102 /* Record the fields for profiling. */
6103 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6106 FLD (out_rn) = f_rn;
6112 sh3e_extract_sfmt_stsl_fpul_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6113 sh3e_insn_word insn = entire_insn;
6114 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6117 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6119 /* Record the fields for the semantic handler. */
6121 if (UNLIKELY(current_cpu->trace_extract_p))
6123 current_cpu->trace_stream
6124 << "0x" << hex << pc << dec << " (sfmt_stsl_fpul_compact)\t"
6125 << " f_rn:0x" << hex << f_rn << dec
6129 /* Record the fields for profiling. */
6130 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6134 FLD (out_rn) = f_rn;
6140 sh3e_extract_sfmt_sts_mach_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6141 sh3e_insn_word insn = entire_insn;
6142 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6145 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6147 /* Record the fields for the semantic handler. */
6149 if (UNLIKELY(current_cpu->trace_extract_p))
6151 current_cpu->trace_stream
6152 << "0x" << hex << pc << dec << " (sfmt_sts_mach_compact)\t"
6153 << " f_rn:0x" << hex << f_rn << dec
6157 /* Record the fields for profiling. */
6158 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6160 FLD (out_rn) = f_rn;
6166 sh3e_extract_sfmt_stsl_mach_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6167 sh3e_insn_word insn = entire_insn;
6168 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6171 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6173 /* Record the fields for the semantic handler. */
6175 if (UNLIKELY(current_cpu->trace_extract_p))
6177 current_cpu->trace_stream
6178 << "0x" << hex << pc << dec << " (sfmt_stsl_mach_compact)\t"
6179 << " f_rn:0x" << hex << f_rn << dec
6183 /* Record the fields for profiling. */
6184 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6187 FLD (out_rn) = f_rn;
6193 sh3e_extract_sfmt_sts_macl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6194 sh3e_insn_word insn = entire_insn;
6195 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6198 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6200 /* Record the fields for the semantic handler. */
6202 if (UNLIKELY(current_cpu->trace_extract_p))
6204 current_cpu->trace_stream
6205 << "0x" << hex << pc << dec << " (sfmt_sts_macl_compact)\t"
6206 << " f_rn:0x" << hex << f_rn << dec
6210 /* Record the fields for profiling. */
6211 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6213 FLD (out_rn) = f_rn;
6219 sh3e_extract_sfmt_stsl_macl_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6220 sh3e_insn_word insn = entire_insn;
6221 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6224 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6226 /* Record the fields for the semantic handler. */
6228 if (UNLIKELY(current_cpu->trace_extract_p))
6230 current_cpu->trace_stream
6231 << "0x" << hex << pc << dec << " (sfmt_stsl_macl_compact)\t"
6232 << " f_rn:0x" << hex << f_rn << dec
6236 /* Record the fields for profiling. */
6237 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6240 FLD (out_rn) = f_rn;
6246 sh3e_extract_sfmt_sts_pr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6247 sh3e_insn_word insn = entire_insn;
6248 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6251 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6253 /* Record the fields for the semantic handler. */
6255 if (UNLIKELY(current_cpu->trace_extract_p))
6257 current_cpu->trace_stream
6258 << "0x" << hex << pc << dec << " (sfmt_sts_pr_compact)\t"
6259 << " f_rn:0x" << hex << f_rn << dec
6263 /* Record the fields for profiling. */
6264 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6266 FLD (out_rn) = f_rn;
6272 sh3e_extract_sfmt_stsl_pr_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6273 sh3e_insn_word insn = entire_insn;
6274 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6277 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6279 /* Record the fields for the semantic handler. */
6281 if (UNLIKELY(current_cpu->trace_extract_p))
6283 current_cpu->trace_stream
6284 << "0x" << hex << pc << dec << " (sfmt_stsl_pr_compact)\t"
6285 << " f_rn:0x" << hex << f_rn << dec
6289 /* Record the fields for profiling. */
6290 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6293 FLD (out_rn) = f_rn;
6299 sh3e_extract_sfmt_tasb_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6300 sh3e_insn_word insn = entire_insn;
6301 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6304 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6306 /* Record the fields for the semantic handler. */
6308 if (UNLIKELY(current_cpu->trace_extract_p))
6310 current_cpu->trace_stream
6311 << "0x" << hex << pc << dec << " (sfmt_tasb_compact)\t"
6312 << " f_rn:0x" << hex << f_rn << dec
6316 /* Record the fields for profiling. */
6317 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6325 sh3e_extract_sfmt_trapa_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6326 sh3e_insn_word insn = entire_insn;
6327 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6330 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6332 /* Record the fields for the semantic handler. */
6333 FLD (f_imm8) = f_imm8;
6334 if (UNLIKELY(current_cpu->trace_extract_p))
6336 current_cpu->trace_stream
6337 << "0x" << hex << pc << dec << " (sfmt_trapa_compact)\t"
6338 << " f_imm8:0x" << hex << f_imm8 << dec
6342 /* Record the fields for profiling. */
6343 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6350 sh3e_extract_sfmt_tsti_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6351 sh3e_insn_word insn = entire_insn;
6352 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6355 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6357 /* Record the fields for the semantic handler. */
6358 FLD (f_imm8) = f_imm8;
6359 if (UNLIKELY(current_cpu->trace_extract_p))
6361 current_cpu->trace_stream
6362 << "0x" << hex << pc << dec << " (sfmt_tsti_compact)\t"
6363 << " f_imm8:0x" << hex << f_imm8 << dec
6367 /* Record the fields for profiling. */
6368 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6376 sh3e_extract_sfmt_tstb_compact (sh3e_scache* abuf, sh3e_cpu* current_cpu, PCADDR pc, sh3e_insn_word base_insn, sh3e_insn_word entire_insn){
6377 sh3e_insn_word insn = entire_insn;
6378 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6381 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6383 /* Record the fields for the semantic handler. */
6384 FLD (f_imm8) = f_imm8;
6385 if (UNLIKELY(current_cpu->trace_extract_p))
6387 current_cpu->trace_stream
6388 << "0x" << hex << pc << dec << " (sfmt_tstb_compact)\t"
6389 << " f_imm8:0x" << hex << f_imm8 << dec
6393 /* Record the fields for profiling. */
6394 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))