1 /* Simulator instruction decoder for sh4a.
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 sh4a; // FIXME: namespace organization still wip
21 // The instruction descriptor array.
23 sh4a_idesc sh4a_idesc::idesc_table[SH4A_INSN_XTRCT_COMPACT + 1] =
25 { sh4a_sem_x_invalid, "X_INVALID", SH4A_INSN_X_INVALID, { 0|(1<<CGEN_INSN_VIRTUAL), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
26 { sh4a_sem_add_compact, "ADD_COMPACT", SH4A_INSN_ADD_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
27 { sh4a_sem_addi_compact, "ADDI_COMPACT", SH4A_INSN_ADDI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_NONE } },
28 { sh4a_sem_addc_compact, "ADDC_COMPACT", SH4A_INSN_ADDC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
29 { sh4a_sem_addv_compact, "ADDV_COMPACT", SH4A_INSN_ADDV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
30 { sh4a_sem_and_compact, "AND_COMPACT", SH4A_INSN_AND_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
31 { sh4a_sem_andi_compact, "ANDI_COMPACT", SH4A_INSN_ANDI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
32 { sh4a_sem_andb_compact, "ANDB_COMPACT", SH4A_INSN_ANDB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
33 { sh4a_sem_bf_compact, "BF_COMPACT", SH4A_INSN_BF_COMPACT, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
34 { sh4a_sem_bfs_compact, "BFS_COMPACT", SH4A_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 { sh4a_sem_bra_compact, "BRA_COMPACT", SH4A_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 { sh4a_sem_braf_compact, "BRAF_COMPACT", SH4A_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 { sh4a_sem_bsr_compact, "BSR_COMPACT", SH4A_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 { sh4a_sem_bsrf_compact, "BSRF_COMPACT", SH4A_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 { sh4a_sem_bt_compact, "BT_COMPACT", SH4A_INSN_BT_COMPACT, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
40 { sh4a_sem_bts_compact, "BTS_COMPACT", SH4A_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 { sh4a_sem_clrmac_compact, "CLRMAC_COMPACT", SH4A_INSN_CLRMAC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
42 { sh4a_sem_clrs_compact, "CLRS_COMPACT", SH4A_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 { sh4a_sem_clrt_compact, "CLRT_COMPACT", SH4A_INSN_CLRT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
44 { sh4a_sem_cmpeq_compact, "CMPEQ_COMPACT", SH4A_INSN_CMPEQ_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
45 { sh4a_sem_cmpeqi_compact, "CMPEQI_COMPACT", SH4A_INSN_CMPEQI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
46 { sh4a_sem_cmpge_compact, "CMPGE_COMPACT", SH4A_INSN_CMPGE_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
47 { sh4a_sem_cmpgt_compact, "CMPGT_COMPACT", SH4A_INSN_CMPGT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
48 { sh4a_sem_cmphi_compact, "CMPHI_COMPACT", SH4A_INSN_CMPHI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
49 { sh4a_sem_cmphs_compact, "CMPHS_COMPACT", SH4A_INSN_CMPHS_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
50 { sh4a_sem_cmppl_compact, "CMPPL_COMPACT", SH4A_INSN_CMPPL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
51 { sh4a_sem_cmppz_compact, "CMPPZ_COMPACT", SH4A_INSN_CMPPZ_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
52 { sh4a_sem_cmpstr_compact, "CMPSTR_COMPACT", SH4A_INSN_CMPSTR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
53 { sh4a_sem_div0s_compact, "DIV0S_COMPACT", SH4A_INSN_DIV0S_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
54 { sh4a_sem_div0u_compact, "DIV0U_COMPACT", SH4A_INSN_DIV0U_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
55 { sh4a_sem_div1_compact, "DIV1_COMPACT", SH4A_INSN_DIV1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
56 { sh4a_sem_dmulsl_compact, "DMULSL_COMPACT", SH4A_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 { sh4a_sem_dmulul_compact, "DMULUL_COMPACT", SH4A_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 { sh4a_sem_dt_compact, "DT_COMPACT", SH4A_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 { sh4a_sem_extsb_compact, "EXTSB_COMPACT", SH4A_INSN_EXTSB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
60 { sh4a_sem_extsw_compact, "EXTSW_COMPACT", SH4A_INSN_EXTSW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
61 { sh4a_sem_extub_compact, "EXTUB_COMPACT", SH4A_INSN_EXTUB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
62 { sh4a_sem_extuw_compact, "EXTUW_COMPACT", SH4A_INSN_EXTUW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
63 { sh4a_sem_fabs_compact, "FABS_COMPACT", SH4A_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 { sh4a_sem_fadd_compact, "FADD_COMPACT", SH4A_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 { sh4a_sem_fcmpeq_compact, "FCMPEQ_COMPACT", SH4A_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 { sh4a_sem_fcmpgt_compact, "FCMPGT_COMPACT", SH4A_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 { sh4a_sem_fdiv_compact, "FDIV_COMPACT", SH4A_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 { sh4a_sem_fipr_compact, "FIPR_COMPACT", SH4A_INSN_FIPR_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
69 { sh4a_sem_flds_compact, "FLDS_COMPACT", SH4A_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 } },
70 { sh4a_sem_fldi0_compact, "FLDI0_COMPACT", SH4A_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 } },
71 { sh4a_sem_fldi1_compact, "FLDI1_COMPACT", SH4A_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 } },
72 { sh4a_sem_float_compact, "FLOAT_COMPACT", SH4A_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 } },
73 { sh4a_sem_fmac_compact, "FMAC_COMPACT", SH4A_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 } },
74 { sh4a_sem_fmov1_compact, "FMOV1_COMPACT", SH4A_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 } },
75 { sh4a_sem_fmov2_compact, "FMOV2_COMPACT", SH4A_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 } },
76 { sh4a_sem_fmov3_compact, "FMOV3_COMPACT", SH4A_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 } },
77 { sh4a_sem_fmov4_compact, "FMOV4_COMPACT", SH4A_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 } },
78 { sh4a_sem_fmov5_compact, "FMOV5_COMPACT", SH4A_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 } },
79 { sh4a_sem_fmov6_compact, "FMOV6_COMPACT", SH4A_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 } },
80 { sh4a_sem_fmov7_compact, "FMOV7_COMPACT", SH4A_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 } },
81 { sh4a_sem_fmul_compact, "FMUL_COMPACT", SH4A_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 } },
82 { sh4a_sem_fneg_compact, "FNEG_COMPACT", SH4A_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 } },
83 { sh4a_sem_frchg_compact, "FRCHG_COMPACT", SH4A_INSN_FRCHG_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
84 { sh4a_sem_fschg_compact, "FSCHG_COMPACT", SH4A_INSN_FSCHG_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
85 { sh4a_sem_fsqrt_compact, "FSQRT_COMPACT", SH4A_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 } },
86 { sh4a_sem_fsts_compact, "FSTS_COMPACT", SH4A_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 } },
87 { sh4a_sem_fsub_compact, "FSUB_COMPACT", SH4A_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 } },
88 { sh4a_sem_ftrc_compact, "FTRC_COMPACT", SH4A_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 } },
89 { sh4a_sem_ftrv_compact, "FTRV_COMPACT", SH4A_INSN_FTRV_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
90 { sh4a_sem_jmp_compact, "JMP_COMPACT", SH4A_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 } },
91 { sh4a_sem_jsr_compact, "JSR_COMPACT", SH4A_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 } },
92 { sh4a_sem_ldc_gbr_compact, "LDC_GBR_COMPACT", SH4A_INSN_LDC_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
93 { sh4a_sem_ldc_vbr_compact, "LDC_VBR_COMPACT", SH4A_INSN_LDC_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
94 { sh4a_sem_ldc_sr_compact, "LDC_SR_COMPACT", SH4A_INSN_LDC_SR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
95 { sh4a_sem_ldcl_gbr_compact, "LDCL_GBR_COMPACT", SH4A_INSN_LDCL_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
96 { sh4a_sem_ldcl_vbr_compact, "LDCL_VBR_COMPACT", SH4A_INSN_LDCL_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
97 { sh4a_sem_lds_fpscr_compact, "LDS_FPSCR_COMPACT", SH4A_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 } },
98 { sh4a_sem_ldsl_fpscr_compact, "LDSL_FPSCR_COMPACT", SH4A_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 } },
99 { sh4a_sem_lds_fpul_compact, "LDS_FPUL_COMPACT", SH4A_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 } },
100 { sh4a_sem_ldsl_fpul_compact, "LDSL_FPUL_COMPACT", SH4A_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 } },
101 { sh4a_sem_lds_mach_compact, "LDS_MACH_COMPACT", SH4A_INSN_LDS_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
102 { sh4a_sem_ldsl_mach_compact, "LDSL_MACH_COMPACT", SH4A_INSN_LDSL_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
103 { sh4a_sem_lds_macl_compact, "LDS_MACL_COMPACT", SH4A_INSN_LDS_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
104 { sh4a_sem_ldsl_macl_compact, "LDSL_MACL_COMPACT", SH4A_INSN_LDSL_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
105 { sh4a_sem_lds_pr_compact, "LDS_PR_COMPACT", SH4A_INSN_LDS_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
106 { sh4a_sem_ldsl_pr_compact, "LDSL_PR_COMPACT", SH4A_INSN_LDSL_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
107 { sh4a_sem_macl_compact, "MACL_COMPACT", SH4A_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 } },
108 { sh4a_sem_macw_compact, "MACW_COMPACT", SH4A_INSN_MACW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
109 { sh4a_sem_mov_compact, "MOV_COMPACT", SH4A_INSN_MOV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_MT } },
110 { sh4a_sem_movi_compact, "MOVI_COMPACT", SH4A_INSN_MOVI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_MT } },
111 { sh4a_sem_movb1_compact, "MOVB1_COMPACT", SH4A_INSN_MOVB1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
112 { sh4a_sem_movb2_compact, "MOVB2_COMPACT", SH4A_INSN_MOVB2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
113 { sh4a_sem_movb3_compact, "MOVB3_COMPACT", SH4A_INSN_MOVB3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
114 { sh4a_sem_movb4_compact, "MOVB4_COMPACT", SH4A_INSN_MOVB4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
115 { sh4a_sem_movb5_compact, "MOVB5_COMPACT", SH4A_INSN_MOVB5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
116 { sh4a_sem_movb6_compact, "MOVB6_COMPACT", SH4A_INSN_MOVB6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
117 { sh4a_sem_movb7_compact, "MOVB7_COMPACT", SH4A_INSN_MOVB7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
118 { sh4a_sem_movb8_compact, "MOVB8_COMPACT", SH4A_INSN_MOVB8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
119 { sh4a_sem_movb9_compact, "MOVB9_COMPACT", SH4A_INSN_MOVB9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
120 { sh4a_sem_movb10_compact, "MOVB10_COMPACT", SH4A_INSN_MOVB10_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
121 { sh4a_sem_movl1_compact, "MOVL1_COMPACT", SH4A_INSN_MOVL1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
122 { sh4a_sem_movl2_compact, "MOVL2_COMPACT", SH4A_INSN_MOVL2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
123 { sh4a_sem_movl3_compact, "MOVL3_COMPACT", SH4A_INSN_MOVL3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
124 { sh4a_sem_movl4_compact, "MOVL4_COMPACT", SH4A_INSN_MOVL4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
125 { sh4a_sem_movl5_compact, "MOVL5_COMPACT", SH4A_INSN_MOVL5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
126 { sh4a_sem_movl6_compact, "MOVL6_COMPACT", SH4A_INSN_MOVL6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
127 { sh4a_sem_movl7_compact, "MOVL7_COMPACT", SH4A_INSN_MOVL7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
128 { sh4a_sem_movl8_compact, "MOVL8_COMPACT", SH4A_INSN_MOVL8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
129 { sh4a_sem_movl9_compact, "MOVL9_COMPACT", SH4A_INSN_MOVL9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
130 { sh4a_sem_movl10_compact, "MOVL10_COMPACT", SH4A_INSN_MOVL10_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
131 { sh4a_sem_movl11_compact, "MOVL11_COMPACT", SH4A_INSN_MOVL11_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
132 { sh4a_sem_movw1_compact, "MOVW1_COMPACT", SH4A_INSN_MOVW1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
133 { sh4a_sem_movw2_compact, "MOVW2_COMPACT", SH4A_INSN_MOVW2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
134 { sh4a_sem_movw3_compact, "MOVW3_COMPACT", SH4A_INSN_MOVW3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
135 { sh4a_sem_movw4_compact, "MOVW4_COMPACT", SH4A_INSN_MOVW4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
136 { sh4a_sem_movw5_compact, "MOVW5_COMPACT", SH4A_INSN_MOVW5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
137 { sh4a_sem_movw6_compact, "MOVW6_COMPACT", SH4A_INSN_MOVW6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
138 { sh4a_sem_movw7_compact, "MOVW7_COMPACT", SH4A_INSN_MOVW7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
139 { sh4a_sem_movw8_compact, "MOVW8_COMPACT", SH4A_INSN_MOVW8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
140 { sh4a_sem_movw9_compact, "MOVW9_COMPACT", SH4A_INSN_MOVW9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
141 { sh4a_sem_movw10_compact, "MOVW10_COMPACT", SH4A_INSN_MOVW10_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
142 { sh4a_sem_movw11_compact, "MOVW11_COMPACT", SH4A_INSN_MOVW11_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
143 { sh4a_sem_mova_compact, "MOVA_COMPACT", SH4A_INSN_MOVA_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_LS } },
144 { sh4a_sem_movcal_compact, "MOVCAL_COMPACT", SH4A_INSN_MOVCAL_COMPACT, { 0, (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 } },
145 { sh4a_sem_movcol_compact, "MOVCOL_COMPACT", SH4A_INSN_MOVCOL_COMPACT, { 0, (1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_CO } },
146 { sh4a_sem_movt_compact, "MOVT_COMPACT", SH4A_INSN_MOVT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
147 { sh4a_sem_movual_compact, "MOVUAL_COMPACT", SH4A_INSN_MOVUAL_COMPACT, { 0, (1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_LS } },
148 { sh4a_sem_movual2_compact, "MOVUAL2_COMPACT", SH4A_INSN_MOVUAL2_COMPACT, { 0, (1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_LS } },
149 { sh4a_sem_mull_compact, "MULL_COMPACT", SH4A_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 } },
150 { sh4a_sem_mulsw_compact, "MULSW_COMPACT", SH4A_INSN_MULSW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
151 { sh4a_sem_muluw_compact, "MULUW_COMPACT", SH4A_INSN_MULUW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
152 { sh4a_sem_neg_compact, "NEG_COMPACT", SH4A_INSN_NEG_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
153 { sh4a_sem_negc_compact, "NEGC_COMPACT", SH4A_INSN_NEGC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
154 { sh4a_sem_nop_compact, "NOP_COMPACT", SH4A_INSN_NOP_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_MT } },
155 { sh4a_sem_not_compact, "NOT_COMPACT", SH4A_INSN_NOT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
156 { sh4a_sem_ocbi_compact, "OCBI_COMPACT", SH4A_INSN_OCBI_COMPACT, { 0, (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 } },
157 { sh4a_sem_ocbp_compact, "OCBP_COMPACT", SH4A_INSN_OCBP_COMPACT, { 0, (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 } },
158 { sh4a_sem_ocbwb_compact, "OCBWB_COMPACT", SH4A_INSN_OCBWB_COMPACT, { 0, (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 } },
159 { sh4a_sem_or_compact, "OR_COMPACT", SH4A_INSN_OR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
160 { sh4a_sem_ori_compact, "ORI_COMPACT", SH4A_INSN_ORI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
161 { sh4a_sem_orb_compact, "ORB_COMPACT", SH4A_INSN_ORB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
162 { sh4a_sem_pref_compact, "PREF_COMPACT", SH4A_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 } },
163 { sh4a_sem_rotcl_compact, "ROTCL_COMPACT", SH4A_INSN_ROTCL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
164 { sh4a_sem_rotcr_compact, "ROTCR_COMPACT", SH4A_INSN_ROTCR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
165 { sh4a_sem_rotl_compact, "ROTL_COMPACT", SH4A_INSN_ROTL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
166 { sh4a_sem_rotr_compact, "ROTR_COMPACT", SH4A_INSN_ROTR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
167 { sh4a_sem_rts_compact, "RTS_COMPACT", SH4A_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 } },
168 { sh4a_sem_sets_compact, "SETS_COMPACT", SH4A_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 } },
169 { sh4a_sem_sett_compact, "SETT_COMPACT", SH4A_INSN_SETT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
170 { sh4a_sem_shad_compact, "SHAD_COMPACT", SH4A_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 } },
171 { sh4a_sem_shal_compact, "SHAL_COMPACT", SH4A_INSN_SHAL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
172 { sh4a_sem_shar_compact, "SHAR_COMPACT", SH4A_INSN_SHAR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
173 { sh4a_sem_shld_compact, "SHLD_COMPACT", SH4A_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 } },
174 { sh4a_sem_shll_compact, "SHLL_COMPACT", SH4A_INSN_SHLL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
175 { sh4a_sem_shll2_compact, "SHLL2_COMPACT", SH4A_INSN_SHLL2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
176 { sh4a_sem_shll8_compact, "SHLL8_COMPACT", SH4A_INSN_SHLL8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
177 { sh4a_sem_shll16_compact, "SHLL16_COMPACT", SH4A_INSN_SHLL16_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
178 { sh4a_sem_shlr_compact, "SHLR_COMPACT", SH4A_INSN_SHLR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
179 { sh4a_sem_shlr2_compact, "SHLR2_COMPACT", SH4A_INSN_SHLR2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
180 { sh4a_sem_shlr8_compact, "SHLR8_COMPACT", SH4A_INSN_SHLR8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
181 { sh4a_sem_shlr16_compact, "SHLR16_COMPACT", SH4A_INSN_SHLR16_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
182 { sh4a_sem_stc_gbr_compact, "STC_GBR_COMPACT", SH4A_INSN_STC_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
183 { sh4a_sem_stc_vbr_compact, "STC_VBR_COMPACT", SH4A_INSN_STC_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
184 { sh4a_sem_stcl_gbr_compact, "STCL_GBR_COMPACT", SH4A_INSN_STCL_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
185 { sh4a_sem_stcl_vbr_compact, "STCL_VBR_COMPACT", SH4A_INSN_STCL_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
186 { sh4a_sem_sts_fpscr_compact, "STS_FPSCR_COMPACT", SH4A_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 } },
187 { sh4a_sem_stsl_fpscr_compact, "STSL_FPSCR_COMPACT", SH4A_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 } },
188 { sh4a_sem_sts_fpul_compact, "STS_FPUL_COMPACT", SH4A_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 } },
189 { sh4a_sem_stsl_fpul_compact, "STSL_FPUL_COMPACT", SH4A_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 } },
190 { sh4a_sem_sts_mach_compact, "STS_MACH_COMPACT", SH4A_INSN_STS_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
191 { sh4a_sem_stsl_mach_compact, "STSL_MACH_COMPACT", SH4A_INSN_STSL_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
192 { sh4a_sem_sts_macl_compact, "STS_MACL_COMPACT", SH4A_INSN_STS_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
193 { sh4a_sem_stsl_macl_compact, "STSL_MACL_COMPACT", SH4A_INSN_STSL_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
194 { sh4a_sem_sts_pr_compact, "STS_PR_COMPACT", SH4A_INSN_STS_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
195 { sh4a_sem_stsl_pr_compact, "STSL_PR_COMPACT", SH4A_INSN_STSL_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
196 { sh4a_sem_sub_compact, "SUB_COMPACT", SH4A_INSN_SUB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
197 { sh4a_sem_subc_compact, "SUBC_COMPACT", SH4A_INSN_SUBC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
198 { sh4a_sem_subv_compact, "SUBV_COMPACT", SH4A_INSN_SUBV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
199 { sh4a_sem_swapb_compact, "SWAPB_COMPACT", SH4A_INSN_SWAPB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
200 { sh4a_sem_swapw_compact, "SWAPW_COMPACT", SH4A_INSN_SWAPW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
201 { sh4a_sem_tasb_compact, "TASB_COMPACT", SH4A_INSN_TASB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
202 { sh4a_sem_trapa_compact, "TRAPA_COMPACT", SH4A_INSN_TRAPA_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
203 { sh4a_sem_tst_compact, "TST_COMPACT", SH4A_INSN_TST_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
204 { sh4a_sem_tsti_compact, "TSTI_COMPACT", SH4A_INSN_TSTI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
205 { sh4a_sem_tstb_compact, "TSTB_COMPACT", SH4A_INSN_TSTB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
206 { sh4a_sem_xor_compact, "XOR_COMPACT", SH4A_INSN_XOR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
207 { sh4a_sem_xori_compact, "XORI_COMPACT", SH4A_INSN_XORI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
208 { sh4a_sem_xorb_compact, "XORB_COMPACT", SH4A_INSN_XORB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
209 { sh4a_sem_xtrct_compact, "XTRCT_COMPACT", SH4A_INSN_XTRCT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
213 // Given a canonical virtual insn id, return the target specific one.
216 sh4a_idesc::lookup_virtual (virtual_insn_type vit)
220 case VIRTUAL_INSN_INVALID: return SH4A_INSN_X_INVALID;
221 case VIRTUAL_INSN_COND: return SH4A_INSN_X_INVALID;
227 // Declare extractor functions
230 sh4a_extract_sfmt_empty (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
232 sh4a_extract_sfmt_add_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
234 sh4a_extract_sfmt_addi_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
236 sh4a_extract_sfmt_addc_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
238 sh4a_extract_sfmt_addv_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
240 sh4a_extract_sfmt_and_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
242 sh4a_extract_sfmt_andi_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
244 sh4a_extract_sfmt_andb_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
246 sh4a_extract_sfmt_bf_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
248 sh4a_extract_sfmt_bfs_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
250 sh4a_extract_sfmt_bra_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
252 sh4a_extract_sfmt_braf_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
254 sh4a_extract_sfmt_bsr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
256 sh4a_extract_sfmt_bsrf_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
258 sh4a_extract_sfmt_clrmac_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
260 sh4a_extract_sfmt_clrs_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
262 sh4a_extract_sfmt_clrt_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
264 sh4a_extract_sfmt_cmpeq_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
266 sh4a_extract_sfmt_cmpeqi_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
268 sh4a_extract_sfmt_cmppl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
270 sh4a_extract_sfmt_div0s_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
272 sh4a_extract_sfmt_div0u_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
274 sh4a_extract_sfmt_div1_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
276 sh4a_extract_sfmt_dmulsl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
278 sh4a_extract_sfmt_dt_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
280 sh4a_extract_sfmt_extsb_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
282 sh4a_extract_sfmt_fabs_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
284 sh4a_extract_sfmt_fadd_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
286 sh4a_extract_sfmt_fcmpeq_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
288 sh4a_extract_sfmt_fipr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
290 sh4a_extract_sfmt_flds_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
292 sh4a_extract_sfmt_fldi0_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
294 sh4a_extract_sfmt_float_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
296 sh4a_extract_sfmt_fmac_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
298 sh4a_extract_sfmt_fmov1_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
300 sh4a_extract_sfmt_fmov2_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
302 sh4a_extract_sfmt_fmov3_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
304 sh4a_extract_sfmt_fmov4_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
306 sh4a_extract_sfmt_fmov5_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
308 sh4a_extract_sfmt_fmov6_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
310 sh4a_extract_sfmt_fmov7_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
312 sh4a_extract_sfmt_frchg_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
314 sh4a_extract_sfmt_fschg_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
316 sh4a_extract_sfmt_fsts_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
318 sh4a_extract_sfmt_ftrc_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
320 sh4a_extract_sfmt_ftrv_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
322 sh4a_extract_sfmt_ldc_gbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
324 sh4a_extract_sfmt_ldc_vbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
326 sh4a_extract_sfmt_ldc_sr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
328 sh4a_extract_sfmt_ldcl_gbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
330 sh4a_extract_sfmt_ldcl_vbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
332 sh4a_extract_sfmt_lds_fpscr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
334 sh4a_extract_sfmt_ldsl_fpscr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
336 sh4a_extract_sfmt_lds_fpul_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
338 sh4a_extract_sfmt_ldsl_fpul_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
340 sh4a_extract_sfmt_lds_mach_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
342 sh4a_extract_sfmt_ldsl_mach_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
344 sh4a_extract_sfmt_lds_macl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
346 sh4a_extract_sfmt_ldsl_macl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
348 sh4a_extract_sfmt_lds_pr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
350 sh4a_extract_sfmt_ldsl_pr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
352 sh4a_extract_sfmt_macl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
354 sh4a_extract_sfmt_macw_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
356 sh4a_extract_sfmt_mov_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
358 sh4a_extract_sfmt_movi_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
360 sh4a_extract_sfmt_movb1_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
362 sh4a_extract_sfmt_movb2_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
364 sh4a_extract_sfmt_movb3_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
366 sh4a_extract_sfmt_movb4_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
368 sh4a_extract_sfmt_movb5_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
370 sh4a_extract_sfmt_movb6_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
372 sh4a_extract_sfmt_movb7_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
374 sh4a_extract_sfmt_movb8_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
376 sh4a_extract_sfmt_movb9_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
378 sh4a_extract_sfmt_movb10_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
380 sh4a_extract_sfmt_movl1_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
382 sh4a_extract_sfmt_movl2_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
384 sh4a_extract_sfmt_movl3_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
386 sh4a_extract_sfmt_movl4_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
388 sh4a_extract_sfmt_movl5_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
390 sh4a_extract_sfmt_movl6_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
392 sh4a_extract_sfmt_movl7_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
394 sh4a_extract_sfmt_movl8_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
396 sh4a_extract_sfmt_movl9_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
398 sh4a_extract_sfmt_movl10_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
400 sh4a_extract_sfmt_movl11_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
402 sh4a_extract_sfmt_movw1_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
404 sh4a_extract_sfmt_movw2_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
406 sh4a_extract_sfmt_movw3_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
408 sh4a_extract_sfmt_movw4_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
410 sh4a_extract_sfmt_movw5_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
412 sh4a_extract_sfmt_movw6_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
414 sh4a_extract_sfmt_movw7_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
416 sh4a_extract_sfmt_movw8_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
418 sh4a_extract_sfmt_movw9_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
420 sh4a_extract_sfmt_movw10_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
422 sh4a_extract_sfmt_movw11_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
424 sh4a_extract_sfmt_mova_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
426 sh4a_extract_sfmt_movcal_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
428 sh4a_extract_sfmt_movcol_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
430 sh4a_extract_sfmt_movt_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
432 sh4a_extract_sfmt_movual_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
434 sh4a_extract_sfmt_movual2_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
436 sh4a_extract_sfmt_mull_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
438 sh4a_extract_sfmt_negc_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
440 sh4a_extract_sfmt_nop_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
442 sh4a_extract_sfmt_pref_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
444 sh4a_extract_sfmt_rotcl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
446 sh4a_extract_sfmt_rts_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
448 sh4a_extract_sfmt_shad_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
450 sh4a_extract_sfmt_stc_gbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
452 sh4a_extract_sfmt_stc_vbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
454 sh4a_extract_sfmt_stcl_gbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
456 sh4a_extract_sfmt_stcl_vbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
458 sh4a_extract_sfmt_sts_fpscr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
460 sh4a_extract_sfmt_stsl_fpscr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
462 sh4a_extract_sfmt_sts_fpul_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
464 sh4a_extract_sfmt_stsl_fpul_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
466 sh4a_extract_sfmt_sts_mach_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
468 sh4a_extract_sfmt_stsl_mach_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
470 sh4a_extract_sfmt_sts_macl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
472 sh4a_extract_sfmt_stsl_macl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
474 sh4a_extract_sfmt_sts_pr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
476 sh4a_extract_sfmt_stsl_pr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
478 sh4a_extract_sfmt_tasb_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
480 sh4a_extract_sfmt_trapa_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
482 sh4a_extract_sfmt_tsti_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
484 sh4a_extract_sfmt_tstb_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn);
486 // Fetch & decode instruction
488 sh4a_scache::decode (sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn)
490 /* Result of decoder. */
491 SH4A_INSN_TYPE itype;
494 sh4a_insn_word insn = base_insn;
497 unsigned int val = (((insn >> 21) & (15 << 7)) | ((insn >> 16) & (127 << 0)));
502 unsigned int val = (((insn >> 23) & (1 << 0)));
506 entire_insn = entire_insn >> 16;
507 itype = SH4A_INSN_BSRF_COMPACT; sh4a_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
509 entire_insn = entire_insn >> 16;
510 itype = SH4A_INSN_PREF_COMPACT; sh4a_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
511 default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
514 case 4 : /* fall through */
515 case 20 : /* fall through */
516 case 36 : /* fall through */
517 case 52 : /* fall through */
518 case 68 : /* fall through */
519 case 84 : /* fall through */
520 case 100 : /* fall through */
522 entire_insn = entire_insn >> 16;
523 itype = SH4A_INSN_MOVB3_COMPACT; sh4a_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
524 case 5 : /* fall through */
525 case 21 : /* fall through */
526 case 37 : /* fall through */
527 case 53 : /* fall through */
528 case 69 : /* fall through */
529 case 85 : /* fall through */
530 case 101 : /* fall through */
532 entire_insn = entire_insn >> 16;
533 itype = SH4A_INSN_MOVW3_COMPACT; sh4a_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
534 case 6 : /* fall through */
535 case 22 : /* fall through */
536 case 38 : /* fall through */
537 case 54 : /* fall through */
538 case 70 : /* fall through */
539 case 86 : /* fall through */
540 case 102 : /* fall through */
542 entire_insn = entire_insn >> 16;
543 itype = SH4A_INSN_MOVL3_COMPACT; sh4a_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
544 case 7 : /* fall through */
545 case 23 : /* fall through */
546 case 39 : /* fall through */
547 case 55 : /* fall through */
548 case 71 : /* fall through */
549 case 87 : /* fall through */
550 case 103 : /* fall through */
552 entire_insn = entire_insn >> 16;
553 itype = SH4A_INSN_MULL_COMPACT; sh4a_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
555 entire_insn = entire_insn >> 16;
556 if ((entire_insn & 0xffff) == 0x8)
557 { itype = SH4A_INSN_CLRT_COMPACT; sh4a_extract_sfmt_clrt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
558 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
560 entire_insn = entire_insn >> 16;
561 if ((entire_insn & 0xffff) == 0x9)
562 { itype = SH4A_INSN_NOP_COMPACT; sh4a_extract_sfmt_nop_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
563 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
565 entire_insn = entire_insn >> 16;
566 if ((entire_insn & 0xf0ff) == 0xa)
567 { itype = SH4A_INSN_STS_MACH_COMPACT; sh4a_extract_sfmt_sts_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
568 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
570 entire_insn = entire_insn >> 16;
571 if ((entire_insn & 0xffff) == 0xb)
572 { itype = SH4A_INSN_RTS_COMPACT; sh4a_extract_sfmt_rts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
573 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
574 case 12 : /* fall through */
575 case 28 : /* fall through */
576 case 44 : /* fall through */
577 case 60 : /* fall through */
578 case 76 : /* fall through */
579 case 92 : /* fall through */
580 case 108 : /* fall through */
582 entire_insn = entire_insn >> 16;
583 itype = SH4A_INSN_MOVB8_COMPACT; sh4a_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
584 case 13 : /* fall through */
585 case 29 : /* fall through */
586 case 45 : /* fall through */
587 case 61 : /* fall through */
588 case 77 : /* fall through */
589 case 93 : /* fall through */
590 case 109 : /* fall through */
592 entire_insn = entire_insn >> 16;
593 itype = SH4A_INSN_MOVW8_COMPACT; sh4a_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
594 case 14 : /* fall through */
595 case 30 : /* fall through */
596 case 46 : /* fall through */
597 case 62 : /* fall through */
598 case 78 : /* fall through */
599 case 94 : /* fall through */
600 case 110 : /* fall through */
602 entire_insn = entire_insn >> 16;
603 itype = SH4A_INSN_MOVL8_COMPACT; sh4a_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
604 case 15 : /* fall through */
605 case 31 : /* fall through */
606 case 47 : /* fall through */
607 case 63 : /* fall through */
608 case 79 : /* fall through */
609 case 95 : /* fall through */
610 case 111 : /* fall through */
612 entire_insn = entire_insn >> 16;
613 itype = SH4A_INSN_MACL_COMPACT; sh4a_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
615 entire_insn = entire_insn >> 16;
616 if ((entire_insn & 0xf0ff) == 0x12)
617 { itype = SH4A_INSN_STC_GBR_COMPACT; sh4a_extract_sfmt_stc_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
618 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
620 entire_insn = entire_insn >> 16;
621 if ((entire_insn & 0xf0ff) == 0x93)
622 { itype = SH4A_INSN_OCBI_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
623 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
625 entire_insn = entire_insn >> 16;
626 if ((entire_insn & 0xffff) == 0x18)
627 { itype = SH4A_INSN_SETT_COMPACT; sh4a_extract_sfmt_clrt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
628 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
630 entire_insn = entire_insn >> 16;
631 if ((entire_insn & 0xffff) == 0x19)
632 { itype = SH4A_INSN_DIV0U_COMPACT; sh4a_extract_sfmt_div0u_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
633 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
635 entire_insn = entire_insn >> 16;
636 if ((entire_insn & 0xf0ff) == 0x1a)
637 { itype = SH4A_INSN_STS_MACL_COMPACT; sh4a_extract_sfmt_sts_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
638 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
640 entire_insn = entire_insn >> 16;
641 if ((entire_insn & 0xf0ff) == 0x22)
642 { itype = SH4A_INSN_STC_VBR_COMPACT; sh4a_extract_sfmt_stc_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
643 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
646 unsigned int val = (((insn >> 23) & (1 << 0)));
650 entire_insn = entire_insn >> 16;
651 itype = SH4A_INSN_BRAF_COMPACT; sh4a_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
653 entire_insn = entire_insn >> 16;
654 itype = SH4A_INSN_OCBP_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
655 default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
659 entire_insn = entire_insn >> 16;
660 if ((entire_insn & 0xffff) == 0x28)
661 { itype = SH4A_INSN_CLRMAC_COMPACT; sh4a_extract_sfmt_clrmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
662 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
664 entire_insn = entire_insn >> 16;
665 if ((entire_insn & 0xf0ff) == 0x29)
666 { itype = SH4A_INSN_MOVT_COMPACT; sh4a_extract_sfmt_movt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
667 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
669 entire_insn = entire_insn >> 16;
670 if ((entire_insn & 0xf0ff) == 0x2a)
671 { itype = SH4A_INSN_STS_PR_COMPACT; sh4a_extract_sfmt_sts_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
672 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
674 entire_insn = entire_insn >> 16;
675 if ((entire_insn & 0xf0ff) == 0xb3)
676 { itype = SH4A_INSN_OCBWB_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
677 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
679 entire_insn = entire_insn >> 16;
680 if ((entire_insn & 0xf0ff) == 0xc3)
681 { itype = SH4A_INSN_MOVCAL_COMPACT; sh4a_extract_sfmt_movcal_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
682 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
684 entire_insn = entire_insn >> 16;
685 if ((entire_insn & 0xffff) == 0x48)
686 { itype = SH4A_INSN_CLRS_COMPACT; sh4a_extract_sfmt_clrs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
687 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
689 entire_insn = entire_insn >> 16;
690 if ((entire_insn & 0xffff) == 0x58)
691 { itype = SH4A_INSN_SETS_COMPACT; sh4a_extract_sfmt_clrs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
692 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
694 entire_insn = entire_insn >> 16;
695 if ((entire_insn & 0xf0ff) == 0x5a)
696 { itype = SH4A_INSN_STS_FPUL_COMPACT; sh4a_extract_sfmt_sts_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
697 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
699 entire_insn = entire_insn >> 16;
700 if ((entire_insn & 0xf0ff) == 0x6a)
701 { itype = SH4A_INSN_STS_FPSCR_COMPACT; sh4a_extract_sfmt_sts_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
702 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
704 entire_insn = entire_insn >> 16;
705 if ((entire_insn & 0xf0ff) == 0x73)
706 { itype = SH4A_INSN_MOVCOL_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
707 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
708 case 128 : /* fall through */
709 case 129 : /* fall through */
710 case 130 : /* fall through */
711 case 131 : /* fall through */
712 case 132 : /* fall through */
713 case 133 : /* fall through */
714 case 134 : /* fall through */
715 case 135 : /* fall through */
716 case 136 : /* fall through */
717 case 137 : /* fall through */
718 case 138 : /* fall through */
719 case 139 : /* fall through */
720 case 140 : /* fall through */
721 case 141 : /* fall through */
722 case 142 : /* fall through */
723 case 143 : /* fall through */
724 case 144 : /* fall through */
725 case 145 : /* fall through */
726 case 146 : /* fall through */
727 case 147 : /* fall through */
728 case 148 : /* fall through */
729 case 149 : /* fall through */
730 case 150 : /* fall through */
731 case 151 : /* fall through */
732 case 152 : /* fall through */
733 case 153 : /* fall through */
734 case 154 : /* fall through */
735 case 155 : /* fall through */
736 case 156 : /* fall through */
737 case 157 : /* fall through */
738 case 158 : /* fall through */
739 case 159 : /* fall through */
740 case 160 : /* fall through */
741 case 161 : /* fall through */
742 case 162 : /* fall through */
743 case 163 : /* fall through */
744 case 164 : /* fall through */
745 case 165 : /* fall through */
746 case 166 : /* fall through */
747 case 167 : /* fall through */
748 case 168 : /* fall through */
749 case 169 : /* fall through */
750 case 170 : /* fall through */
751 case 171 : /* fall through */
752 case 172 : /* fall through */
753 case 173 : /* fall through */
754 case 174 : /* fall through */
755 case 175 : /* fall through */
756 case 176 : /* fall through */
757 case 177 : /* fall through */
758 case 178 : /* fall through */
759 case 179 : /* fall through */
760 case 180 : /* fall through */
761 case 181 : /* fall through */
762 case 182 : /* fall through */
763 case 183 : /* fall through */
764 case 184 : /* fall through */
765 case 185 : /* fall through */
766 case 186 : /* fall through */
767 case 187 : /* fall through */
768 case 188 : /* fall through */
769 case 189 : /* fall through */
770 case 190 : /* fall through */
771 case 191 : /* fall through */
772 case 192 : /* fall through */
773 case 193 : /* fall through */
774 case 194 : /* fall through */
775 case 195 : /* fall through */
776 case 196 : /* fall through */
777 case 197 : /* fall through */
778 case 198 : /* fall through */
779 case 199 : /* fall through */
780 case 200 : /* fall through */
781 case 201 : /* fall through */
782 case 202 : /* fall through */
783 case 203 : /* fall through */
784 case 204 : /* fall through */
785 case 205 : /* fall through */
786 case 206 : /* fall through */
787 case 207 : /* fall through */
788 case 208 : /* fall through */
789 case 209 : /* fall through */
790 case 210 : /* fall through */
791 case 211 : /* fall through */
792 case 212 : /* fall through */
793 case 213 : /* fall through */
794 case 214 : /* fall through */
795 case 215 : /* fall through */
796 case 216 : /* fall through */
797 case 217 : /* fall through */
798 case 218 : /* fall through */
799 case 219 : /* fall through */
800 case 220 : /* fall through */
801 case 221 : /* fall through */
802 case 222 : /* fall through */
803 case 223 : /* fall through */
804 case 224 : /* fall through */
805 case 225 : /* fall through */
806 case 226 : /* fall through */
807 case 227 : /* fall through */
808 case 228 : /* fall through */
809 case 229 : /* fall through */
810 case 230 : /* fall through */
811 case 231 : /* fall through */
812 case 232 : /* fall through */
813 case 233 : /* fall through */
814 case 234 : /* fall through */
815 case 235 : /* fall through */
816 case 236 : /* fall through */
817 case 237 : /* fall through */
818 case 238 : /* fall through */
819 case 239 : /* fall through */
820 case 240 : /* fall through */
821 case 241 : /* fall through */
822 case 242 : /* fall through */
823 case 243 : /* fall through */
824 case 244 : /* fall through */
825 case 245 : /* fall through */
826 case 246 : /* fall through */
827 case 247 : /* fall through */
828 case 248 : /* fall through */
829 case 249 : /* fall through */
830 case 250 : /* fall through */
831 case 251 : /* fall through */
832 case 252 : /* fall through */
833 case 253 : /* fall through */
834 case 254 : /* fall through */
836 entire_insn = entire_insn >> 16;
837 itype = SH4A_INSN_MOVL5_COMPACT; sh4a_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
838 case 256 : /* fall through */
839 case 272 : /* fall through */
840 case 288 : /* fall through */
841 case 304 : /* fall through */
842 case 320 : /* fall through */
843 case 336 : /* fall through */
844 case 352 : /* fall through */
846 entire_insn = entire_insn >> 16;
847 itype = SH4A_INSN_MOVB1_COMPACT; sh4a_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
848 case 257 : /* fall through */
849 case 273 : /* fall through */
850 case 289 : /* fall through */
851 case 305 : /* fall through */
852 case 321 : /* fall through */
853 case 337 : /* fall through */
854 case 353 : /* fall through */
856 entire_insn = entire_insn >> 16;
857 itype = SH4A_INSN_MOVW1_COMPACT; sh4a_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
858 case 258 : /* fall through */
859 case 274 : /* fall through */
860 case 290 : /* fall through */
861 case 306 : /* fall through */
862 case 322 : /* fall through */
863 case 338 : /* fall through */
864 case 354 : /* fall through */
866 entire_insn = entire_insn >> 16;
867 itype = SH4A_INSN_MOVL1_COMPACT; sh4a_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
868 case 260 : /* fall through */
869 case 276 : /* fall through */
870 case 292 : /* fall through */
871 case 308 : /* fall through */
872 case 324 : /* fall through */
873 case 340 : /* fall through */
874 case 356 : /* fall through */
876 entire_insn = entire_insn >> 16;
877 itype = SH4A_INSN_MOVB2_COMPACT; sh4a_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
878 case 261 : /* fall through */
879 case 277 : /* fall through */
880 case 293 : /* fall through */
881 case 309 : /* fall through */
882 case 325 : /* fall through */
883 case 341 : /* fall through */
884 case 357 : /* fall through */
886 entire_insn = entire_insn >> 16;
887 itype = SH4A_INSN_MOVW2_COMPACT; sh4a_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
888 case 262 : /* fall through */
889 case 278 : /* fall through */
890 case 294 : /* fall through */
891 case 310 : /* fall through */
892 case 326 : /* fall through */
893 case 342 : /* fall through */
894 case 358 : /* fall through */
896 entire_insn = entire_insn >> 16;
897 itype = SH4A_INSN_MOVL2_COMPACT; sh4a_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
898 case 263 : /* fall through */
899 case 279 : /* fall through */
900 case 295 : /* fall through */
901 case 311 : /* fall through */
902 case 327 : /* fall through */
903 case 343 : /* fall through */
904 case 359 : /* fall through */
906 entire_insn = entire_insn >> 16;
907 itype = SH4A_INSN_DIV0S_COMPACT; sh4a_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
908 case 264 : /* fall through */
909 case 280 : /* fall through */
910 case 296 : /* fall through */
911 case 312 : /* fall through */
912 case 328 : /* fall through */
913 case 344 : /* fall through */
914 case 360 : /* fall through */
916 entire_insn = entire_insn >> 16;
917 itype = SH4A_INSN_TST_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
918 case 265 : /* fall through */
919 case 281 : /* fall through */
920 case 297 : /* fall through */
921 case 313 : /* fall through */
922 case 329 : /* fall through */
923 case 345 : /* fall through */
924 case 361 : /* fall through */
926 entire_insn = entire_insn >> 16;
927 itype = SH4A_INSN_AND_COMPACT; sh4a_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
928 case 266 : /* fall through */
929 case 282 : /* fall through */
930 case 298 : /* fall through */
931 case 314 : /* fall through */
932 case 330 : /* fall through */
933 case 346 : /* fall through */
934 case 362 : /* fall through */
936 entire_insn = entire_insn >> 16;
937 itype = SH4A_INSN_XOR_COMPACT; sh4a_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
938 case 267 : /* fall through */
939 case 283 : /* fall through */
940 case 299 : /* fall through */
941 case 315 : /* fall through */
942 case 331 : /* fall through */
943 case 347 : /* fall through */
944 case 363 : /* fall through */
946 entire_insn = entire_insn >> 16;
947 itype = SH4A_INSN_OR_COMPACT; sh4a_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
948 case 268 : /* fall through */
949 case 284 : /* fall through */
950 case 300 : /* fall through */
951 case 316 : /* fall through */
952 case 332 : /* fall through */
953 case 348 : /* fall through */
954 case 364 : /* fall through */
956 entire_insn = entire_insn >> 16;
957 itype = SH4A_INSN_CMPSTR_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
958 case 269 : /* fall through */
959 case 285 : /* fall through */
960 case 301 : /* fall through */
961 case 317 : /* fall through */
962 case 333 : /* fall through */
963 case 349 : /* fall through */
964 case 365 : /* fall through */
966 entire_insn = entire_insn >> 16;
967 itype = SH4A_INSN_XTRCT_COMPACT; sh4a_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
968 case 270 : /* fall through */
969 case 286 : /* fall through */
970 case 302 : /* fall through */
971 case 318 : /* fall through */
972 case 334 : /* fall through */
973 case 350 : /* fall through */
974 case 366 : /* fall through */
976 entire_insn = entire_insn >> 16;
977 itype = SH4A_INSN_MULUW_COMPACT; sh4a_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
978 case 271 : /* fall through */
979 case 287 : /* fall through */
980 case 303 : /* fall through */
981 case 319 : /* fall through */
982 case 335 : /* fall through */
983 case 351 : /* fall through */
984 case 367 : /* fall through */
986 entire_insn = entire_insn >> 16;
987 itype = SH4A_INSN_MULSW_COMPACT; sh4a_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
988 case 384 : /* fall through */
989 case 400 : /* fall through */
990 case 416 : /* fall through */
991 case 432 : /* fall through */
992 case 448 : /* fall through */
993 case 464 : /* fall through */
994 case 480 : /* fall through */
996 entire_insn = entire_insn >> 16;
997 itype = SH4A_INSN_CMPEQ_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
998 case 386 : /* fall through */
999 case 402 : /* fall through */
1000 case 418 : /* fall through */
1001 case 434 : /* fall through */
1002 case 450 : /* fall through */
1003 case 466 : /* fall through */
1004 case 482 : /* fall through */
1006 entire_insn = entire_insn >> 16;
1007 itype = SH4A_INSN_CMPHS_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1008 case 387 : /* fall through */
1009 case 403 : /* fall through */
1010 case 419 : /* fall through */
1011 case 435 : /* fall through */
1012 case 451 : /* fall through */
1013 case 467 : /* fall through */
1014 case 483 : /* fall through */
1016 entire_insn = entire_insn >> 16;
1017 itype = SH4A_INSN_CMPGE_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1018 case 388 : /* fall through */
1019 case 404 : /* fall through */
1020 case 420 : /* fall through */
1021 case 436 : /* fall through */
1022 case 452 : /* fall through */
1023 case 468 : /* fall through */
1024 case 484 : /* fall through */
1026 entire_insn = entire_insn >> 16;
1027 itype = SH4A_INSN_DIV1_COMPACT; sh4a_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1028 case 389 : /* fall through */
1029 case 405 : /* fall through */
1030 case 421 : /* fall through */
1031 case 437 : /* fall through */
1032 case 453 : /* fall through */
1033 case 469 : /* fall through */
1034 case 485 : /* fall through */
1036 entire_insn = entire_insn >> 16;
1037 itype = SH4A_INSN_DMULUL_COMPACT; sh4a_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1038 case 390 : /* fall through */
1039 case 406 : /* fall through */
1040 case 422 : /* fall through */
1041 case 438 : /* fall through */
1042 case 454 : /* fall through */
1043 case 470 : /* fall through */
1044 case 486 : /* fall through */
1046 entire_insn = entire_insn >> 16;
1047 itype = SH4A_INSN_CMPHI_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1048 case 391 : /* fall through */
1049 case 407 : /* fall through */
1050 case 423 : /* fall through */
1051 case 439 : /* fall through */
1052 case 455 : /* fall through */
1053 case 471 : /* fall through */
1054 case 487 : /* fall through */
1056 entire_insn = entire_insn >> 16;
1057 itype = SH4A_INSN_CMPGT_COMPACT; sh4a_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1058 case 392 : /* fall through */
1059 case 408 : /* fall through */
1060 case 424 : /* fall through */
1061 case 440 : /* fall through */
1062 case 456 : /* fall through */
1063 case 472 : /* fall through */
1064 case 488 : /* fall through */
1066 entire_insn = entire_insn >> 16;
1067 itype = SH4A_INSN_SUB_COMPACT; sh4a_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1068 case 394 : /* fall through */
1069 case 410 : /* fall through */
1070 case 426 : /* fall through */
1071 case 442 : /* fall through */
1072 case 458 : /* fall through */
1073 case 474 : /* fall through */
1074 case 490 : /* fall through */
1076 entire_insn = entire_insn >> 16;
1077 itype = SH4A_INSN_SUBC_COMPACT; sh4a_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1078 case 395 : /* fall through */
1079 case 411 : /* fall through */
1080 case 427 : /* fall through */
1081 case 443 : /* fall through */
1082 case 459 : /* fall through */
1083 case 475 : /* fall through */
1084 case 491 : /* fall through */
1086 entire_insn = entire_insn >> 16;
1087 itype = SH4A_INSN_SUBV_COMPACT; sh4a_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1088 case 396 : /* fall through */
1089 case 412 : /* fall through */
1090 case 428 : /* fall through */
1091 case 444 : /* fall through */
1092 case 460 : /* fall through */
1093 case 476 : /* fall through */
1094 case 492 : /* fall through */
1096 entire_insn = entire_insn >> 16;
1097 itype = SH4A_INSN_ADD_COMPACT; sh4a_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1098 case 397 : /* fall through */
1099 case 413 : /* fall through */
1100 case 429 : /* fall through */
1101 case 445 : /* fall through */
1102 case 461 : /* fall through */
1103 case 477 : /* fall through */
1104 case 493 : /* fall through */
1106 entire_insn = entire_insn >> 16;
1107 itype = SH4A_INSN_DMULSL_COMPACT; sh4a_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1108 case 398 : /* fall through */
1109 case 414 : /* fall through */
1110 case 430 : /* fall through */
1111 case 446 : /* fall through */
1112 case 462 : /* fall through */
1113 case 478 : /* fall through */
1114 case 494 : /* fall through */
1116 entire_insn = entire_insn >> 16;
1117 itype = SH4A_INSN_ADDC_COMPACT; sh4a_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1118 case 399 : /* fall through */
1119 case 415 : /* fall through */
1120 case 431 : /* fall through */
1121 case 447 : /* fall through */
1122 case 463 : /* fall through */
1123 case 479 : /* fall through */
1124 case 495 : /* fall through */
1126 entire_insn = entire_insn >> 16;
1127 itype = SH4A_INSN_ADDV_COMPACT; sh4a_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1129 entire_insn = entire_insn >> 16;
1130 if ((entire_insn & 0xf0ff) == 0x4000)
1131 { itype = SH4A_INSN_SHLL_COMPACT; sh4a_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1132 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1134 entire_insn = entire_insn >> 16;
1135 if ((entire_insn & 0xf0ff) == 0x4001)
1136 { itype = SH4A_INSN_SHLR_COMPACT; sh4a_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1137 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1139 entire_insn = entire_insn >> 16;
1140 if ((entire_insn & 0xf0ff) == 0x4002)
1141 { itype = SH4A_INSN_STSL_MACH_COMPACT; sh4a_extract_sfmt_stsl_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1142 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1144 entire_insn = entire_insn >> 16;
1145 if ((entire_insn & 0xf0ff) == 0x4004)
1146 { itype = SH4A_INSN_ROTL_COMPACT; sh4a_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1147 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1149 entire_insn = entire_insn >> 16;
1150 if ((entire_insn & 0xf0ff) == 0x4005)
1151 { itype = SH4A_INSN_ROTR_COMPACT; sh4a_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1152 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1154 entire_insn = entire_insn >> 16;
1155 if ((entire_insn & 0xf0ff) == 0x4006)
1156 { itype = SH4A_INSN_LDSL_MACH_COMPACT; sh4a_extract_sfmt_ldsl_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1157 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1159 entire_insn = entire_insn >> 16;
1160 if ((entire_insn & 0xf0ff) == 0x4008)
1161 { itype = SH4A_INSN_SHLL2_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1162 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1164 entire_insn = entire_insn >> 16;
1165 if ((entire_insn & 0xf0ff) == 0x4009)
1166 { itype = SH4A_INSN_SHLR2_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1167 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1169 entire_insn = entire_insn >> 16;
1170 if ((entire_insn & 0xf0ff) == 0x400a)
1171 { itype = SH4A_INSN_LDS_MACH_COMPACT; sh4a_extract_sfmt_lds_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1172 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1174 entire_insn = entire_insn >> 16;
1175 if ((entire_insn & 0xf0ff) == 0x400b)
1176 { itype = SH4A_INSN_JSR_COMPACT; sh4a_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1177 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1178 case 524 : /* fall through */
1179 case 540 : /* fall through */
1180 case 556 : /* fall through */
1181 case 572 : /* fall through */
1182 case 588 : /* fall through */
1183 case 604 : /* fall through */
1184 case 620 : /* fall through */
1186 entire_insn = entire_insn >> 16;
1187 itype = SH4A_INSN_SHAD_COMPACT; sh4a_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1188 case 525 : /* fall through */
1189 case 541 : /* fall through */
1190 case 557 : /* fall through */
1191 case 573 : /* fall through */
1192 case 589 : /* fall through */
1193 case 605 : /* fall through */
1194 case 621 : /* fall through */
1196 entire_insn = entire_insn >> 16;
1197 itype = SH4A_INSN_SHLD_COMPACT; sh4a_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1199 entire_insn = entire_insn >> 16;
1200 if ((entire_insn & 0xf0ff) == 0x400e)
1201 { itype = SH4A_INSN_LDC_SR_COMPACT; sh4a_extract_sfmt_ldc_sr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1202 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1203 case 527 : /* fall through */
1204 case 543 : /* fall through */
1205 case 559 : /* fall through */
1206 case 575 : /* fall through */
1207 case 591 : /* fall through */
1208 case 607 : /* fall through */
1209 case 623 : /* fall through */
1211 entire_insn = entire_insn >> 16;
1212 itype = SH4A_INSN_MACW_COMPACT; sh4a_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1214 entire_insn = entire_insn >> 16;
1215 if ((entire_insn & 0xf0ff) == 0x4010)
1216 { itype = SH4A_INSN_DT_COMPACT; sh4a_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1217 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1219 entire_insn = entire_insn >> 16;
1220 if ((entire_insn & 0xf0ff) == 0x4011)
1221 { itype = SH4A_INSN_CMPPZ_COMPACT; sh4a_extract_sfmt_cmppl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1222 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1224 entire_insn = entire_insn >> 16;
1225 if ((entire_insn & 0xf0ff) == 0x4012)
1226 { itype = SH4A_INSN_STSL_MACL_COMPACT; sh4a_extract_sfmt_stsl_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1227 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1229 entire_insn = entire_insn >> 16;
1230 if ((entire_insn & 0xf0ff) == 0x4013)
1231 { itype = SH4A_INSN_STCL_GBR_COMPACT; sh4a_extract_sfmt_stcl_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1232 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1234 entire_insn = entire_insn >> 16;
1235 if ((entire_insn & 0xf0ff) == 0x4015)
1236 { itype = SH4A_INSN_CMPPL_COMPACT; sh4a_extract_sfmt_cmppl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1237 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1239 entire_insn = entire_insn >> 16;
1240 if ((entire_insn & 0xf0ff) == 0x4016)
1241 { itype = SH4A_INSN_LDSL_MACL_COMPACT; sh4a_extract_sfmt_ldsl_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1242 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1244 entire_insn = entire_insn >> 16;
1245 if ((entire_insn & 0xf0ff) == 0x4017)
1246 { itype = SH4A_INSN_LDCL_GBR_COMPACT; sh4a_extract_sfmt_ldcl_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1247 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1249 entire_insn = entire_insn >> 16;
1250 if ((entire_insn & 0xf0ff) == 0x4018)
1251 { itype = SH4A_INSN_SHLL8_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1252 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1254 entire_insn = entire_insn >> 16;
1255 if ((entire_insn & 0xf0ff) == 0x4019)
1256 { itype = SH4A_INSN_SHLR8_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1257 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1259 entire_insn = entire_insn >> 16;
1260 if ((entire_insn & 0xf0ff) == 0x401a)
1261 { itype = SH4A_INSN_LDS_MACL_COMPACT; sh4a_extract_sfmt_lds_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1262 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1264 entire_insn = entire_insn >> 16;
1265 if ((entire_insn & 0xf0ff) == 0x401b)
1266 { itype = SH4A_INSN_TASB_COMPACT; sh4a_extract_sfmt_tasb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1267 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1269 entire_insn = entire_insn >> 16;
1270 if ((entire_insn & 0xf0ff) == 0x401e)
1271 { itype = SH4A_INSN_LDC_GBR_COMPACT; sh4a_extract_sfmt_ldc_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1272 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1274 entire_insn = entire_insn >> 16;
1275 if ((entire_insn & 0xf0ff) == 0x4020)
1276 { itype = SH4A_INSN_SHAL_COMPACT; sh4a_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1277 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1279 entire_insn = entire_insn >> 16;
1280 if ((entire_insn & 0xf0ff) == 0x4021)
1281 { itype = SH4A_INSN_SHAR_COMPACT; sh4a_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1282 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1284 entire_insn = entire_insn >> 16;
1285 if ((entire_insn & 0xf0ff) == 0x4022)
1286 { itype = SH4A_INSN_STSL_PR_COMPACT; sh4a_extract_sfmt_stsl_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1287 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1289 entire_insn = entire_insn >> 16;
1290 if ((entire_insn & 0xf0ff) == 0x4023)
1291 { itype = SH4A_INSN_STCL_VBR_COMPACT; sh4a_extract_sfmt_stcl_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1292 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1294 entire_insn = entire_insn >> 16;
1295 if ((entire_insn & 0xf0ff) == 0x4024)
1296 { itype = SH4A_INSN_ROTCL_COMPACT; sh4a_extract_sfmt_rotcl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1297 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1299 entire_insn = entire_insn >> 16;
1300 if ((entire_insn & 0xf0ff) == 0x4025)
1301 { itype = SH4A_INSN_ROTCR_COMPACT; sh4a_extract_sfmt_rotcl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1302 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1304 entire_insn = entire_insn >> 16;
1305 if ((entire_insn & 0xf0ff) == 0x4026)
1306 { itype = SH4A_INSN_LDSL_PR_COMPACT; sh4a_extract_sfmt_ldsl_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1307 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1309 entire_insn = entire_insn >> 16;
1310 if ((entire_insn & 0xf0ff) == 0x4027)
1311 { itype = SH4A_INSN_LDCL_VBR_COMPACT; sh4a_extract_sfmt_ldcl_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1312 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1314 entire_insn = entire_insn >> 16;
1315 if ((entire_insn & 0xf0ff) == 0x4028)
1316 { itype = SH4A_INSN_SHLL16_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1317 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1320 unsigned int val = (((insn >> 23) & (1 << 0)));
1324 entire_insn = entire_insn >> 16;
1325 itype = SH4A_INSN_SHLR16_COMPACT; sh4a_extract_sfmt_movcol_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1327 entire_insn = entire_insn >> 16;
1328 itype = SH4A_INSN_MOVUAL_COMPACT; sh4a_extract_sfmt_movual_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1329 default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1333 entire_insn = entire_insn >> 16;
1334 if ((entire_insn & 0xf0ff) == 0x402a)
1335 { itype = SH4A_INSN_LDS_PR_COMPACT; sh4a_extract_sfmt_lds_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1336 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1338 entire_insn = entire_insn >> 16;
1339 if ((entire_insn & 0xf0ff) == 0x402b)
1340 { itype = SH4A_INSN_JMP_COMPACT; sh4a_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1341 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1343 entire_insn = entire_insn >> 16;
1344 if ((entire_insn & 0xf0ff) == 0x402e)
1345 { itype = SH4A_INSN_LDC_VBR_COMPACT; sh4a_extract_sfmt_ldc_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1346 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1348 entire_insn = entire_insn >> 16;
1349 if ((entire_insn & 0xf0ff) == 0x4052)
1350 { itype = SH4A_INSN_STSL_FPUL_COMPACT; sh4a_extract_sfmt_stsl_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1351 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1353 entire_insn = entire_insn >> 16;
1354 if ((entire_insn & 0xf0ff) == 0x4056)
1355 { itype = SH4A_INSN_LDSL_FPUL_COMPACT; sh4a_extract_sfmt_ldsl_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1356 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1358 entire_insn = entire_insn >> 16;
1359 if ((entire_insn & 0xf0ff) == 0x405a)
1360 { itype = SH4A_INSN_LDS_FPUL_COMPACT; sh4a_extract_sfmt_lds_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1361 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1363 entire_insn = entire_insn >> 16;
1364 if ((entire_insn & 0xf0ff) == 0x4062)
1365 { itype = SH4A_INSN_STSL_FPSCR_COMPACT; sh4a_extract_sfmt_stsl_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1366 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1368 entire_insn = entire_insn >> 16;
1369 if ((entire_insn & 0xf0ff) == 0x4066)
1370 { itype = SH4A_INSN_LDSL_FPSCR_COMPACT; sh4a_extract_sfmt_ldsl_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1371 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1373 entire_insn = entire_insn >> 16;
1374 if ((entire_insn & 0xf0ff) == 0x40e9)
1375 { itype = SH4A_INSN_MOVUAL2_COMPACT; sh4a_extract_sfmt_movual2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1376 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1378 entire_insn = entire_insn >> 16;
1379 if ((entire_insn & 0xf0ff) == 0x406a)
1380 { itype = SH4A_INSN_LDS_FPSCR_COMPACT; sh4a_extract_sfmt_lds_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1381 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1382 case 640 : /* fall through */
1383 case 641 : /* fall through */
1384 case 642 : /* fall through */
1385 case 643 : /* fall through */
1386 case 644 : /* fall through */
1387 case 645 : /* fall through */
1388 case 646 : /* fall through */
1389 case 647 : /* fall through */
1390 case 648 : /* fall through */
1391 case 649 : /* fall through */
1392 case 650 : /* fall through */
1393 case 651 : /* fall through */
1394 case 652 : /* fall through */
1395 case 653 : /* fall through */
1396 case 654 : /* fall through */
1397 case 655 : /* fall through */
1398 case 656 : /* fall through */
1399 case 657 : /* fall through */
1400 case 658 : /* fall through */
1401 case 659 : /* fall through */
1402 case 660 : /* fall through */
1403 case 661 : /* fall through */
1404 case 662 : /* fall through */
1405 case 663 : /* fall through */
1406 case 664 : /* fall through */
1407 case 665 : /* fall through */
1408 case 666 : /* fall through */
1409 case 667 : /* fall through */
1410 case 668 : /* fall through */
1411 case 669 : /* fall through */
1412 case 670 : /* fall through */
1413 case 671 : /* fall through */
1414 case 672 : /* fall through */
1415 case 673 : /* fall through */
1416 case 674 : /* fall through */
1417 case 675 : /* fall through */
1418 case 676 : /* fall through */
1419 case 677 : /* fall through */
1420 case 678 : /* fall through */
1421 case 679 : /* fall through */
1422 case 680 : /* fall through */
1423 case 681 : /* fall through */
1424 case 682 : /* fall through */
1425 case 683 : /* fall through */
1426 case 684 : /* fall through */
1427 case 685 : /* fall through */
1428 case 686 : /* fall through */
1429 case 687 : /* fall through */
1430 case 688 : /* fall through */
1431 case 689 : /* fall through */
1432 case 690 : /* fall through */
1433 case 691 : /* fall through */
1434 case 692 : /* fall through */
1435 case 693 : /* fall through */
1436 case 694 : /* fall through */
1437 case 695 : /* fall through */
1438 case 696 : /* fall through */
1439 case 697 : /* fall through */
1440 case 698 : /* fall through */
1441 case 699 : /* fall through */
1442 case 700 : /* fall through */
1443 case 701 : /* fall through */
1444 case 702 : /* fall through */
1445 case 703 : /* fall through */
1446 case 704 : /* fall through */
1447 case 705 : /* fall through */
1448 case 706 : /* fall through */
1449 case 707 : /* fall through */
1450 case 708 : /* fall through */
1451 case 709 : /* fall through */
1452 case 710 : /* fall through */
1453 case 711 : /* fall through */
1454 case 712 : /* fall through */
1455 case 713 : /* fall through */
1456 case 714 : /* fall through */
1457 case 715 : /* fall through */
1458 case 716 : /* fall through */
1459 case 717 : /* fall through */
1460 case 718 : /* fall through */
1461 case 719 : /* fall through */
1462 case 720 : /* fall through */
1463 case 721 : /* fall through */
1464 case 722 : /* fall through */
1465 case 723 : /* fall through */
1466 case 724 : /* fall through */
1467 case 725 : /* fall through */
1468 case 726 : /* fall through */
1469 case 727 : /* fall through */
1470 case 728 : /* fall through */
1471 case 729 : /* fall through */
1472 case 730 : /* fall through */
1473 case 731 : /* fall through */
1474 case 732 : /* fall through */
1475 case 733 : /* fall through */
1476 case 734 : /* fall through */
1477 case 735 : /* fall through */
1478 case 736 : /* fall through */
1479 case 737 : /* fall through */
1480 case 738 : /* fall through */
1481 case 739 : /* fall through */
1482 case 740 : /* fall through */
1483 case 741 : /* fall through */
1484 case 742 : /* fall through */
1485 case 743 : /* fall through */
1486 case 744 : /* fall through */
1487 case 745 : /* fall through */
1488 case 746 : /* fall through */
1489 case 747 : /* fall through */
1490 case 748 : /* fall through */
1491 case 749 : /* fall through */
1492 case 750 : /* fall through */
1493 case 751 : /* fall through */
1494 case 752 : /* fall through */
1495 case 753 : /* fall through */
1496 case 754 : /* fall through */
1497 case 755 : /* fall through */
1498 case 756 : /* fall through */
1499 case 757 : /* fall through */
1500 case 758 : /* fall through */
1501 case 759 : /* fall through */
1502 case 760 : /* fall through */
1503 case 761 : /* fall through */
1504 case 762 : /* fall through */
1505 case 763 : /* fall through */
1506 case 764 : /* fall through */
1507 case 765 : /* fall through */
1508 case 766 : /* fall through */
1510 entire_insn = entire_insn >> 16;
1511 itype = SH4A_INSN_MOVL11_COMPACT; sh4a_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1512 case 768 : /* fall through */
1513 case 784 : /* fall through */
1514 case 800 : /* fall through */
1515 case 816 : /* fall through */
1516 case 832 : /* fall through */
1517 case 848 : /* fall through */
1518 case 864 : /* fall through */
1520 entire_insn = entire_insn >> 16;
1521 itype = SH4A_INSN_MOVB6_COMPACT; sh4a_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1522 case 769 : /* fall through */
1523 case 785 : /* fall through */
1524 case 801 : /* fall through */
1525 case 817 : /* fall through */
1526 case 833 : /* fall through */
1527 case 849 : /* fall through */
1528 case 865 : /* fall through */
1530 entire_insn = entire_insn >> 16;
1531 itype = SH4A_INSN_MOVW6_COMPACT; sh4a_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1532 case 770 : /* fall through */
1533 case 786 : /* fall through */
1534 case 802 : /* fall through */
1535 case 818 : /* fall through */
1536 case 834 : /* fall through */
1537 case 850 : /* fall through */
1538 case 866 : /* fall through */
1540 entire_insn = entire_insn >> 16;
1541 itype = SH4A_INSN_MOVL6_COMPACT; sh4a_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1542 case 771 : /* fall through */
1543 case 787 : /* fall through */
1544 case 803 : /* fall through */
1545 case 819 : /* fall through */
1546 case 835 : /* fall through */
1547 case 851 : /* fall through */
1548 case 867 : /* fall through */
1550 entire_insn = entire_insn >> 16;
1551 itype = SH4A_INSN_MOV_COMPACT; sh4a_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1552 case 772 : /* fall through */
1553 case 788 : /* fall through */
1554 case 804 : /* fall through */
1555 case 820 : /* fall through */
1556 case 836 : /* fall through */
1557 case 852 : /* fall through */
1558 case 868 : /* fall through */
1560 entire_insn = entire_insn >> 16;
1561 itype = SH4A_INSN_MOVB7_COMPACT; sh4a_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1562 case 773 : /* fall through */
1563 case 789 : /* fall through */
1564 case 805 : /* fall through */
1565 case 821 : /* fall through */
1566 case 837 : /* fall through */
1567 case 853 : /* fall through */
1568 case 869 : /* fall through */
1570 entire_insn = entire_insn >> 16;
1571 itype = SH4A_INSN_MOVW7_COMPACT; sh4a_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1572 case 774 : /* fall through */
1573 case 790 : /* fall through */
1574 case 806 : /* fall through */
1575 case 822 : /* fall through */
1576 case 838 : /* fall through */
1577 case 854 : /* fall through */
1578 case 870 : /* fall through */
1580 entire_insn = entire_insn >> 16;
1581 itype = SH4A_INSN_MOVL7_COMPACT; sh4a_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1582 case 775 : /* fall through */
1583 case 791 : /* fall through */
1584 case 807 : /* fall through */
1585 case 823 : /* fall through */
1586 case 839 : /* fall through */
1587 case 855 : /* fall through */
1588 case 871 : /* fall through */
1590 entire_insn = entire_insn >> 16;
1591 itype = SH4A_INSN_NOT_COMPACT; sh4a_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1592 case 776 : /* fall through */
1593 case 792 : /* fall through */
1594 case 808 : /* fall through */
1595 case 824 : /* fall through */
1596 case 840 : /* fall through */
1597 case 856 : /* fall through */
1598 case 872 : /* fall through */
1600 entire_insn = entire_insn >> 16;
1601 itype = SH4A_INSN_SWAPB_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1602 case 777 : /* fall through */
1603 case 793 : /* fall through */
1604 case 809 : /* fall through */
1605 case 825 : /* fall through */
1606 case 841 : /* fall through */
1607 case 857 : /* fall through */
1608 case 873 : /* fall through */
1610 entire_insn = entire_insn >> 16;
1611 itype = SH4A_INSN_SWAPW_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1612 case 778 : /* fall through */
1613 case 794 : /* fall through */
1614 case 810 : /* fall through */
1615 case 826 : /* fall through */
1616 case 842 : /* fall through */
1617 case 858 : /* fall through */
1618 case 874 : /* fall through */
1620 entire_insn = entire_insn >> 16;
1621 itype = SH4A_INSN_NEGC_COMPACT; sh4a_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1622 case 779 : /* fall through */
1623 case 795 : /* fall through */
1624 case 811 : /* fall through */
1625 case 827 : /* fall through */
1626 case 843 : /* fall through */
1627 case 859 : /* fall through */
1628 case 875 : /* fall through */
1630 entire_insn = entire_insn >> 16;
1631 itype = SH4A_INSN_NEG_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1632 case 780 : /* fall through */
1633 case 796 : /* fall through */
1634 case 812 : /* fall through */
1635 case 828 : /* fall through */
1636 case 844 : /* fall through */
1637 case 860 : /* fall through */
1638 case 876 : /* fall through */
1640 entire_insn = entire_insn >> 16;
1641 itype = SH4A_INSN_EXTUB_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1642 case 781 : /* fall through */
1643 case 797 : /* fall through */
1644 case 813 : /* fall through */
1645 case 829 : /* fall through */
1646 case 845 : /* fall through */
1647 case 861 : /* fall through */
1648 case 877 : /* fall through */
1650 entire_insn = entire_insn >> 16;
1651 itype = SH4A_INSN_EXTUW_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1652 case 782 : /* fall through */
1653 case 798 : /* fall through */
1654 case 814 : /* fall through */
1655 case 830 : /* fall through */
1656 case 846 : /* fall through */
1657 case 862 : /* fall through */
1658 case 878 : /* fall through */
1660 entire_insn = entire_insn >> 16;
1661 itype = SH4A_INSN_EXTSB_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1662 case 783 : /* fall through */
1663 case 799 : /* fall through */
1664 case 815 : /* fall through */
1665 case 831 : /* fall through */
1666 case 847 : /* fall through */
1667 case 863 : /* fall through */
1668 case 879 : /* fall through */
1670 entire_insn = entire_insn >> 16;
1671 itype = SH4A_INSN_EXTSW_COMPACT; sh4a_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1672 case 896 : /* fall through */
1673 case 897 : /* fall through */
1674 case 898 : /* fall through */
1675 case 899 : /* fall through */
1676 case 900 : /* fall through */
1677 case 901 : /* fall through */
1678 case 902 : /* fall through */
1679 case 903 : /* fall through */
1680 case 904 : /* fall through */
1681 case 905 : /* fall through */
1682 case 906 : /* fall through */
1683 case 907 : /* fall through */
1684 case 908 : /* fall through */
1685 case 909 : /* fall through */
1686 case 910 : /* fall through */
1687 case 911 : /* fall through */
1688 case 912 : /* fall through */
1689 case 913 : /* fall through */
1690 case 914 : /* fall through */
1691 case 915 : /* fall through */
1692 case 916 : /* fall through */
1693 case 917 : /* fall through */
1694 case 918 : /* fall through */
1695 case 919 : /* fall through */
1696 case 920 : /* fall through */
1697 case 921 : /* fall through */
1698 case 922 : /* fall through */
1699 case 923 : /* fall through */
1700 case 924 : /* fall through */
1701 case 925 : /* fall through */
1702 case 926 : /* fall through */
1703 case 927 : /* fall through */
1704 case 928 : /* fall through */
1705 case 929 : /* fall through */
1706 case 930 : /* fall through */
1707 case 931 : /* fall through */
1708 case 932 : /* fall through */
1709 case 933 : /* fall through */
1710 case 934 : /* fall through */
1711 case 935 : /* fall through */
1712 case 936 : /* fall through */
1713 case 937 : /* fall through */
1714 case 938 : /* fall through */
1715 case 939 : /* fall through */
1716 case 940 : /* fall through */
1717 case 941 : /* fall through */
1718 case 942 : /* fall through */
1719 case 943 : /* fall through */
1720 case 944 : /* fall through */
1721 case 945 : /* fall through */
1722 case 946 : /* fall through */
1723 case 947 : /* fall through */
1724 case 948 : /* fall through */
1725 case 949 : /* fall through */
1726 case 950 : /* fall through */
1727 case 951 : /* fall through */
1728 case 952 : /* fall through */
1729 case 953 : /* fall through */
1730 case 954 : /* fall through */
1731 case 955 : /* fall through */
1732 case 956 : /* fall through */
1733 case 957 : /* fall through */
1734 case 958 : /* fall through */
1735 case 959 : /* fall through */
1736 case 960 : /* fall through */
1737 case 961 : /* fall through */
1738 case 962 : /* fall through */
1739 case 963 : /* fall through */
1740 case 964 : /* fall through */
1741 case 965 : /* fall through */
1742 case 966 : /* fall through */
1743 case 967 : /* fall through */
1744 case 968 : /* fall through */
1745 case 969 : /* fall through */
1746 case 970 : /* fall through */
1747 case 971 : /* fall through */
1748 case 972 : /* fall through */
1749 case 973 : /* fall through */
1750 case 974 : /* fall through */
1751 case 975 : /* fall through */
1752 case 976 : /* fall through */
1753 case 977 : /* fall through */
1754 case 978 : /* fall through */
1755 case 979 : /* fall through */
1756 case 980 : /* fall through */
1757 case 981 : /* fall through */
1758 case 982 : /* fall through */
1759 case 983 : /* fall through */
1760 case 984 : /* fall through */
1761 case 985 : /* fall through */
1762 case 986 : /* fall through */
1763 case 987 : /* fall through */
1764 case 988 : /* fall through */
1765 case 989 : /* fall through */
1766 case 990 : /* fall through */
1767 case 991 : /* fall through */
1768 case 992 : /* fall through */
1769 case 993 : /* fall through */
1770 case 994 : /* fall through */
1771 case 995 : /* fall through */
1772 case 996 : /* fall through */
1773 case 997 : /* fall through */
1774 case 998 : /* fall through */
1775 case 999 : /* fall through */
1776 case 1000 : /* fall through */
1777 case 1001 : /* fall through */
1778 case 1002 : /* fall through */
1779 case 1003 : /* fall through */
1780 case 1004 : /* fall through */
1781 case 1005 : /* fall through */
1782 case 1006 : /* fall through */
1783 case 1007 : /* fall through */
1784 case 1008 : /* fall through */
1785 case 1009 : /* fall through */
1786 case 1010 : /* fall through */
1787 case 1011 : /* fall through */
1788 case 1012 : /* fall through */
1789 case 1013 : /* fall through */
1790 case 1014 : /* fall through */
1791 case 1015 : /* fall through */
1792 case 1016 : /* fall through */
1793 case 1017 : /* fall through */
1794 case 1018 : /* fall through */
1795 case 1019 : /* fall through */
1796 case 1020 : /* fall through */
1797 case 1021 : /* fall through */
1798 case 1022 : /* fall through */
1800 entire_insn = entire_insn >> 16;
1801 itype = SH4A_INSN_ADDI_COMPACT; sh4a_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1802 case 1024 : /* fall through */
1803 case 1025 : /* fall through */
1804 case 1026 : /* fall through */
1805 case 1027 : /* fall through */
1806 case 1028 : /* fall through */
1807 case 1029 : /* fall through */
1808 case 1030 : /* fall through */
1809 case 1031 : /* fall through */
1810 case 1032 : /* fall through */
1811 case 1033 : /* fall through */
1812 case 1034 : /* fall through */
1813 case 1035 : /* fall through */
1814 case 1036 : /* fall through */
1815 case 1037 : /* fall through */
1816 case 1038 : /* fall through */
1817 case 1039 : /* fall through */
1818 case 1040 : /* fall through */
1819 case 1041 : /* fall through */
1820 case 1042 : /* fall through */
1821 case 1043 : /* fall through */
1822 case 1044 : /* fall through */
1823 case 1045 : /* fall through */
1824 case 1046 : /* fall through */
1825 case 1047 : /* fall through */
1826 case 1048 : /* fall through */
1827 case 1049 : /* fall through */
1828 case 1050 : /* fall through */
1829 case 1051 : /* fall through */
1830 case 1052 : /* fall through */
1831 case 1053 : /* fall through */
1832 case 1054 : /* fall through */
1833 case 1055 : /* fall through */
1834 case 1056 : /* fall through */
1835 case 1057 : /* fall through */
1836 case 1058 : /* fall through */
1837 case 1059 : /* fall through */
1838 case 1060 : /* fall through */
1839 case 1061 : /* fall through */
1840 case 1062 : /* fall through */
1841 case 1063 : /* fall through */
1842 case 1064 : /* fall through */
1843 case 1065 : /* fall through */
1844 case 1066 : /* fall through */
1845 case 1067 : /* fall through */
1846 case 1068 : /* fall through */
1847 case 1069 : /* fall through */
1848 case 1070 : /* fall through */
1849 case 1071 : /* fall through */
1850 case 1072 : /* fall through */
1851 case 1073 : /* fall through */
1852 case 1074 : /* fall through */
1853 case 1075 : /* fall through */
1854 case 1076 : /* fall through */
1855 case 1077 : /* fall through */
1856 case 1078 : /* fall through */
1857 case 1079 : /* fall through */
1858 case 1080 : /* fall through */
1859 case 1081 : /* fall through */
1860 case 1082 : /* fall through */
1861 case 1083 : /* fall through */
1862 case 1084 : /* fall through */
1863 case 1085 : /* fall through */
1864 case 1086 : /* fall through */
1865 case 1087 : /* fall through */
1866 case 1088 : /* fall through */
1867 case 1089 : /* fall through */
1868 case 1090 : /* fall through */
1869 case 1091 : /* fall through */
1870 case 1092 : /* fall through */
1871 case 1093 : /* fall through */
1872 case 1094 : /* fall through */
1873 case 1095 : /* fall through */
1874 case 1096 : /* fall through */
1875 case 1097 : /* fall through */
1876 case 1098 : /* fall through */
1877 case 1099 : /* fall through */
1878 case 1100 : /* fall through */
1879 case 1101 : /* fall through */
1880 case 1102 : /* fall through */
1881 case 1103 : /* fall through */
1882 case 1104 : /* fall through */
1883 case 1105 : /* fall through */
1884 case 1106 : /* fall through */
1885 case 1107 : /* fall through */
1886 case 1108 : /* fall through */
1887 case 1109 : /* fall through */
1888 case 1110 : /* fall through */
1889 case 1111 : /* fall through */
1890 case 1112 : /* fall through */
1891 case 1113 : /* fall through */
1892 case 1114 : /* fall through */
1893 case 1115 : /* fall through */
1894 case 1116 : /* fall through */
1895 case 1117 : /* fall through */
1896 case 1118 : /* fall through */
1897 case 1119 : /* fall through */
1898 case 1120 : /* fall through */
1899 case 1121 : /* fall through */
1900 case 1122 : /* fall through */
1901 case 1123 : /* fall through */
1902 case 1124 : /* fall through */
1903 case 1125 : /* fall through */
1904 case 1126 : /* fall through */
1905 case 1127 : /* fall through */
1906 case 1128 : /* fall through */
1907 case 1129 : /* fall through */
1908 case 1130 : /* fall through */
1909 case 1131 : /* fall through */
1910 case 1132 : /* fall through */
1911 case 1133 : /* fall through */
1912 case 1134 : /* fall through */
1913 case 1135 : /* fall through */
1914 case 1136 : /* fall through */
1915 case 1137 : /* fall through */
1916 case 1138 : /* fall through */
1917 case 1139 : /* fall through */
1918 case 1140 : /* fall through */
1919 case 1141 : /* fall through */
1920 case 1142 : /* fall through */
1921 case 1143 : /* fall through */
1922 case 1144 : /* fall through */
1923 case 1145 : /* fall through */
1924 case 1146 : /* fall through */
1925 case 1147 : /* fall through */
1926 case 1148 : /* fall through */
1927 case 1149 : /* fall through */
1928 case 1150 : /* fall through */
1931 unsigned int val = (((insn >> 24) & (15 << 0)));
1935 entire_insn = entire_insn >> 16;
1936 itype = SH4A_INSN_MOVB5_COMPACT; sh4a_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1938 entire_insn = entire_insn >> 16;
1939 itype = SH4A_INSN_MOVW5_COMPACT; sh4a_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1941 entire_insn = entire_insn >> 16;
1942 itype = SH4A_INSN_MOVB10_COMPACT; sh4a_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1944 entire_insn = entire_insn >> 16;
1945 itype = SH4A_INSN_MOVW11_COMPACT; sh4a_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1947 entire_insn = entire_insn >> 16;
1948 itype = SH4A_INSN_CMPEQI_COMPACT; sh4a_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1950 entire_insn = entire_insn >> 16;
1951 itype = SH4A_INSN_BT_COMPACT; sh4a_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1953 entire_insn = entire_insn >> 16;
1954 itype = SH4A_INSN_BF_COMPACT; sh4a_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1956 entire_insn = entire_insn >> 16;
1957 itype = SH4A_INSN_BTS_COMPACT; sh4a_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1959 entire_insn = entire_insn >> 16;
1960 itype = SH4A_INSN_BFS_COMPACT; sh4a_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1961 default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1964 case 1152 : /* fall through */
1965 case 1153 : /* fall through */
1966 case 1154 : /* fall through */
1967 case 1155 : /* fall through */
1968 case 1156 : /* fall through */
1969 case 1157 : /* fall through */
1970 case 1158 : /* fall through */
1971 case 1159 : /* fall through */
1972 case 1160 : /* fall through */
1973 case 1161 : /* fall through */
1974 case 1162 : /* fall through */
1975 case 1163 : /* fall through */
1976 case 1164 : /* fall through */
1977 case 1165 : /* fall through */
1978 case 1166 : /* fall through */
1979 case 1167 : /* fall through */
1980 case 1168 : /* fall through */
1981 case 1169 : /* fall through */
1982 case 1170 : /* fall through */
1983 case 1171 : /* fall through */
1984 case 1172 : /* fall through */
1985 case 1173 : /* fall through */
1986 case 1174 : /* fall through */
1987 case 1175 : /* fall through */
1988 case 1176 : /* fall through */
1989 case 1177 : /* fall through */
1990 case 1178 : /* fall through */
1991 case 1179 : /* fall through */
1992 case 1180 : /* fall through */
1993 case 1181 : /* fall through */
1994 case 1182 : /* fall through */
1995 case 1183 : /* fall through */
1996 case 1184 : /* fall through */
1997 case 1185 : /* fall through */
1998 case 1186 : /* fall through */
1999 case 1187 : /* fall through */
2000 case 1188 : /* fall through */
2001 case 1189 : /* fall through */
2002 case 1190 : /* fall through */
2003 case 1191 : /* fall through */
2004 case 1192 : /* fall through */
2005 case 1193 : /* fall through */
2006 case 1194 : /* fall through */
2007 case 1195 : /* fall through */
2008 case 1196 : /* fall through */
2009 case 1197 : /* fall through */
2010 case 1198 : /* fall through */
2011 case 1199 : /* fall through */
2012 case 1200 : /* fall through */
2013 case 1201 : /* fall through */
2014 case 1202 : /* fall through */
2015 case 1203 : /* fall through */
2016 case 1204 : /* fall through */
2017 case 1205 : /* fall through */
2018 case 1206 : /* fall through */
2019 case 1207 : /* fall through */
2020 case 1208 : /* fall through */
2021 case 1209 : /* fall through */
2022 case 1210 : /* fall through */
2023 case 1211 : /* fall through */
2024 case 1212 : /* fall through */
2025 case 1213 : /* fall through */
2026 case 1214 : /* fall through */
2027 case 1215 : /* fall through */
2028 case 1216 : /* fall through */
2029 case 1217 : /* fall through */
2030 case 1218 : /* fall through */
2031 case 1219 : /* fall through */
2032 case 1220 : /* fall through */
2033 case 1221 : /* fall through */
2034 case 1222 : /* fall through */
2035 case 1223 : /* fall through */
2036 case 1224 : /* fall through */
2037 case 1225 : /* fall through */
2038 case 1226 : /* fall through */
2039 case 1227 : /* fall through */
2040 case 1228 : /* fall through */
2041 case 1229 : /* fall through */
2042 case 1230 : /* fall through */
2043 case 1231 : /* fall through */
2044 case 1232 : /* fall through */
2045 case 1233 : /* fall through */
2046 case 1234 : /* fall through */
2047 case 1235 : /* fall through */
2048 case 1236 : /* fall through */
2049 case 1237 : /* fall through */
2050 case 1238 : /* fall through */
2051 case 1239 : /* fall through */
2052 case 1240 : /* fall through */
2053 case 1241 : /* fall through */
2054 case 1242 : /* fall through */
2055 case 1243 : /* fall through */
2056 case 1244 : /* fall through */
2057 case 1245 : /* fall through */
2058 case 1246 : /* fall through */
2059 case 1247 : /* fall through */
2060 case 1248 : /* fall through */
2061 case 1249 : /* fall through */
2062 case 1250 : /* fall through */
2063 case 1251 : /* fall through */
2064 case 1252 : /* fall through */
2065 case 1253 : /* fall through */
2066 case 1254 : /* fall through */
2067 case 1255 : /* fall through */
2068 case 1256 : /* fall through */
2069 case 1257 : /* fall through */
2070 case 1258 : /* fall through */
2071 case 1259 : /* fall through */
2072 case 1260 : /* fall through */
2073 case 1261 : /* fall through */
2074 case 1262 : /* fall through */
2075 case 1263 : /* fall through */
2076 case 1264 : /* fall through */
2077 case 1265 : /* fall through */
2078 case 1266 : /* fall through */
2079 case 1267 : /* fall through */
2080 case 1268 : /* fall through */
2081 case 1269 : /* fall through */
2082 case 1270 : /* fall through */
2083 case 1271 : /* fall through */
2084 case 1272 : /* fall through */
2085 case 1273 : /* fall through */
2086 case 1274 : /* fall through */
2087 case 1275 : /* fall through */
2088 case 1276 : /* fall through */
2089 case 1277 : /* fall through */
2090 case 1278 : /* fall through */
2092 entire_insn = entire_insn >> 16;
2093 itype = SH4A_INSN_MOVW10_COMPACT; sh4a_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2094 case 1280 : /* fall through */
2095 case 1281 : /* fall through */
2096 case 1282 : /* fall through */
2097 case 1283 : /* fall through */
2098 case 1284 : /* fall through */
2099 case 1285 : /* fall through */
2100 case 1286 : /* fall through */
2101 case 1287 : /* fall through */
2102 case 1288 : /* fall through */
2103 case 1289 : /* fall through */
2104 case 1290 : /* fall through */
2105 case 1291 : /* fall through */
2106 case 1292 : /* fall through */
2107 case 1293 : /* fall through */
2108 case 1294 : /* fall through */
2109 case 1295 : /* fall through */
2110 case 1296 : /* fall through */
2111 case 1297 : /* fall through */
2112 case 1298 : /* fall through */
2113 case 1299 : /* fall through */
2114 case 1300 : /* fall through */
2115 case 1301 : /* fall through */
2116 case 1302 : /* fall through */
2117 case 1303 : /* fall through */
2118 case 1304 : /* fall through */
2119 case 1305 : /* fall through */
2120 case 1306 : /* fall through */
2121 case 1307 : /* fall through */
2122 case 1308 : /* fall through */
2123 case 1309 : /* fall through */
2124 case 1310 : /* fall through */
2125 case 1311 : /* fall through */
2126 case 1312 : /* fall through */
2127 case 1313 : /* fall through */
2128 case 1314 : /* fall through */
2129 case 1315 : /* fall through */
2130 case 1316 : /* fall through */
2131 case 1317 : /* fall through */
2132 case 1318 : /* fall through */
2133 case 1319 : /* fall through */
2134 case 1320 : /* fall through */
2135 case 1321 : /* fall through */
2136 case 1322 : /* fall through */
2137 case 1323 : /* fall through */
2138 case 1324 : /* fall through */
2139 case 1325 : /* fall through */
2140 case 1326 : /* fall through */
2141 case 1327 : /* fall through */
2142 case 1328 : /* fall through */
2143 case 1329 : /* fall through */
2144 case 1330 : /* fall through */
2145 case 1331 : /* fall through */
2146 case 1332 : /* fall through */
2147 case 1333 : /* fall through */
2148 case 1334 : /* fall through */
2149 case 1335 : /* fall through */
2150 case 1336 : /* fall through */
2151 case 1337 : /* fall through */
2152 case 1338 : /* fall through */
2153 case 1339 : /* fall through */
2154 case 1340 : /* fall through */
2155 case 1341 : /* fall through */
2156 case 1342 : /* fall through */
2157 case 1343 : /* fall through */
2158 case 1344 : /* fall through */
2159 case 1345 : /* fall through */
2160 case 1346 : /* fall through */
2161 case 1347 : /* fall through */
2162 case 1348 : /* fall through */
2163 case 1349 : /* fall through */
2164 case 1350 : /* fall through */
2165 case 1351 : /* fall through */
2166 case 1352 : /* fall through */
2167 case 1353 : /* fall through */
2168 case 1354 : /* fall through */
2169 case 1355 : /* fall through */
2170 case 1356 : /* fall through */
2171 case 1357 : /* fall through */
2172 case 1358 : /* fall through */
2173 case 1359 : /* fall through */
2174 case 1360 : /* fall through */
2175 case 1361 : /* fall through */
2176 case 1362 : /* fall through */
2177 case 1363 : /* fall through */
2178 case 1364 : /* fall through */
2179 case 1365 : /* fall through */
2180 case 1366 : /* fall through */
2181 case 1367 : /* fall through */
2182 case 1368 : /* fall through */
2183 case 1369 : /* fall through */
2184 case 1370 : /* fall through */
2185 case 1371 : /* fall through */
2186 case 1372 : /* fall through */
2187 case 1373 : /* fall through */
2188 case 1374 : /* fall through */
2189 case 1375 : /* fall through */
2190 case 1376 : /* fall through */
2191 case 1377 : /* fall through */
2192 case 1378 : /* fall through */
2193 case 1379 : /* fall through */
2194 case 1380 : /* fall through */
2195 case 1381 : /* fall through */
2196 case 1382 : /* fall through */
2197 case 1383 : /* fall through */
2198 case 1384 : /* fall through */
2199 case 1385 : /* fall through */
2200 case 1386 : /* fall through */
2201 case 1387 : /* fall through */
2202 case 1388 : /* fall through */
2203 case 1389 : /* fall through */
2204 case 1390 : /* fall through */
2205 case 1391 : /* fall through */
2206 case 1392 : /* fall through */
2207 case 1393 : /* fall through */
2208 case 1394 : /* fall through */
2209 case 1395 : /* fall through */
2210 case 1396 : /* fall through */
2211 case 1397 : /* fall through */
2212 case 1398 : /* fall through */
2213 case 1399 : /* fall through */
2214 case 1400 : /* fall through */
2215 case 1401 : /* fall through */
2216 case 1402 : /* fall through */
2217 case 1403 : /* fall through */
2218 case 1404 : /* fall through */
2219 case 1405 : /* fall through */
2220 case 1406 : /* fall through */
2222 entire_insn = entire_insn >> 16;
2223 itype = SH4A_INSN_BRA_COMPACT; sh4a_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2224 case 1408 : /* fall through */
2225 case 1409 : /* fall through */
2226 case 1410 : /* fall through */
2227 case 1411 : /* fall through */
2228 case 1412 : /* fall through */
2229 case 1413 : /* fall through */
2230 case 1414 : /* fall through */
2231 case 1415 : /* fall through */
2232 case 1416 : /* fall through */
2233 case 1417 : /* fall through */
2234 case 1418 : /* fall through */
2235 case 1419 : /* fall through */
2236 case 1420 : /* fall through */
2237 case 1421 : /* fall through */
2238 case 1422 : /* fall through */
2239 case 1423 : /* fall through */
2240 case 1424 : /* fall through */
2241 case 1425 : /* fall through */
2242 case 1426 : /* fall through */
2243 case 1427 : /* fall through */
2244 case 1428 : /* fall through */
2245 case 1429 : /* fall through */
2246 case 1430 : /* fall through */
2247 case 1431 : /* fall through */
2248 case 1432 : /* fall through */
2249 case 1433 : /* fall through */
2250 case 1434 : /* fall through */
2251 case 1435 : /* fall through */
2252 case 1436 : /* fall through */
2253 case 1437 : /* fall through */
2254 case 1438 : /* fall through */
2255 case 1439 : /* fall through */
2256 case 1440 : /* fall through */
2257 case 1441 : /* fall through */
2258 case 1442 : /* fall through */
2259 case 1443 : /* fall through */
2260 case 1444 : /* fall through */
2261 case 1445 : /* fall through */
2262 case 1446 : /* fall through */
2263 case 1447 : /* fall through */
2264 case 1448 : /* fall through */
2265 case 1449 : /* fall through */
2266 case 1450 : /* fall through */
2267 case 1451 : /* fall through */
2268 case 1452 : /* fall through */
2269 case 1453 : /* fall through */
2270 case 1454 : /* fall through */
2271 case 1455 : /* fall through */
2272 case 1456 : /* fall through */
2273 case 1457 : /* fall through */
2274 case 1458 : /* fall through */
2275 case 1459 : /* fall through */
2276 case 1460 : /* fall through */
2277 case 1461 : /* fall through */
2278 case 1462 : /* fall through */
2279 case 1463 : /* fall through */
2280 case 1464 : /* fall through */
2281 case 1465 : /* fall through */
2282 case 1466 : /* fall through */
2283 case 1467 : /* fall through */
2284 case 1468 : /* fall through */
2285 case 1469 : /* fall through */
2286 case 1470 : /* fall through */
2287 case 1471 : /* fall through */
2288 case 1472 : /* fall through */
2289 case 1473 : /* fall through */
2290 case 1474 : /* fall through */
2291 case 1475 : /* fall through */
2292 case 1476 : /* fall through */
2293 case 1477 : /* fall through */
2294 case 1478 : /* fall through */
2295 case 1479 : /* fall through */
2296 case 1480 : /* fall through */
2297 case 1481 : /* fall through */
2298 case 1482 : /* fall through */
2299 case 1483 : /* fall through */
2300 case 1484 : /* fall through */
2301 case 1485 : /* fall through */
2302 case 1486 : /* fall through */
2303 case 1487 : /* fall through */
2304 case 1488 : /* fall through */
2305 case 1489 : /* fall through */
2306 case 1490 : /* fall through */
2307 case 1491 : /* fall through */
2308 case 1492 : /* fall through */
2309 case 1493 : /* fall through */
2310 case 1494 : /* fall through */
2311 case 1495 : /* fall through */
2312 case 1496 : /* fall through */
2313 case 1497 : /* fall through */
2314 case 1498 : /* fall through */
2315 case 1499 : /* fall through */
2316 case 1500 : /* fall through */
2317 case 1501 : /* fall through */
2318 case 1502 : /* fall through */
2319 case 1503 : /* fall through */
2320 case 1504 : /* fall through */
2321 case 1505 : /* fall through */
2322 case 1506 : /* fall through */
2323 case 1507 : /* fall through */
2324 case 1508 : /* fall through */
2325 case 1509 : /* fall through */
2326 case 1510 : /* fall through */
2327 case 1511 : /* fall through */
2328 case 1512 : /* fall through */
2329 case 1513 : /* fall through */
2330 case 1514 : /* fall through */
2331 case 1515 : /* fall through */
2332 case 1516 : /* fall through */
2333 case 1517 : /* fall through */
2334 case 1518 : /* fall through */
2335 case 1519 : /* fall through */
2336 case 1520 : /* fall through */
2337 case 1521 : /* fall through */
2338 case 1522 : /* fall through */
2339 case 1523 : /* fall through */
2340 case 1524 : /* fall through */
2341 case 1525 : /* fall through */
2342 case 1526 : /* fall through */
2343 case 1527 : /* fall through */
2344 case 1528 : /* fall through */
2345 case 1529 : /* fall through */
2346 case 1530 : /* fall through */
2347 case 1531 : /* fall through */
2348 case 1532 : /* fall through */
2349 case 1533 : /* fall through */
2350 case 1534 : /* fall through */
2352 entire_insn = entire_insn >> 16;
2353 itype = SH4A_INSN_BSR_COMPACT; sh4a_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2354 case 1536 : /* fall through */
2355 case 1537 : /* fall through */
2356 case 1538 : /* fall through */
2357 case 1539 : /* fall through */
2358 case 1540 : /* fall through */
2359 case 1541 : /* fall through */
2360 case 1542 : /* fall through */
2361 case 1543 : /* fall through */
2362 case 1544 : /* fall through */
2363 case 1545 : /* fall through */
2364 case 1546 : /* fall through */
2365 case 1547 : /* fall through */
2366 case 1548 : /* fall through */
2367 case 1549 : /* fall through */
2368 case 1550 : /* fall through */
2369 case 1551 : /* fall through */
2370 case 1552 : /* fall through */
2371 case 1553 : /* fall through */
2372 case 1554 : /* fall through */
2373 case 1555 : /* fall through */
2374 case 1556 : /* fall through */
2375 case 1557 : /* fall through */
2376 case 1558 : /* fall through */
2377 case 1559 : /* fall through */
2378 case 1560 : /* fall through */
2379 case 1561 : /* fall through */
2380 case 1562 : /* fall through */
2381 case 1563 : /* fall through */
2382 case 1564 : /* fall through */
2383 case 1565 : /* fall through */
2384 case 1566 : /* fall through */
2385 case 1567 : /* fall through */
2386 case 1568 : /* fall through */
2387 case 1569 : /* fall through */
2388 case 1570 : /* fall through */
2389 case 1571 : /* fall through */
2390 case 1572 : /* fall through */
2391 case 1573 : /* fall through */
2392 case 1574 : /* fall through */
2393 case 1575 : /* fall through */
2394 case 1576 : /* fall through */
2395 case 1577 : /* fall through */
2396 case 1578 : /* fall through */
2397 case 1579 : /* fall through */
2398 case 1580 : /* fall through */
2399 case 1581 : /* fall through */
2400 case 1582 : /* fall through */
2401 case 1583 : /* fall through */
2402 case 1584 : /* fall through */
2403 case 1585 : /* fall through */
2404 case 1586 : /* fall through */
2405 case 1587 : /* fall through */
2406 case 1588 : /* fall through */
2407 case 1589 : /* fall through */
2408 case 1590 : /* fall through */
2409 case 1591 : /* fall through */
2410 case 1592 : /* fall through */
2411 case 1593 : /* fall through */
2412 case 1594 : /* fall through */
2413 case 1595 : /* fall through */
2414 case 1596 : /* fall through */
2415 case 1597 : /* fall through */
2416 case 1598 : /* fall through */
2417 case 1599 : /* fall through */
2418 case 1600 : /* fall through */
2419 case 1601 : /* fall through */
2420 case 1602 : /* fall through */
2421 case 1603 : /* fall through */
2422 case 1604 : /* fall through */
2423 case 1605 : /* fall through */
2424 case 1606 : /* fall through */
2425 case 1607 : /* fall through */
2426 case 1608 : /* fall through */
2427 case 1609 : /* fall through */
2428 case 1610 : /* fall through */
2429 case 1611 : /* fall through */
2430 case 1612 : /* fall through */
2431 case 1613 : /* fall through */
2432 case 1614 : /* fall through */
2433 case 1615 : /* fall through */
2434 case 1616 : /* fall through */
2435 case 1617 : /* fall through */
2436 case 1618 : /* fall through */
2437 case 1619 : /* fall through */
2438 case 1620 : /* fall through */
2439 case 1621 : /* fall through */
2440 case 1622 : /* fall through */
2441 case 1623 : /* fall through */
2442 case 1624 : /* fall through */
2443 case 1625 : /* fall through */
2444 case 1626 : /* fall through */
2445 case 1627 : /* fall through */
2446 case 1628 : /* fall through */
2447 case 1629 : /* fall through */
2448 case 1630 : /* fall through */
2449 case 1631 : /* fall through */
2450 case 1632 : /* fall through */
2451 case 1633 : /* fall through */
2452 case 1634 : /* fall through */
2453 case 1635 : /* fall through */
2454 case 1636 : /* fall through */
2455 case 1637 : /* fall through */
2456 case 1638 : /* fall through */
2457 case 1639 : /* fall through */
2458 case 1640 : /* fall through */
2459 case 1641 : /* fall through */
2460 case 1642 : /* fall through */
2461 case 1643 : /* fall through */
2462 case 1644 : /* fall through */
2463 case 1645 : /* fall through */
2464 case 1646 : /* fall through */
2465 case 1647 : /* fall through */
2466 case 1648 : /* fall through */
2467 case 1649 : /* fall through */
2468 case 1650 : /* fall through */
2469 case 1651 : /* fall through */
2470 case 1652 : /* fall through */
2471 case 1653 : /* fall through */
2472 case 1654 : /* fall through */
2473 case 1655 : /* fall through */
2474 case 1656 : /* fall through */
2475 case 1657 : /* fall through */
2476 case 1658 : /* fall through */
2477 case 1659 : /* fall through */
2478 case 1660 : /* fall through */
2479 case 1661 : /* fall through */
2480 case 1662 : /* fall through */
2483 unsigned int val = (((insn >> 24) & (15 << 0)));
2487 entire_insn = entire_insn >> 16;
2488 itype = SH4A_INSN_MOVB4_COMPACT; sh4a_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2490 entire_insn = entire_insn >> 16;
2491 itype = SH4A_INSN_MOVW4_COMPACT; sh4a_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2493 entire_insn = entire_insn >> 16;
2494 itype = SH4A_INSN_MOVL4_COMPACT; sh4a_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2496 entire_insn = entire_insn >> 16;
2497 itype = SH4A_INSN_TRAPA_COMPACT; sh4a_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2499 entire_insn = entire_insn >> 16;
2500 itype = SH4A_INSN_MOVB9_COMPACT; sh4a_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2502 entire_insn = entire_insn >> 16;
2503 itype = SH4A_INSN_MOVW9_COMPACT; sh4a_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2505 entire_insn = entire_insn >> 16;
2506 itype = SH4A_INSN_MOVL9_COMPACT; sh4a_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2508 entire_insn = entire_insn >> 16;
2509 itype = SH4A_INSN_MOVA_COMPACT; sh4a_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2511 entire_insn = entire_insn >> 16;
2512 itype = SH4A_INSN_TSTI_COMPACT; sh4a_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2514 entire_insn = entire_insn >> 16;
2515 itype = SH4A_INSN_ANDI_COMPACT; sh4a_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2517 entire_insn = entire_insn >> 16;
2518 itype = SH4A_INSN_XORI_COMPACT; sh4a_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2520 entire_insn = entire_insn >> 16;
2521 itype = SH4A_INSN_ORI_COMPACT; sh4a_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2523 entire_insn = entire_insn >> 16;
2524 itype = SH4A_INSN_TSTB_COMPACT; sh4a_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2526 entire_insn = entire_insn >> 16;
2527 itype = SH4A_INSN_ANDB_COMPACT; sh4a_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2529 entire_insn = entire_insn >> 16;
2530 itype = SH4A_INSN_XORB_COMPACT; sh4a_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2532 entire_insn = entire_insn >> 16;
2533 itype = SH4A_INSN_ORB_COMPACT; sh4a_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2534 default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2537 case 1664 : /* fall through */
2538 case 1665 : /* fall through */
2539 case 1666 : /* fall through */
2540 case 1667 : /* fall through */
2541 case 1668 : /* fall through */
2542 case 1669 : /* fall through */
2543 case 1670 : /* fall through */
2544 case 1671 : /* fall through */
2545 case 1672 : /* fall through */
2546 case 1673 : /* fall through */
2547 case 1674 : /* fall through */
2548 case 1675 : /* fall through */
2549 case 1676 : /* fall through */
2550 case 1677 : /* fall through */
2551 case 1678 : /* fall through */
2552 case 1679 : /* fall through */
2553 case 1680 : /* fall through */
2554 case 1681 : /* fall through */
2555 case 1682 : /* fall through */
2556 case 1683 : /* fall through */
2557 case 1684 : /* fall through */
2558 case 1685 : /* fall through */
2559 case 1686 : /* fall through */
2560 case 1687 : /* fall through */
2561 case 1688 : /* fall through */
2562 case 1689 : /* fall through */
2563 case 1690 : /* fall through */
2564 case 1691 : /* fall through */
2565 case 1692 : /* fall through */
2566 case 1693 : /* fall through */
2567 case 1694 : /* fall through */
2568 case 1695 : /* fall through */
2569 case 1696 : /* fall through */
2570 case 1697 : /* fall through */
2571 case 1698 : /* fall through */
2572 case 1699 : /* fall through */
2573 case 1700 : /* fall through */
2574 case 1701 : /* fall through */
2575 case 1702 : /* fall through */
2576 case 1703 : /* fall through */
2577 case 1704 : /* fall through */
2578 case 1705 : /* fall through */
2579 case 1706 : /* fall through */
2580 case 1707 : /* fall through */
2581 case 1708 : /* fall through */
2582 case 1709 : /* fall through */
2583 case 1710 : /* fall through */
2584 case 1711 : /* fall through */
2585 case 1712 : /* fall through */
2586 case 1713 : /* fall through */
2587 case 1714 : /* fall through */
2588 case 1715 : /* fall through */
2589 case 1716 : /* fall through */
2590 case 1717 : /* fall through */
2591 case 1718 : /* fall through */
2592 case 1719 : /* fall through */
2593 case 1720 : /* fall through */
2594 case 1721 : /* fall through */
2595 case 1722 : /* fall through */
2596 case 1723 : /* fall through */
2597 case 1724 : /* fall through */
2598 case 1725 : /* fall through */
2599 case 1726 : /* fall through */
2600 case 1727 : /* fall through */
2601 case 1728 : /* fall through */
2602 case 1729 : /* fall through */
2603 case 1730 : /* fall through */
2604 case 1731 : /* fall through */
2605 case 1732 : /* fall through */
2606 case 1733 : /* fall through */
2607 case 1734 : /* fall through */
2608 case 1735 : /* fall through */
2609 case 1736 : /* fall through */
2610 case 1737 : /* fall through */
2611 case 1738 : /* fall through */
2612 case 1739 : /* fall through */
2613 case 1740 : /* fall through */
2614 case 1741 : /* fall through */
2615 case 1742 : /* fall through */
2616 case 1743 : /* fall through */
2617 case 1744 : /* fall through */
2618 case 1745 : /* fall through */
2619 case 1746 : /* fall through */
2620 case 1747 : /* fall through */
2621 case 1748 : /* fall through */
2622 case 1749 : /* fall through */
2623 case 1750 : /* fall through */
2624 case 1751 : /* fall through */
2625 case 1752 : /* fall through */
2626 case 1753 : /* fall through */
2627 case 1754 : /* fall through */
2628 case 1755 : /* fall through */
2629 case 1756 : /* fall through */
2630 case 1757 : /* fall through */
2631 case 1758 : /* fall through */
2632 case 1759 : /* fall through */
2633 case 1760 : /* fall through */
2634 case 1761 : /* fall through */
2635 case 1762 : /* fall through */
2636 case 1763 : /* fall through */
2637 case 1764 : /* fall through */
2638 case 1765 : /* fall through */
2639 case 1766 : /* fall through */
2640 case 1767 : /* fall through */
2641 case 1768 : /* fall through */
2642 case 1769 : /* fall through */
2643 case 1770 : /* fall through */
2644 case 1771 : /* fall through */
2645 case 1772 : /* fall through */
2646 case 1773 : /* fall through */
2647 case 1774 : /* fall through */
2648 case 1775 : /* fall through */
2649 case 1776 : /* fall through */
2650 case 1777 : /* fall through */
2651 case 1778 : /* fall through */
2652 case 1779 : /* fall through */
2653 case 1780 : /* fall through */
2654 case 1781 : /* fall through */
2655 case 1782 : /* fall through */
2656 case 1783 : /* fall through */
2657 case 1784 : /* fall through */
2658 case 1785 : /* fall through */
2659 case 1786 : /* fall through */
2660 case 1787 : /* fall through */
2661 case 1788 : /* fall through */
2662 case 1789 : /* fall through */
2663 case 1790 : /* fall through */
2665 entire_insn = entire_insn >> 16;
2666 itype = SH4A_INSN_MOVL10_COMPACT; sh4a_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2667 case 1792 : /* fall through */
2668 case 1793 : /* fall through */
2669 case 1794 : /* fall through */
2670 case 1795 : /* fall through */
2671 case 1796 : /* fall through */
2672 case 1797 : /* fall through */
2673 case 1798 : /* fall through */
2674 case 1799 : /* fall through */
2675 case 1800 : /* fall through */
2676 case 1801 : /* fall through */
2677 case 1802 : /* fall through */
2678 case 1803 : /* fall through */
2679 case 1804 : /* fall through */
2680 case 1805 : /* fall through */
2681 case 1806 : /* fall through */
2682 case 1807 : /* fall through */
2683 case 1808 : /* fall through */
2684 case 1809 : /* fall through */
2685 case 1810 : /* fall through */
2686 case 1811 : /* fall through */
2687 case 1812 : /* fall through */
2688 case 1813 : /* fall through */
2689 case 1814 : /* fall through */
2690 case 1815 : /* fall through */
2691 case 1816 : /* fall through */
2692 case 1817 : /* fall through */
2693 case 1818 : /* fall through */
2694 case 1819 : /* fall through */
2695 case 1820 : /* fall through */
2696 case 1821 : /* fall through */
2697 case 1822 : /* fall through */
2698 case 1823 : /* fall through */
2699 case 1824 : /* fall through */
2700 case 1825 : /* fall through */
2701 case 1826 : /* fall through */
2702 case 1827 : /* fall through */
2703 case 1828 : /* fall through */
2704 case 1829 : /* fall through */
2705 case 1830 : /* fall through */
2706 case 1831 : /* fall through */
2707 case 1832 : /* fall through */
2708 case 1833 : /* fall through */
2709 case 1834 : /* fall through */
2710 case 1835 : /* fall through */
2711 case 1836 : /* fall through */
2712 case 1837 : /* fall through */
2713 case 1838 : /* fall through */
2714 case 1839 : /* fall through */
2715 case 1840 : /* fall through */
2716 case 1841 : /* fall through */
2717 case 1842 : /* fall through */
2718 case 1843 : /* fall through */
2719 case 1844 : /* fall through */
2720 case 1845 : /* fall through */
2721 case 1846 : /* fall through */
2722 case 1847 : /* fall through */
2723 case 1848 : /* fall through */
2724 case 1849 : /* fall through */
2725 case 1850 : /* fall through */
2726 case 1851 : /* fall through */
2727 case 1852 : /* fall through */
2728 case 1853 : /* fall through */
2729 case 1854 : /* fall through */
2730 case 1855 : /* fall through */
2731 case 1856 : /* fall through */
2732 case 1857 : /* fall through */
2733 case 1858 : /* fall through */
2734 case 1859 : /* fall through */
2735 case 1860 : /* fall through */
2736 case 1861 : /* fall through */
2737 case 1862 : /* fall through */
2738 case 1863 : /* fall through */
2739 case 1864 : /* fall through */
2740 case 1865 : /* fall through */
2741 case 1866 : /* fall through */
2742 case 1867 : /* fall through */
2743 case 1868 : /* fall through */
2744 case 1869 : /* fall through */
2745 case 1870 : /* fall through */
2746 case 1871 : /* fall through */
2747 case 1872 : /* fall through */
2748 case 1873 : /* fall through */
2749 case 1874 : /* fall through */
2750 case 1875 : /* fall through */
2751 case 1876 : /* fall through */
2752 case 1877 : /* fall through */
2753 case 1878 : /* fall through */
2754 case 1879 : /* fall through */
2755 case 1880 : /* fall through */
2756 case 1881 : /* fall through */
2757 case 1882 : /* fall through */
2758 case 1883 : /* fall through */
2759 case 1884 : /* fall through */
2760 case 1885 : /* fall through */
2761 case 1886 : /* fall through */
2762 case 1887 : /* fall through */
2763 case 1888 : /* fall through */
2764 case 1889 : /* fall through */
2765 case 1890 : /* fall through */
2766 case 1891 : /* fall through */
2767 case 1892 : /* fall through */
2768 case 1893 : /* fall through */
2769 case 1894 : /* fall through */
2770 case 1895 : /* fall through */
2771 case 1896 : /* fall through */
2772 case 1897 : /* fall through */
2773 case 1898 : /* fall through */
2774 case 1899 : /* fall through */
2775 case 1900 : /* fall through */
2776 case 1901 : /* fall through */
2777 case 1902 : /* fall through */
2778 case 1903 : /* fall through */
2779 case 1904 : /* fall through */
2780 case 1905 : /* fall through */
2781 case 1906 : /* fall through */
2782 case 1907 : /* fall through */
2783 case 1908 : /* fall through */
2784 case 1909 : /* fall through */
2785 case 1910 : /* fall through */
2786 case 1911 : /* fall through */
2787 case 1912 : /* fall through */
2788 case 1913 : /* fall through */
2789 case 1914 : /* fall through */
2790 case 1915 : /* fall through */
2791 case 1916 : /* fall through */
2792 case 1917 : /* fall through */
2793 case 1918 : /* fall through */
2795 entire_insn = entire_insn >> 16;
2796 itype = SH4A_INSN_MOVI_COMPACT; sh4a_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2797 case 1920 : /* fall through */
2798 case 1936 : /* fall through */
2799 case 1952 : /* fall through */
2800 case 1968 : /* fall through */
2801 case 1984 : /* fall through */
2802 case 2000 : /* fall through */
2803 case 2016 : /* fall through */
2805 entire_insn = entire_insn >> 16;
2806 itype = SH4A_INSN_FADD_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2807 case 1921 : /* fall through */
2808 case 1937 : /* fall through */
2809 case 1953 : /* fall through */
2810 case 1969 : /* fall through */
2811 case 1985 : /* fall through */
2812 case 2001 : /* fall through */
2813 case 2017 : /* fall through */
2815 entire_insn = entire_insn >> 16;
2816 itype = SH4A_INSN_FSUB_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2817 case 1922 : /* fall through */
2818 case 1938 : /* fall through */
2819 case 1954 : /* fall through */
2820 case 1970 : /* fall through */
2821 case 1986 : /* fall through */
2822 case 2002 : /* fall through */
2823 case 2018 : /* fall through */
2825 entire_insn = entire_insn >> 16;
2826 itype = SH4A_INSN_FMUL_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2827 case 1923 : /* fall through */
2828 case 1939 : /* fall through */
2829 case 1955 : /* fall through */
2830 case 1971 : /* fall through */
2831 case 1987 : /* fall through */
2832 case 2003 : /* fall through */
2833 case 2019 : /* fall through */
2835 entire_insn = entire_insn >> 16;
2836 itype = SH4A_INSN_FDIV_COMPACT; sh4a_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2837 case 1924 : /* fall through */
2838 case 1940 : /* fall through */
2839 case 1956 : /* fall through */
2840 case 1972 : /* fall through */
2841 case 1988 : /* fall through */
2842 case 2004 : /* fall through */
2843 case 2020 : /* fall through */
2845 entire_insn = entire_insn >> 16;
2846 itype = SH4A_INSN_FCMPEQ_COMPACT; sh4a_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2847 case 1925 : /* fall through */
2848 case 1941 : /* fall through */
2849 case 1957 : /* fall through */
2850 case 1973 : /* fall through */
2851 case 1989 : /* fall through */
2852 case 2005 : /* fall through */
2853 case 2021 : /* fall through */
2855 entire_insn = entire_insn >> 16;
2856 itype = SH4A_INSN_FCMPGT_COMPACT; sh4a_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2857 case 1926 : /* fall through */
2858 case 1942 : /* fall through */
2859 case 1958 : /* fall through */
2860 case 1974 : /* fall through */
2861 case 1990 : /* fall through */
2862 case 2006 : /* fall through */
2863 case 2022 : /* fall through */
2865 entire_insn = entire_insn >> 16;
2866 itype = SH4A_INSN_FMOV4_COMPACT; sh4a_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2867 case 1927 : /* fall through */
2868 case 1943 : /* fall through */
2869 case 1959 : /* fall through */
2870 case 1975 : /* fall through */
2871 case 1991 : /* fall through */
2872 case 2007 : /* fall through */
2873 case 2023 : /* fall through */
2875 entire_insn = entire_insn >> 16;
2876 itype = SH4A_INSN_FMOV7_COMPACT; sh4a_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2877 case 1928 : /* fall through */
2878 case 1944 : /* fall through */
2879 case 1960 : /* fall through */
2880 case 1976 : /* fall through */
2881 case 1992 : /* fall through */
2882 case 2008 : /* fall through */
2883 case 2024 : /* fall through */
2885 entire_insn = entire_insn >> 16;
2886 itype = SH4A_INSN_FMOV2_COMPACT; sh4a_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2887 case 1929 : /* fall through */
2888 case 1945 : /* fall through */
2889 case 1961 : /* fall through */
2890 case 1977 : /* fall through */
2891 case 1993 : /* fall through */
2892 case 2009 : /* fall through */
2893 case 2025 : /* fall through */
2895 entire_insn = entire_insn >> 16;
2896 itype = SH4A_INSN_FMOV3_COMPACT; sh4a_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2897 case 1930 : /* fall through */
2898 case 1946 : /* fall through */
2899 case 1962 : /* fall through */
2900 case 1978 : /* fall through */
2901 case 1994 : /* fall through */
2902 case 2010 : /* fall through */
2903 case 2026 : /* fall through */
2905 entire_insn = entire_insn >> 16;
2906 itype = SH4A_INSN_FMOV5_COMPACT; sh4a_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2907 case 1931 : /* fall through */
2908 case 1947 : /* fall through */
2909 case 1963 : /* fall through */
2910 case 1979 : /* fall through */
2911 case 1995 : /* fall through */
2912 case 2011 : /* fall through */
2913 case 2027 : /* fall through */
2915 entire_insn = entire_insn >> 16;
2916 itype = SH4A_INSN_FMOV6_COMPACT; sh4a_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2917 case 1932 : /* fall through */
2918 case 1948 : /* fall through */
2919 case 1964 : /* fall through */
2920 case 1980 : /* fall through */
2921 case 1996 : /* fall through */
2922 case 2012 : /* fall through */
2923 case 2028 : /* fall through */
2925 entire_insn = entire_insn >> 16;
2926 itype = SH4A_INSN_FMOV1_COMPACT; sh4a_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2929 unsigned int val = (((insn >> 23) & (1 << 0)));
2933 entire_insn = entire_insn >> 16;
2934 itype = SH4A_INSN_FSTS_COMPACT; sh4a_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2936 entire_insn = entire_insn >> 16;
2937 itype = SH4A_INSN_FLDI0_COMPACT; sh4a_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2938 default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2941 case 1934 : /* fall through */
2942 case 1950 : /* fall through */
2943 case 1966 : /* fall through */
2944 case 1982 : /* fall through */
2945 case 1998 : /* fall through */
2946 case 2014 : /* fall through */
2947 case 2030 : /* fall through */
2949 entire_insn = entire_insn >> 16;
2950 itype = SH4A_INSN_FMAC_COMPACT; sh4a_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2953 unsigned int val = (((insn >> 23) & (1 << 0)));
2957 entire_insn = entire_insn >> 16;
2958 itype = SH4A_INSN_FLDS_COMPACT; sh4a_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2960 entire_insn = entire_insn >> 16;
2961 itype = SH4A_INSN_FLDI1_COMPACT; sh4a_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2962 default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2966 entire_insn = entire_insn >> 16;
2967 if ((entire_insn & 0xf0ff) == 0xf02d)
2968 { itype = SH4A_INSN_FLOAT_COMPACT; sh4a_extract_sfmt_float_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2969 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2971 entire_insn = entire_insn >> 16;
2972 if ((entire_insn & 0xf0ff) == 0xf03d)
2973 { itype = SH4A_INSN_FTRC_COMPACT; sh4a_extract_sfmt_ftrc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2974 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2976 entire_insn = entire_insn >> 16;
2977 if ((entire_insn & 0xf0ff) == 0xf04d)
2978 { itype = SH4A_INSN_FNEG_COMPACT; sh4a_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2979 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2981 entire_insn = entire_insn >> 16;
2982 if ((entire_insn & 0xf0ff) == 0xf05d)
2983 { itype = SH4A_INSN_FABS_COMPACT; sh4a_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2984 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2987 unsigned int val = (((insn >> 23) & (1 << 0)));
2991 entire_insn = entire_insn >> 16;
2992 itype = SH4A_INSN_FSQRT_COMPACT; sh4a_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2994 entire_insn = entire_insn >> 16;
2995 itype = SH4A_INSN_FIPR_COMPACT; sh4a_extract_sfmt_fipr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2996 default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3001 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 25) & (1 << 0)));
3004 case 0 : /* fall through */
3006 entire_insn = entire_insn >> 16;
3007 if ((entire_insn & 0xf3ff) == 0xf1fd)
3008 { itype = SH4A_INSN_FTRV_COMPACT; sh4a_extract_sfmt_ftrv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
3009 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3011 entire_insn = entire_insn >> 16;
3012 if ((entire_insn & 0xffff) == 0xf3fd)
3013 { itype = SH4A_INSN_FSCHG_COMPACT; sh4a_extract_sfmt_fschg_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
3014 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3016 entire_insn = entire_insn >> 16;
3017 if ((entire_insn & 0xffff) == 0xfbfd)
3018 { itype = SH4A_INSN_FRCHG_COMPACT; sh4a_extract_sfmt_frchg_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
3019 itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3020 default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3023 default : itype = SH4A_INSN_X_INVALID; sh4a_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3029 /* The instruction has been decoded and fields extracted. */
3033 // FIXME: To be redone (to handle ISA variants).
3034 this->idesc = & sh4a_idesc::idesc_table[itype];
3035 // ??? record semantic handler?
3036 assert(this->idesc->sem_index == itype);
3040 sh4a_extract_sfmt_empty (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3041 sh4a_insn_word insn = entire_insn;
3042 #define FLD(f) abuf->fields.fmt_empty.f
3045 /* Record the fields for the semantic handler. */
3046 if (UNLIKELY(current_cpu->trace_extract_p))
3048 current_cpu->trace_stream
3049 << "0x" << hex << pc << dec << " (sfmt_empty)\t"
3057 sh4a_extract_sfmt_add_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3058 sh4a_insn_word insn = entire_insn;
3059 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3063 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3064 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3066 /* Record the fields for the semantic handler. */
3069 if (UNLIKELY(current_cpu->trace_extract_p))
3071 current_cpu->trace_stream
3072 << "0x" << hex << pc << dec << " (sfmt_add_compact)\t"
3073 << " f_rm:0x" << hex << f_rm << dec
3074 << " f_rn:0x" << hex << f_rn << dec
3078 /* Record the fields for profiling. */
3079 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3083 FLD (out_rn) = f_rn;
3089 sh4a_extract_sfmt_addi_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3090 sh4a_insn_word insn = entire_insn;
3091 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3095 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3096 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3098 /* Record the fields for the semantic handler. */
3099 FLD (f_imm8) = f_imm8;
3101 if (UNLIKELY(current_cpu->trace_extract_p))
3103 current_cpu->trace_stream
3104 << "0x" << hex << pc << dec << " (sfmt_addi_compact)\t"
3105 << " f_imm8:0x" << hex << f_imm8 << dec
3106 << " f_rn:0x" << hex << f_rn << dec
3110 /* Record the fields for profiling. */
3111 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3114 FLD (out_rn) = f_rn;
3120 sh4a_extract_sfmt_addc_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3121 sh4a_insn_word insn = entire_insn;
3122 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3126 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3127 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3129 /* Record the fields for the semantic handler. */
3132 if (UNLIKELY(current_cpu->trace_extract_p))
3134 current_cpu->trace_stream
3135 << "0x" << hex << pc << dec << " (sfmt_addc_compact)\t"
3136 << " f_rm:0x" << hex << f_rm << dec
3137 << " f_rn:0x" << hex << f_rn << dec
3141 /* Record the fields for profiling. */
3142 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3146 FLD (out_rn) = f_rn;
3152 sh4a_extract_sfmt_addv_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3153 sh4a_insn_word insn = entire_insn;
3154 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3158 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3159 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3161 /* Record the fields for the semantic handler. */
3164 if (UNLIKELY(current_cpu->trace_extract_p))
3166 current_cpu->trace_stream
3167 << "0x" << hex << pc << dec << " (sfmt_addv_compact)\t"
3168 << " f_rm:0x" << hex << f_rm << dec
3169 << " f_rn:0x" << hex << f_rn << dec
3173 /* Record the fields for profiling. */
3174 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3178 FLD (out_rn) = f_rn;
3184 sh4a_extract_sfmt_and_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3185 sh4a_insn_word insn = entire_insn;
3186 #define FLD(f) abuf->fields.sfmt_and_compact.f
3190 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3191 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3193 /* Record the fields for the semantic handler. */
3196 if (UNLIKELY(current_cpu->trace_extract_p))
3198 current_cpu->trace_stream
3199 << "0x" << hex << pc << dec << " (sfmt_and_compact)\t"
3200 << " f_rm:0x" << hex << f_rm << dec
3201 << " f_rn:0x" << hex << f_rn << dec
3205 /* Record the fields for profiling. */
3206 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3208 FLD (in_rm64) = f_rm;
3209 FLD (in_rn64) = f_rn;
3210 FLD (out_rn64) = f_rn;
3216 sh4a_extract_sfmt_andi_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3217 sh4a_insn_word insn = entire_insn;
3218 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3221 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3223 /* Record the fields for the semantic handler. */
3224 FLD (f_imm8) = f_imm8;
3225 if (UNLIKELY(current_cpu->trace_extract_p))
3227 current_cpu->trace_stream
3228 << "0x" << hex << pc << dec << " (sfmt_andi_compact)\t"
3229 << " f_imm8:0x" << hex << f_imm8 << dec
3233 /* Record the fields for profiling. */
3234 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3243 sh4a_extract_sfmt_andb_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3244 sh4a_insn_word insn = entire_insn;
3245 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3248 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3250 /* Record the fields for the semantic handler. */
3251 FLD (f_imm8) = f_imm8;
3252 if (UNLIKELY(current_cpu->trace_extract_p))
3254 current_cpu->trace_stream
3255 << "0x" << hex << pc << dec << " (sfmt_andb_compact)\t"
3256 << " f_imm8:0x" << hex << f_imm8 << dec
3260 /* Record the fields for profiling. */
3261 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3269 sh4a_extract_sfmt_bf_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3270 sh4a_insn_word insn = entire_insn;
3271 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3274 f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3276 /* Record the fields for the semantic handler. */
3277 FLD (i_disp8) = f_disp8;
3278 if (UNLIKELY(current_cpu->trace_extract_p))
3280 current_cpu->trace_stream
3281 << "0x" << hex << pc << dec << " (sfmt_bf_compact)\t"
3285 /* Record the fields for profiling. */
3286 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3293 sh4a_extract_sfmt_bfs_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3294 sh4a_insn_word insn = entire_insn;
3295 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3298 f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3300 /* Record the fields for the semantic handler. */
3301 FLD (i_disp8) = f_disp8;
3302 if (UNLIKELY(current_cpu->trace_extract_p))
3304 current_cpu->trace_stream
3305 << "0x" << hex << pc << dec << " (sfmt_bfs_compact)\t"
3309 /* Record the fields for profiling. */
3310 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3317 sh4a_extract_sfmt_bra_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3318 sh4a_insn_word insn = entire_insn;
3319 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3322 f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3324 /* Record the fields for the semantic handler. */
3325 FLD (i_disp12) = f_disp12;
3326 if (UNLIKELY(current_cpu->trace_extract_p))
3328 current_cpu->trace_stream
3329 << "0x" << hex << pc << dec << " (sfmt_bra_compact)\t"
3333 /* Record the fields for profiling. */
3334 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3341 sh4a_extract_sfmt_braf_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3342 sh4a_insn_word insn = entire_insn;
3343 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3346 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3348 /* Record the fields for the semantic handler. */
3350 if (UNLIKELY(current_cpu->trace_extract_p))
3352 current_cpu->trace_stream
3353 << "0x" << hex << pc << dec << " (sfmt_braf_compact)\t"
3354 << " f_rn:0x" << hex << f_rn << dec
3358 /* Record the fields for profiling. */
3359 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3367 sh4a_extract_sfmt_bsr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3368 sh4a_insn_word insn = entire_insn;
3369 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3372 f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3374 /* Record the fields for the semantic handler. */
3375 FLD (i_disp12) = f_disp12;
3376 if (UNLIKELY(current_cpu->trace_extract_p))
3378 current_cpu->trace_stream
3379 << "0x" << hex << pc << dec << " (sfmt_bsr_compact)\t"
3383 /* Record the fields for profiling. */
3384 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3391 sh4a_extract_sfmt_bsrf_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3392 sh4a_insn_word insn = entire_insn;
3393 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3396 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3398 /* Record the fields for the semantic handler. */
3400 if (UNLIKELY(current_cpu->trace_extract_p))
3402 current_cpu->trace_stream
3403 << "0x" << hex << pc << dec << " (sfmt_bsrf_compact)\t"
3404 << " f_rn:0x" << hex << f_rn << dec
3408 /* Record the fields for profiling. */
3409 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3417 sh4a_extract_sfmt_clrmac_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3418 sh4a_insn_word insn = entire_insn;
3419 #define FLD(f) abuf->fields.fmt_empty.f
3422 /* Record the fields for the semantic handler. */
3423 if (UNLIKELY(current_cpu->trace_extract_p))
3425 current_cpu->trace_stream
3426 << "0x" << hex << pc << dec << " (sfmt_clrmac_compact)\t"
3434 sh4a_extract_sfmt_clrs_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3435 sh4a_insn_word insn = entire_insn;
3436 #define FLD(f) abuf->fields.fmt_empty.f
3439 /* Record the fields for the semantic handler. */
3440 if (UNLIKELY(current_cpu->trace_extract_p))
3442 current_cpu->trace_stream
3443 << "0x" << hex << pc << dec << " (sfmt_clrs_compact)\t"
3451 sh4a_extract_sfmt_clrt_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3452 sh4a_insn_word insn = entire_insn;
3453 #define FLD(f) abuf->fields.fmt_empty.f
3456 /* 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_clrt_compact)\t"
3468 sh4a_extract_sfmt_cmpeq_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3469 sh4a_insn_word insn = entire_insn;
3470 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3474 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3475 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3477 /* Record the fields for the semantic handler. */
3480 if (UNLIKELY(current_cpu->trace_extract_p))
3482 current_cpu->trace_stream
3483 << "0x" << hex << pc << dec << " (sfmt_cmpeq_compact)\t"
3484 << " f_rm:0x" << hex << f_rm << dec
3485 << " f_rn:0x" << hex << f_rn << dec
3489 /* Record the fields for profiling. */
3490 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3499 sh4a_extract_sfmt_cmpeqi_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3500 sh4a_insn_word insn = entire_insn;
3501 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3504 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3506 /* Record the fields for the semantic handler. */
3507 FLD (f_imm8) = f_imm8;
3508 if (UNLIKELY(current_cpu->trace_extract_p))
3510 current_cpu->trace_stream
3511 << "0x" << hex << pc << dec << " (sfmt_cmpeqi_compact)\t"
3512 << " f_imm8:0x" << hex << f_imm8 << dec
3516 /* Record the fields for profiling. */
3517 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3525 sh4a_extract_sfmt_cmppl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3526 sh4a_insn_word insn = entire_insn;
3527 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3530 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3532 /* 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_cmppl_compact)\t"
3538 << " f_rn:0x" << hex << f_rn << dec
3542 /* Record the fields for profiling. */
3543 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3551 sh4a_extract_sfmt_div0s_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3552 sh4a_insn_word insn = entire_insn;
3553 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3557 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3558 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3560 /* Record the fields for the semantic handler. */
3563 if (UNLIKELY(current_cpu->trace_extract_p))
3565 current_cpu->trace_stream
3566 << "0x" << hex << pc << dec << " (sfmt_div0s_compact)\t"
3567 << " f_rm:0x" << hex << f_rm << dec
3568 << " f_rn:0x" << hex << f_rn << dec
3572 /* Record the fields for profiling. */
3573 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3582 sh4a_extract_sfmt_div0u_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3583 sh4a_insn_word insn = entire_insn;
3584 #define FLD(f) abuf->fields.fmt_empty.f
3587 /* Record the fields for the semantic handler. */
3588 if (UNLIKELY(current_cpu->trace_extract_p))
3590 current_cpu->trace_stream
3591 << "0x" << hex << pc << dec << " (sfmt_div0u_compact)\t"
3599 sh4a_extract_sfmt_div1_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3600 sh4a_insn_word insn = entire_insn;
3601 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3605 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3606 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3608 /* Record the fields for the semantic handler. */
3611 if (UNLIKELY(current_cpu->trace_extract_p))
3613 current_cpu->trace_stream
3614 << "0x" << hex << pc << dec << " (sfmt_div1_compact)\t"
3615 << " f_rm:0x" << hex << f_rm << dec
3616 << " f_rn:0x" << hex << f_rn << dec
3620 /* Record the fields for profiling. */
3621 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3625 FLD (out_rn) = f_rn;
3631 sh4a_extract_sfmt_dmulsl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3632 sh4a_insn_word insn = entire_insn;
3633 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
3637 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3638 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3640 /* Record the fields for the semantic handler. */
3643 if (UNLIKELY(current_cpu->trace_extract_p))
3645 current_cpu->trace_stream
3646 << "0x" << hex << pc << dec << " (sfmt_dmulsl_compact)\t"
3647 << " f_rm:0x" << hex << f_rm << dec
3648 << " f_rn:0x" << hex << f_rn << dec
3652 /* Record the fields for profiling. */
3653 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3662 sh4a_extract_sfmt_dt_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3663 sh4a_insn_word insn = entire_insn;
3664 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3667 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3669 /* Record the fields for the semantic handler. */
3671 if (UNLIKELY(current_cpu->trace_extract_p))
3673 current_cpu->trace_stream
3674 << "0x" << hex << pc << dec << " (sfmt_dt_compact)\t"
3675 << " f_rn:0x" << hex << f_rn << dec
3679 /* Record the fields for profiling. */
3680 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3683 FLD (out_rn) = f_rn;
3689 sh4a_extract_sfmt_extsb_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3690 sh4a_insn_word insn = entire_insn;
3691 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
3695 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3696 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3698 /* Record the fields for the semantic handler. */
3701 if (UNLIKELY(current_cpu->trace_extract_p))
3703 current_cpu->trace_stream
3704 << "0x" << hex << pc << dec << " (sfmt_extsb_compact)\t"
3705 << " f_rm:0x" << hex << f_rm << dec
3706 << " f_rn:0x" << hex << f_rn << dec
3710 /* Record the fields for profiling. */
3711 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3714 FLD (out_rn) = f_rn;
3720 sh4a_extract_sfmt_fabs_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3721 sh4a_insn_word insn = entire_insn;
3722 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3725 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3727 /* Record the fields for the semantic handler. */
3729 if (UNLIKELY(current_cpu->trace_extract_p))
3731 current_cpu->trace_stream
3732 << "0x" << hex << pc << dec << " (sfmt_fabs_compact)\t"
3733 << " f_rn:0x" << hex << f_rn << dec
3737 /* Record the fields for profiling. */
3738 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3740 FLD (in_fsdn) = f_rn;
3741 FLD (out_fsdn) = f_rn;
3747 sh4a_extract_sfmt_fadd_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3748 sh4a_insn_word insn = entire_insn;
3749 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3753 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3754 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3756 /* Record the fields for the semantic handler. */
3759 if (UNLIKELY(current_cpu->trace_extract_p))
3761 current_cpu->trace_stream
3762 << "0x" << hex << pc << dec << " (sfmt_fadd_compact)\t"
3763 << " f_rm:0x" << hex << f_rm << dec
3764 << " f_rn:0x" << hex << f_rn << dec
3768 /* Record the fields for profiling. */
3769 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3771 FLD (in_fsdm) = f_rm;
3772 FLD (in_fsdn) = f_rn;
3773 FLD (out_fsdn) = f_rn;
3779 sh4a_extract_sfmt_fcmpeq_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3780 sh4a_insn_word insn = entire_insn;
3781 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3785 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3786 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3788 /* Record the fields for the semantic handler. */
3791 if (UNLIKELY(current_cpu->trace_extract_p))
3793 current_cpu->trace_stream
3794 << "0x" << hex << pc << dec << " (sfmt_fcmpeq_compact)\t"
3795 << " f_rm:0x" << hex << f_rm << dec
3796 << " f_rn:0x" << hex << f_rn << dec
3800 /* Record the fields for profiling. */
3801 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3803 FLD (in_fsdm) = f_rm;
3804 FLD (in_fsdn) = f_rn;
3810 sh4a_extract_sfmt_fipr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3811 sh4a_insn_word insn = entire_insn;
3812 #define FLD(f) abuf->fields.sfmt_fipr_compact.f
3816 f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
3817 f_vm = ((EXTRACT_MSB0_UINT (insn, 16, 6, 2)) << (2));
3819 /* Record the fields for the semantic handler. */
3822 if (UNLIKELY(current_cpu->trace_extract_p))
3824 current_cpu->trace_stream
3825 << "0x" << hex << pc << dec << " (sfmt_fipr_compact)\t"
3826 << " f_vm:0x" << hex << f_vm << dec
3827 << " f_vn:0x" << hex << f_vn << dec
3835 sh4a_extract_sfmt_flds_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3836 sh4a_insn_word insn = entire_insn;
3837 #define FLD(f) abuf->fields.sfmt_flds_compact.f
3840 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3842 /* Record the fields for the semantic handler. */
3844 if (UNLIKELY(current_cpu->trace_extract_p))
3846 current_cpu->trace_stream
3847 << "0x" << hex << pc << dec << " (sfmt_flds_compact)\t"
3848 << " f_rn:0x" << hex << f_rn << dec
3852 /* Record the fields for profiling. */
3853 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3855 FLD (in_frn) = f_rn;
3856 FLD (out_fpul) = 32;
3862 sh4a_extract_sfmt_fldi0_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3863 sh4a_insn_word insn = entire_insn;
3864 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
3867 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3869 /* Record the fields for the semantic handler. */
3871 if (UNLIKELY(current_cpu->trace_extract_p))
3873 current_cpu->trace_stream
3874 << "0x" << hex << pc << dec << " (sfmt_fldi0_compact)\t"
3875 << " f_rn:0x" << hex << f_rn << dec
3879 /* Record the fields for profiling. */
3880 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3882 FLD (out_frn) = f_rn;
3888 sh4a_extract_sfmt_float_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3889 sh4a_insn_word insn = entire_insn;
3890 #define FLD(f) abuf->fields.sfmt_float_compact.f
3893 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3895 /* Record the fields for the semantic handler. */
3897 if (UNLIKELY(current_cpu->trace_extract_p))
3899 current_cpu->trace_stream
3900 << "0x" << hex << pc << dec << " (sfmt_float_compact)\t"
3901 << " f_rn:0x" << hex << f_rn << dec
3905 /* Record the fields for profiling. */
3906 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3909 FLD (out_fsdn) = f_rn;
3915 sh4a_extract_sfmt_fmac_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3916 sh4a_insn_word insn = entire_insn;
3917 #define FLD(f) abuf->fields.sfmt_fmac_compact.f
3921 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3922 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3924 /* Record the fields for the semantic handler. */
3927 if (UNLIKELY(current_cpu->trace_extract_p))
3929 current_cpu->trace_stream
3930 << "0x" << hex << pc << dec << " (sfmt_fmac_compact)\t"
3931 << " f_rm:0x" << hex << f_rm << dec
3932 << " f_rn:0x" << hex << f_rn << dec
3936 /* Record the fields for profiling. */
3937 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3940 FLD (in_frm) = f_rm;
3941 FLD (in_frn) = f_rn;
3942 FLD (out_frn) = f_rn;
3948 sh4a_extract_sfmt_fmov1_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3949 sh4a_insn_word insn = entire_insn;
3950 #define FLD(f) abuf->fields.sfmt_fmov1_compact.f
3954 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3955 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3957 /* Record the fields for the semantic handler. */
3960 if (UNLIKELY(current_cpu->trace_extract_p))
3962 current_cpu->trace_stream
3963 << "0x" << hex << pc << dec << " (sfmt_fmov1_compact)\t"
3964 << " f_rm:0x" << hex << f_rm << dec
3965 << " f_rn:0x" << hex << f_rn << dec
3969 /* Record the fields for profiling. */
3970 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3972 FLD (in_fmovm) = f_rm;
3973 FLD (out_fmovn) = f_rn;
3979 sh4a_extract_sfmt_fmov2_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
3980 sh4a_insn_word insn = entire_insn;
3981 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
3985 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3986 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3988 /* Record the fields for the semantic handler. */
3991 if (UNLIKELY(current_cpu->trace_extract_p))
3993 current_cpu->trace_stream
3994 << "0x" << hex << pc << dec << " (sfmt_fmov2_compact)\t"
3995 << " f_rm:0x" << hex << f_rm << dec
3996 << " f_rn:0x" << hex << f_rn << dec
4000 /* Record the fields for profiling. */
4001 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4004 FLD (out_fmovn) = f_rn;
4010 sh4a_extract_sfmt_fmov3_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4011 sh4a_insn_word insn = entire_insn;
4012 #define FLD(f) abuf->fields.sfmt_fmov3_compact.f
4016 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4017 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4019 /* Record the fields for the semantic handler. */
4022 if (UNLIKELY(current_cpu->trace_extract_p))
4024 current_cpu->trace_stream
4025 << "0x" << hex << pc << dec << " (sfmt_fmov3_compact)\t"
4026 << " f_rm:0x" << hex << f_rm << dec
4027 << " f_rn:0x" << hex << f_rn << dec
4031 /* Record the fields for profiling. */
4032 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4035 FLD (out_fmovn) = f_rn;
4036 FLD (out_rm) = f_rm;
4042 sh4a_extract_sfmt_fmov4_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4043 sh4a_insn_word insn = entire_insn;
4044 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
4048 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4049 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4051 /* Record the fields for the semantic handler. */
4054 if (UNLIKELY(current_cpu->trace_extract_p))
4056 current_cpu->trace_stream
4057 << "0x" << hex << pc << dec << " (sfmt_fmov4_compact)\t"
4058 << " f_rm:0x" << hex << f_rm << dec
4059 << " f_rn:0x" << hex << f_rn << dec
4063 /* Record the fields for profiling. */
4064 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4068 FLD (out_fmovn) = f_rn;
4074 sh4a_extract_sfmt_fmov5_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4075 sh4a_insn_word insn = entire_insn;
4076 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
4080 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4081 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4083 /* Record the fields for the semantic handler. */
4086 if (UNLIKELY(current_cpu->trace_extract_p))
4088 current_cpu->trace_stream
4089 << "0x" << hex << pc << dec << " (sfmt_fmov5_compact)\t"
4090 << " f_rm:0x" << hex << f_rm << dec
4091 << " f_rn:0x" << hex << f_rn << dec
4095 /* Record the fields for profiling. */
4096 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4098 FLD (in_fmovm) = f_rm;
4105 sh4a_extract_sfmt_fmov6_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4106 sh4a_insn_word insn = entire_insn;
4107 #define FLD(f) abuf->fields.sfmt_fmov6_compact.f
4111 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4112 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4114 /* Record the fields for the semantic handler. */
4117 if (UNLIKELY(current_cpu->trace_extract_p))
4119 current_cpu->trace_stream
4120 << "0x" << hex << pc << dec << " (sfmt_fmov6_compact)\t"
4121 << " f_rm:0x" << hex << f_rm << dec
4122 << " f_rn:0x" << hex << f_rn << dec
4126 /* Record the fields for profiling. */
4127 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4129 FLD (in_fmovm) = f_rm;
4131 FLD (out_rn) = f_rn;
4137 sh4a_extract_sfmt_fmov7_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4138 sh4a_insn_word insn = entire_insn;
4139 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
4143 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4144 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4146 /* Record the fields for the semantic handler. */
4149 if (UNLIKELY(current_cpu->trace_extract_p))
4151 current_cpu->trace_stream
4152 << "0x" << hex << pc << dec << " (sfmt_fmov7_compact)\t"
4153 << " f_rm:0x" << hex << f_rm << dec
4154 << " f_rn:0x" << hex << f_rn << dec
4158 /* Record the fields for profiling. */
4159 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4161 FLD (in_fmovm) = f_rm;
4169 sh4a_extract_sfmt_frchg_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4170 sh4a_insn_word insn = entire_insn;
4171 #define FLD(f) abuf->fields.fmt_empty.f
4174 /* Record the fields for the semantic handler. */
4175 if (UNLIKELY(current_cpu->trace_extract_p))
4177 current_cpu->trace_stream
4178 << "0x" << hex << pc << dec << " (sfmt_frchg_compact)\t"
4186 sh4a_extract_sfmt_fschg_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4187 sh4a_insn_word insn = entire_insn;
4188 #define FLD(f) abuf->fields.fmt_empty.f
4191 /* Record the fields for the semantic handler. */
4192 if (UNLIKELY(current_cpu->trace_extract_p))
4194 current_cpu->trace_stream
4195 << "0x" << hex << pc << dec << " (sfmt_fschg_compact)\t"
4203 sh4a_extract_sfmt_fsts_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4204 sh4a_insn_word insn = entire_insn;
4205 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
4208 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4210 /* Record the fields for the semantic handler. */
4212 if (UNLIKELY(current_cpu->trace_extract_p))
4214 current_cpu->trace_stream
4215 << "0x" << hex << pc << dec << " (sfmt_fsts_compact)\t"
4216 << " f_rn:0x" << hex << f_rn << dec
4220 /* Record the fields for profiling. */
4221 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4224 FLD (out_frn) = f_rn;
4230 sh4a_extract_sfmt_ftrc_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4231 sh4a_insn_word insn = entire_insn;
4232 #define FLD(f) abuf->fields.sfmt_ftrc_compact.f
4235 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4237 /* Record the fields for the semantic handler. */
4239 if (UNLIKELY(current_cpu->trace_extract_p))
4241 current_cpu->trace_stream
4242 << "0x" << hex << pc << dec << " (sfmt_ftrc_compact)\t"
4243 << " f_rn:0x" << hex << f_rn << dec
4247 /* Record the fields for profiling. */
4248 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4250 FLD (in_fsdn) = f_rn;
4251 FLD (out_fpul) = 32;
4257 sh4a_extract_sfmt_ftrv_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4258 sh4a_insn_word insn = entire_insn;
4259 #define FLD(f) abuf->fields.sfmt_fipr_compact.f
4262 f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
4264 /* Record the fields for the semantic handler. */
4266 if (UNLIKELY(current_cpu->trace_extract_p))
4268 current_cpu->trace_stream
4269 << "0x" << hex << pc << dec << " (sfmt_ftrv_compact)\t"
4270 << " f_vn:0x" << hex << f_vn << dec
4278 sh4a_extract_sfmt_ldc_gbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4279 sh4a_insn_word insn = entire_insn;
4280 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4283 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4285 /* Record the fields for the semantic handler. */
4287 if (UNLIKELY(current_cpu->trace_extract_p))
4289 current_cpu->trace_stream
4290 << "0x" << hex << pc << dec << " (sfmt_ldc_gbr_compact)\t"
4291 << " f_rn:0x" << hex << f_rn << dec
4295 /* Record the fields for profiling. */
4296 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4304 sh4a_extract_sfmt_ldc_vbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4305 sh4a_insn_word insn = entire_insn;
4306 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4309 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4311 /* Record the fields for the semantic handler. */
4313 if (UNLIKELY(current_cpu->trace_extract_p))
4315 current_cpu->trace_stream
4316 << "0x" << hex << pc << dec << " (sfmt_ldc_vbr_compact)\t"
4317 << " f_rn:0x" << hex << f_rn << dec
4321 /* Record the fields for profiling. */
4322 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4330 sh4a_extract_sfmt_ldc_sr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4331 sh4a_insn_word insn = entire_insn;
4332 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4335 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4337 /* Record the fields for the semantic handler. */
4339 if (UNLIKELY(current_cpu->trace_extract_p))
4341 current_cpu->trace_stream
4342 << "0x" << hex << pc << dec << " (sfmt_ldc_sr_compact)\t"
4343 << " f_rn:0x" << hex << f_rn << dec
4347 /* Record the fields for profiling. */
4348 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4356 sh4a_extract_sfmt_ldcl_gbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4357 sh4a_insn_word insn = entire_insn;
4358 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4361 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4363 /* Record the fields for the semantic handler. */
4365 if (UNLIKELY(current_cpu->trace_extract_p))
4367 current_cpu->trace_stream
4368 << "0x" << hex << pc << dec << " (sfmt_ldcl_gbr_compact)\t"
4369 << " f_rn:0x" << hex << f_rn << dec
4373 /* Record the fields for profiling. */
4374 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4377 FLD (out_rn) = f_rn;
4383 sh4a_extract_sfmt_ldcl_vbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4384 sh4a_insn_word insn = entire_insn;
4385 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4388 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4390 /* Record the fields for the semantic handler. */
4392 if (UNLIKELY(current_cpu->trace_extract_p))
4394 current_cpu->trace_stream
4395 << "0x" << hex << pc << dec << " (sfmt_ldcl_vbr_compact)\t"
4396 << " f_rn:0x" << hex << f_rn << dec
4400 /* Record the fields for profiling. */
4401 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4404 FLD (out_rn) = f_rn;
4410 sh4a_extract_sfmt_lds_fpscr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4411 sh4a_insn_word insn = entire_insn;
4412 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4415 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4417 /* Record the fields for the semantic handler. */
4419 if (UNLIKELY(current_cpu->trace_extract_p))
4421 current_cpu->trace_stream
4422 << "0x" << hex << pc << dec << " (sfmt_lds_fpscr_compact)\t"
4423 << " f_rn:0x" << hex << f_rn << dec
4427 /* Record the fields for profiling. */
4428 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4436 sh4a_extract_sfmt_ldsl_fpscr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4437 sh4a_insn_word insn = entire_insn;
4438 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4441 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4443 /* Record the fields for the semantic handler. */
4445 if (UNLIKELY(current_cpu->trace_extract_p))
4447 current_cpu->trace_stream
4448 << "0x" << hex << pc << dec << " (sfmt_ldsl_fpscr_compact)\t"
4449 << " f_rn:0x" << hex << f_rn << dec
4453 /* Record the fields for profiling. */
4454 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4457 FLD (out_rn) = f_rn;
4463 sh4a_extract_sfmt_lds_fpul_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4464 sh4a_insn_word insn = entire_insn;
4465 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4468 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4470 /* Record the fields for the semantic handler. */
4472 if (UNLIKELY(current_cpu->trace_extract_p))
4474 current_cpu->trace_stream
4475 << "0x" << hex << pc << dec << " (sfmt_lds_fpul_compact)\t"
4476 << " f_rn:0x" << hex << f_rn << dec
4480 /* Record the fields for profiling. */
4481 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4484 FLD (out_fpul) = 32;
4490 sh4a_extract_sfmt_ldsl_fpul_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4491 sh4a_insn_word insn = entire_insn;
4492 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4495 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4497 /* Record the fields for the semantic handler. */
4499 if (UNLIKELY(current_cpu->trace_extract_p))
4501 current_cpu->trace_stream
4502 << "0x" << hex << pc << dec << " (sfmt_ldsl_fpul_compact)\t"
4503 << " f_rn:0x" << hex << f_rn << dec
4507 /* Record the fields for profiling. */
4508 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4511 FLD (out_fpul) = 32;
4512 FLD (out_rn) = f_rn;
4518 sh4a_extract_sfmt_lds_mach_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4519 sh4a_insn_word insn = entire_insn;
4520 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4523 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4525 /* Record the fields for the semantic handler. */
4527 if (UNLIKELY(current_cpu->trace_extract_p))
4529 current_cpu->trace_stream
4530 << "0x" << hex << pc << dec << " (sfmt_lds_mach_compact)\t"
4531 << " f_rn:0x" << hex << f_rn << dec
4535 /* Record the fields for profiling. */
4536 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4544 sh4a_extract_sfmt_ldsl_mach_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4545 sh4a_insn_word insn = entire_insn;
4546 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4549 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4551 /* Record the fields for the semantic handler. */
4553 if (UNLIKELY(current_cpu->trace_extract_p))
4555 current_cpu->trace_stream
4556 << "0x" << hex << pc << dec << " (sfmt_ldsl_mach_compact)\t"
4557 << " f_rn:0x" << hex << f_rn << dec
4561 /* Record the fields for profiling. */
4562 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4565 FLD (out_rn) = f_rn;
4571 sh4a_extract_sfmt_lds_macl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4572 sh4a_insn_word insn = entire_insn;
4573 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4576 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4578 /* Record the fields for the semantic handler. */
4580 if (UNLIKELY(current_cpu->trace_extract_p))
4582 current_cpu->trace_stream
4583 << "0x" << hex << pc << dec << " (sfmt_lds_macl_compact)\t"
4584 << " f_rn:0x" << hex << f_rn << dec
4588 /* Record the fields for profiling. */
4589 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4597 sh4a_extract_sfmt_ldsl_macl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4598 sh4a_insn_word insn = entire_insn;
4599 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4602 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4604 /* Record the fields for the semantic handler. */
4606 if (UNLIKELY(current_cpu->trace_extract_p))
4608 current_cpu->trace_stream
4609 << "0x" << hex << pc << dec << " (sfmt_ldsl_macl_compact)\t"
4610 << " f_rn:0x" << hex << f_rn << dec
4614 /* Record the fields for profiling. */
4615 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4618 FLD (out_rn) = f_rn;
4624 sh4a_extract_sfmt_lds_pr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4625 sh4a_insn_word insn = entire_insn;
4626 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4629 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4631 /* Record the fields for the semantic handler. */
4633 if (UNLIKELY(current_cpu->trace_extract_p))
4635 current_cpu->trace_stream
4636 << "0x" << hex << pc << dec << " (sfmt_lds_pr_compact)\t"
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))
4650 sh4a_extract_sfmt_ldsl_pr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4651 sh4a_insn_word insn = entire_insn;
4652 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4655 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4657 /* Record the fields for the semantic handler. */
4659 if (UNLIKELY(current_cpu->trace_extract_p))
4661 current_cpu->trace_stream
4662 << "0x" << hex << pc << dec << " (sfmt_ldsl_pr_compact)\t"
4663 << " f_rn:0x" << hex << f_rn << dec
4667 /* Record the fields for profiling. */
4668 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4671 FLD (out_rn) = f_rn;
4677 sh4a_extract_sfmt_macl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4678 sh4a_insn_word insn = entire_insn;
4679 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4683 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4684 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4686 /* Record the fields for the semantic handler. */
4689 if (UNLIKELY(current_cpu->trace_extract_p))
4691 current_cpu->trace_stream
4692 << "0x" << hex << pc << dec << " (sfmt_macl_compact)\t"
4693 << " f_rm:0x" << hex << f_rm << dec
4694 << " f_rn:0x" << hex << f_rn << dec
4698 /* Record the fields for profiling. */
4699 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4703 FLD (out_rm) = f_rm;
4704 FLD (out_rn) = f_rn;
4710 sh4a_extract_sfmt_macw_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4711 sh4a_insn_word insn = entire_insn;
4712 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4716 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4717 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4719 /* Record the fields for the semantic handler. */
4722 if (UNLIKELY(current_cpu->trace_extract_p))
4724 current_cpu->trace_stream
4725 << "0x" << hex << pc << dec << " (sfmt_macw_compact)\t"
4726 << " f_rm:0x" << hex << f_rm << dec
4727 << " f_rn:0x" << hex << f_rn << dec
4731 /* Record the fields for profiling. */
4732 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4736 FLD (out_rm) = f_rm;
4737 FLD (out_rn) = f_rn;
4743 sh4a_extract_sfmt_mov_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4744 sh4a_insn_word insn = entire_insn;
4745 #define FLD(f) abuf->fields.sfmt_and_compact.f
4749 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4750 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4752 /* Record the fields for the semantic handler. */
4755 if (UNLIKELY(current_cpu->trace_extract_p))
4757 current_cpu->trace_stream
4758 << "0x" << hex << pc << dec << " (sfmt_mov_compact)\t"
4759 << " f_rm:0x" << hex << f_rm << dec
4760 << " f_rn:0x" << hex << f_rn << dec
4764 /* Record the fields for profiling. */
4765 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4767 FLD (in_rm64) = f_rm;
4768 FLD (out_rn64) = f_rn;
4774 sh4a_extract_sfmt_movi_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4775 sh4a_insn_word insn = entire_insn;
4776 #define FLD(f) abuf->fields.sfmt_addi_compact.f
4780 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4781 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4783 /* Record the fields for the semantic handler. */
4784 FLD (f_imm8) = f_imm8;
4786 if (UNLIKELY(current_cpu->trace_extract_p))
4788 current_cpu->trace_stream
4789 << "0x" << hex << pc << dec << " (sfmt_movi_compact)\t"
4790 << " f_imm8:0x" << hex << f_imm8 << dec
4791 << " f_rn:0x" << hex << f_rn << dec
4795 /* Record the fields for profiling. */
4796 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4798 FLD (out_rn) = f_rn;
4804 sh4a_extract_sfmt_movb1_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4805 sh4a_insn_word insn = entire_insn;
4806 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4810 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4811 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4813 /* Record the fields for the semantic handler. */
4816 if (UNLIKELY(current_cpu->trace_extract_p))
4818 current_cpu->trace_stream
4819 << "0x" << hex << pc << dec << " (sfmt_movb1_compact)\t"
4820 << " f_rm:0x" << hex << f_rm << dec
4821 << " f_rn:0x" << hex << f_rn << dec
4825 /* Record the fields for profiling. */
4826 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4835 sh4a_extract_sfmt_movb2_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4836 sh4a_insn_word insn = entire_insn;
4837 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4841 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4842 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4844 /* Record the fields for the semantic handler. */
4847 if (UNLIKELY(current_cpu->trace_extract_p))
4849 current_cpu->trace_stream
4850 << "0x" << hex << pc << dec << " (sfmt_movb2_compact)\t"
4851 << " f_rm:0x" << hex << f_rm << dec
4852 << " f_rn:0x" << hex << f_rn << dec
4856 /* Record the fields for profiling. */
4857 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4861 FLD (out_rn) = f_rn;
4867 sh4a_extract_sfmt_movb3_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4868 sh4a_insn_word insn = entire_insn;
4869 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4873 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4874 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4876 /* Record the fields for the semantic handler. */
4879 if (UNLIKELY(current_cpu->trace_extract_p))
4881 current_cpu->trace_stream
4882 << "0x" << hex << pc << dec << " (sfmt_movb3_compact)\t"
4883 << " f_rm:0x" << hex << f_rm << dec
4884 << " f_rn:0x" << hex << f_rn << dec
4888 /* Record the fields for profiling. */
4889 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4899 sh4a_extract_sfmt_movb4_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4900 sh4a_insn_word insn = entire_insn;
4901 #define FLD(f) abuf->fields.sfmt_andi_compact.f
4904 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4906 /* Record the fields for the semantic handler. */
4907 FLD (f_imm8) = f_imm8;
4908 if (UNLIKELY(current_cpu->trace_extract_p))
4910 current_cpu->trace_stream
4911 << "0x" << hex << pc << dec << " (sfmt_movb4_compact)\t"
4912 << " f_imm8:0x" << hex << f_imm8 << dec
4916 /* Record the fields for profiling. */
4917 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4925 sh4a_extract_sfmt_movb5_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4926 sh4a_insn_word insn = entire_insn;
4927 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
4931 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4932 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4934 /* Record the fields for the semantic handler. */
4935 FLD (f_imm4) = f_imm4;
4937 if (UNLIKELY(current_cpu->trace_extract_p))
4939 current_cpu->trace_stream
4940 << "0x" << hex << pc << dec << " (sfmt_movb5_compact)\t"
4941 << " f_imm4:0x" << hex << f_imm4 << dec
4942 << " f_rm:0x" << hex << f_rm << dec
4946 /* Record the fields for profiling. */
4947 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4956 sh4a_extract_sfmt_movb6_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4957 sh4a_insn_word insn = entire_insn;
4958 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4962 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4963 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4965 /* Record the fields for the semantic handler. */
4968 if (UNLIKELY(current_cpu->trace_extract_p))
4970 current_cpu->trace_stream
4971 << "0x" << hex << pc << dec << " (sfmt_movb6_compact)\t"
4972 << " f_rm:0x" << hex << f_rm << dec
4973 << " f_rn:0x" << hex << f_rn << dec
4977 /* Record the fields for profiling. */
4978 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4981 FLD (out_rn) = f_rn;
4987 sh4a_extract_sfmt_movb7_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
4988 sh4a_insn_word insn = entire_insn;
4989 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4993 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4994 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4996 /* Record the fields for the semantic handler. */
4999 if (UNLIKELY(current_cpu->trace_extract_p))
5001 current_cpu->trace_stream
5002 << "0x" << hex << pc << dec << " (sfmt_movb7_compact)\t"
5003 << " f_rm:0x" << hex << f_rm << dec
5004 << " f_rn:0x" << hex << f_rn << dec
5008 /* Record the fields for profiling. */
5009 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5012 FLD (out_rm) = f_rm;
5013 FLD (out_rn) = f_rn;
5019 sh4a_extract_sfmt_movb8_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5020 sh4a_insn_word insn = entire_insn;
5021 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
5025 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5026 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5028 /* Record the fields for the semantic handler. */
5031 if (UNLIKELY(current_cpu->trace_extract_p))
5033 current_cpu->trace_stream
5034 << "0x" << hex << pc << dec << " (sfmt_movb8_compact)\t"
5035 << " f_rm:0x" << hex << f_rm << dec
5036 << " f_rn:0x" << hex << f_rn << dec
5040 /* Record the fields for profiling. */
5041 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5045 FLD (out_rn) = f_rn;
5051 sh4a_extract_sfmt_movb9_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5052 sh4a_insn_word insn = entire_insn;
5053 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5056 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
5058 /* Record the fields for the semantic handler. */
5059 FLD (f_imm8) = f_imm8;
5060 if (UNLIKELY(current_cpu->trace_extract_p))
5062 current_cpu->trace_stream
5063 << "0x" << hex << pc << dec << " (sfmt_movb9_compact)\t"
5064 << " f_imm8:0x" << hex << f_imm8 << dec
5068 /* Record the fields for profiling. */
5069 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5077 sh4a_extract_sfmt_movb10_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5078 sh4a_insn_word insn = entire_insn;
5079 #define FLD(f) abuf->fields.sfmt_movb10_compact.f
5083 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5084 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
5086 /* Record the fields for the semantic handler. */
5087 FLD (f_imm4) = f_imm4;
5089 if (UNLIKELY(current_cpu->trace_extract_p))
5091 current_cpu->trace_stream
5092 << "0x" << hex << pc << dec << " (sfmt_movb10_compact)\t"
5093 << " f_imm4:0x" << hex << f_imm4 << dec
5094 << " f_rm:0x" << hex << f_rm << dec
5098 /* Record the fields for profiling. */
5099 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5108 sh4a_extract_sfmt_movl1_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5109 sh4a_insn_word insn = entire_insn;
5110 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5114 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5115 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5117 /* Record the fields for the semantic handler. */
5120 if (UNLIKELY(current_cpu->trace_extract_p))
5122 current_cpu->trace_stream
5123 << "0x" << hex << pc << dec << " (sfmt_movl1_compact)\t"
5124 << " f_rm:0x" << hex << f_rm << dec
5125 << " f_rn:0x" << hex << f_rn << dec
5129 /* Record the fields for profiling. */
5130 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5139 sh4a_extract_sfmt_movl2_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5140 sh4a_insn_word insn = entire_insn;
5141 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5145 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5146 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5148 /* Record the fields for the semantic handler. */
5151 if (UNLIKELY(current_cpu->trace_extract_p))
5153 current_cpu->trace_stream
5154 << "0x" << hex << pc << dec << " (sfmt_movl2_compact)\t"
5155 << " f_rm:0x" << hex << f_rm << dec
5156 << " f_rn:0x" << hex << f_rn << dec
5160 /* Record the fields for profiling. */
5161 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5165 FLD (out_rn) = f_rn;
5171 sh4a_extract_sfmt_movl3_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5172 sh4a_insn_word insn = entire_insn;
5173 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5177 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5178 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5180 /* Record the fields for the semantic handler. */
5183 if (UNLIKELY(current_cpu->trace_extract_p))
5185 current_cpu->trace_stream
5186 << "0x" << hex << pc << dec << " (sfmt_movl3_compact)\t"
5187 << " f_rm:0x" << hex << f_rm << dec
5188 << " f_rn:0x" << hex << f_rn << dec
5192 /* Record the fields for profiling. */
5193 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5203 sh4a_extract_sfmt_movl4_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5204 sh4a_insn_word insn = entire_insn;
5205 #define FLD(f) abuf->fields.sfmt_movl4_compact.f
5208 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5210 /* Record the fields for the semantic handler. */
5211 FLD (f_imm8x4) = f_imm8x4;
5212 if (UNLIKELY(current_cpu->trace_extract_p))
5214 current_cpu->trace_stream
5215 << "0x" << hex << pc << dec << " (sfmt_movl4_compact)\t"
5216 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5220 /* Record the fields for profiling. */
5221 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5229 sh4a_extract_sfmt_movl5_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5230 sh4a_insn_word insn = entire_insn;
5231 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5236 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5237 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5238 f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5240 /* Record the fields for the semantic handler. */
5241 FLD (f_imm4x4) = f_imm4x4;
5244 if (UNLIKELY(current_cpu->trace_extract_p))
5246 current_cpu->trace_stream
5247 << "0x" << hex << pc << dec << " (sfmt_movl5_compact)\t"
5248 << " f_imm4x4:0x" << hex << f_imm4x4 << dec
5249 << " f_rm:0x" << hex << f_rm << dec
5250 << " f_rn:0x" << hex << f_rn << dec
5254 /* Record the fields for profiling. */
5255 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5264 sh4a_extract_sfmt_movl6_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5265 sh4a_insn_word insn = entire_insn;
5266 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5270 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5271 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5273 /* Record the fields for the semantic handler. */
5276 if (UNLIKELY(current_cpu->trace_extract_p))
5278 current_cpu->trace_stream
5279 << "0x" << hex << pc << dec << " (sfmt_movl6_compact)\t"
5280 << " f_rm:0x" << hex << f_rm << dec
5281 << " f_rn:0x" << hex << f_rn << dec
5285 /* Record the fields for profiling. */
5286 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5289 FLD (out_rn) = f_rn;
5295 sh4a_extract_sfmt_movl7_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5296 sh4a_insn_word insn = entire_insn;
5297 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5301 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5302 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5304 /* Record the fields for the semantic handler. */
5307 if (UNLIKELY(current_cpu->trace_extract_p))
5309 current_cpu->trace_stream
5310 << "0x" << hex << pc << dec << " (sfmt_movl7_compact)\t"
5311 << " f_rm:0x" << hex << f_rm << dec
5312 << " f_rn:0x" << hex << f_rn << dec
5316 /* Record the fields for profiling. */
5317 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5321 FLD (out_rm) = f_rm;
5322 FLD (out_rn) = f_rn;
5328 sh4a_extract_sfmt_movl8_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5329 sh4a_insn_word insn = entire_insn;
5330 #define FLD(f) abuf->fields.sfmt_movb8_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_movl8_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))
5354 FLD (out_rn) = f_rn;
5360 sh4a_extract_sfmt_movl9_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5361 sh4a_insn_word insn = entire_insn;
5362 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
5365 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5367 /* Record the fields for the semantic handler. */
5368 FLD (f_imm8x4) = f_imm8x4;
5369 if (UNLIKELY(current_cpu->trace_extract_p))
5371 current_cpu->trace_stream
5372 << "0x" << hex << pc << dec << " (sfmt_movl9_compact)\t"
5373 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5377 /* Record the fields for profiling. */
5378 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5386 sh4a_extract_sfmt_movl10_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5387 sh4a_insn_word insn = entire_insn;
5388 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5392 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5393 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5395 /* Record the fields for the semantic handler. */
5396 FLD (f_imm8x4) = f_imm8x4;
5398 if (UNLIKELY(current_cpu->trace_extract_p))
5400 current_cpu->trace_stream
5401 << "0x" << hex << pc << dec << " (sfmt_movl10_compact)\t"
5402 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5403 << " f_rn:0x" << hex << f_rn << dec
5407 /* Record the fields for profiling. */
5408 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5410 FLD (out_rn) = f_rn;
5416 sh4a_extract_sfmt_movl11_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5417 sh4a_insn_word insn = entire_insn;
5418 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5423 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5424 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5425 f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5427 /* Record the fields for the semantic handler. */
5428 FLD (f_imm4x4) = f_imm4x4;
5431 if (UNLIKELY(current_cpu->trace_extract_p))
5433 current_cpu->trace_stream
5434 << "0x" << hex << pc << dec << " (sfmt_movl11_compact)\t"
5435 << " f_imm4x4:0x" << hex << f_imm4x4 << dec
5436 << " f_rm:0x" << hex << f_rm << dec
5437 << " f_rn:0x" << hex << f_rn << dec
5441 /* Record the fields for profiling. */
5442 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5445 FLD (out_rn) = f_rn;
5451 sh4a_extract_sfmt_movw1_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5452 sh4a_insn_word insn = entire_insn;
5453 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5457 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5458 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5460 /* Record the fields for the semantic handler. */
5463 if (UNLIKELY(current_cpu->trace_extract_p))
5465 current_cpu->trace_stream
5466 << "0x" << hex << pc << dec << " (sfmt_movw1_compact)\t"
5467 << " f_rm:0x" << hex << f_rm << dec
5468 << " f_rn:0x" << hex << f_rn << dec
5472 /* Record the fields for profiling. */
5473 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5482 sh4a_extract_sfmt_movw2_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5483 sh4a_insn_word insn = entire_insn;
5484 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5488 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5489 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5491 /* Record the fields for the semantic handler. */
5494 if (UNLIKELY(current_cpu->trace_extract_p))
5496 current_cpu->trace_stream
5497 << "0x" << hex << pc << dec << " (sfmt_movw2_compact)\t"
5498 << " f_rm:0x" << hex << f_rm << dec
5499 << " f_rn:0x" << hex << f_rn << dec
5503 /* Record the fields for profiling. */
5504 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5508 FLD (out_rn) = f_rn;
5514 sh4a_extract_sfmt_movw3_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5515 sh4a_insn_word insn = entire_insn;
5516 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5520 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5521 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5523 /* Record the fields for the semantic handler. */
5526 if (UNLIKELY(current_cpu->trace_extract_p))
5528 current_cpu->trace_stream
5529 << "0x" << hex << pc << dec << " (sfmt_movw3_compact)\t"
5530 << " f_rm:0x" << hex << f_rm << dec
5531 << " f_rn:0x" << hex << f_rn << dec
5535 /* Record the fields for profiling. */
5536 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5546 sh4a_extract_sfmt_movw4_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5547 sh4a_insn_word insn = entire_insn;
5548 #define FLD(f) abuf->fields.sfmt_movw4_compact.f
5551 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5553 /* Record the fields for the semantic handler. */
5554 FLD (f_imm8x2) = f_imm8x2;
5555 if (UNLIKELY(current_cpu->trace_extract_p))
5557 current_cpu->trace_stream
5558 << "0x" << hex << pc << dec << " (sfmt_movw4_compact)\t"
5559 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
5563 /* Record the fields for profiling. */
5564 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5572 sh4a_extract_sfmt_movw5_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5573 sh4a_insn_word insn = entire_insn;
5574 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
5578 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5579 f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
5581 /* Record the fields for the semantic handler. */
5582 FLD (f_imm4x2) = f_imm4x2;
5584 if (UNLIKELY(current_cpu->trace_extract_p))
5586 current_cpu->trace_stream
5587 << "0x" << hex << pc << dec << " (sfmt_movw5_compact)\t"
5588 << " f_imm4x2:0x" << hex << f_imm4x2 << dec
5589 << " f_rm:0x" << hex << f_rm << dec
5593 /* Record the fields for profiling. */
5594 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5603 sh4a_extract_sfmt_movw6_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5604 sh4a_insn_word insn = entire_insn;
5605 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5609 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5610 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5612 /* Record the fields for the semantic handler. */
5615 if (UNLIKELY(current_cpu->trace_extract_p))
5617 current_cpu->trace_stream
5618 << "0x" << hex << pc << dec << " (sfmt_movw6_compact)\t"
5619 << " f_rm:0x" << hex << f_rm << dec
5620 << " f_rn:0x" << hex << f_rn << dec
5624 /* Record the fields for profiling. */
5625 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5628 FLD (out_rn) = f_rn;
5634 sh4a_extract_sfmt_movw7_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5635 sh4a_insn_word insn = entire_insn;
5636 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5640 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5641 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5643 /* Record the fields for the semantic handler. */
5646 if (UNLIKELY(current_cpu->trace_extract_p))
5648 current_cpu->trace_stream
5649 << "0x" << hex << pc << dec << " (sfmt_movw7_compact)\t"
5650 << " f_rm:0x" << hex << f_rm << dec
5651 << " f_rn:0x" << hex << f_rn << dec
5655 /* Record the fields for profiling. */
5656 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5659 FLD (out_rm) = f_rm;
5660 FLD (out_rn) = f_rn;
5666 sh4a_extract_sfmt_movw8_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5667 sh4a_insn_word insn = entire_insn;
5668 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
5672 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5673 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5675 /* Record the fields for the semantic handler. */
5678 if (UNLIKELY(current_cpu->trace_extract_p))
5680 current_cpu->trace_stream
5681 << "0x" << hex << pc << dec << " (sfmt_movw8_compact)\t"
5682 << " f_rm:0x" << hex << f_rm << dec
5683 << " f_rn:0x" << hex << f_rn << dec
5687 /* Record the fields for profiling. */
5688 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5692 FLD (out_rn) = f_rn;
5698 sh4a_extract_sfmt_movw9_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5699 sh4a_insn_word insn = entire_insn;
5700 #define FLD(f) abuf->fields.sfmt_movw9_compact.f
5703 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5705 /* Record the fields for the semantic handler. */
5706 FLD (f_imm8x2) = f_imm8x2;
5707 if (UNLIKELY(current_cpu->trace_extract_p))
5709 current_cpu->trace_stream
5710 << "0x" << hex << pc << dec << " (sfmt_movw9_compact)\t"
5711 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
5715 /* Record the fields for profiling. */
5716 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5724 sh4a_extract_sfmt_movw10_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5725 sh4a_insn_word insn = entire_insn;
5726 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5730 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5731 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5733 /* Record the fields for the semantic handler. */
5734 FLD (f_imm8x2) = f_imm8x2;
5736 if (UNLIKELY(current_cpu->trace_extract_p))
5738 current_cpu->trace_stream
5739 << "0x" << hex << pc << dec << " (sfmt_movw10_compact)\t"
5740 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
5741 << " f_rn:0x" << hex << f_rn << dec
5745 /* Record the fields for profiling. */
5746 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5748 FLD (out_rn) = f_rn;
5754 sh4a_extract_sfmt_movw11_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5755 sh4a_insn_word insn = entire_insn;
5756 #define FLD(f) abuf->fields.sfmt_movw11_compact.f
5760 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5761 f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
5763 /* Record the fields for the semantic handler. */
5764 FLD (f_imm4x2) = f_imm4x2;
5766 if (UNLIKELY(current_cpu->trace_extract_p))
5768 current_cpu->trace_stream
5769 << "0x" << hex << pc << dec << " (sfmt_movw11_compact)\t"
5770 << " f_imm4x2:0x" << hex << f_imm4x2 << dec
5771 << " f_rm:0x" << hex << f_rm << dec
5775 /* Record the fields for profiling. */
5776 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5785 sh4a_extract_sfmt_mova_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5786 sh4a_insn_word insn = entire_insn;
5787 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
5790 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5792 /* Record the fields for the semantic handler. */
5793 FLD (f_imm8x4) = f_imm8x4;
5794 if (UNLIKELY(current_cpu->trace_extract_p))
5796 current_cpu->trace_stream
5797 << "0x" << hex << pc << dec << " (sfmt_mova_compact)\t"
5798 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5802 /* Record the fields for profiling. */
5803 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5811 sh4a_extract_sfmt_movcal_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5812 sh4a_insn_word insn = entire_insn;
5813 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5816 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5818 /* Record the fields for the semantic handler. */
5820 if (UNLIKELY(current_cpu->trace_extract_p))
5822 current_cpu->trace_stream
5823 << "0x" << hex << pc << dec << " (sfmt_movcal_compact)\t"
5824 << " f_rn:0x" << hex << f_rn << dec
5828 /* Record the fields for profiling. */
5829 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5838 sh4a_extract_sfmt_movcol_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5839 sh4a_insn_word insn = entire_insn;
5840 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
5843 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5845 /* Record the fields for the semantic handler. */
5847 if (UNLIKELY(current_cpu->trace_extract_p))
5849 current_cpu->trace_stream
5850 << "0x" << hex << pc << dec << " (sfmt_movcol_compact)\t"
5851 << " f_rn:0x" << hex << f_rn << dec
5855 /* Record the fields for profiling. */
5856 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5859 FLD (out_rn) = f_rn;
5865 sh4a_extract_sfmt_movt_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5866 sh4a_insn_word insn = entire_insn;
5867 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5870 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5872 /* Record the fields for the semantic handler. */
5874 if (UNLIKELY(current_cpu->trace_extract_p))
5876 current_cpu->trace_stream
5877 << "0x" << hex << pc << dec << " (sfmt_movt_compact)\t"
5878 << " f_rn:0x" << hex << f_rn << dec
5882 /* Record the fields for profiling. */
5883 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5885 FLD (out_rn) = f_rn;
5891 sh4a_extract_sfmt_movual_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5892 sh4a_insn_word insn = entire_insn;
5893 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5896 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5898 /* Record the fields for the semantic handler. */
5900 if (UNLIKELY(current_cpu->trace_extract_p))
5902 current_cpu->trace_stream
5903 << "0x" << hex << pc << dec << " (sfmt_movual_compact)\t"
5904 << " f_rn:0x" << hex << f_rn << dec
5908 /* Record the fields for profiling. */
5909 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5918 sh4a_extract_sfmt_movual2_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5919 sh4a_insn_word insn = entire_insn;
5920 #define FLD(f) abuf->fields.sfmt_movual2_compact.f
5923 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5925 /* Record the fields for the semantic handler. */
5927 if (UNLIKELY(current_cpu->trace_extract_p))
5929 current_cpu->trace_stream
5930 << "0x" << hex << pc << dec << " (sfmt_movual2_compact)\t"
5931 << " f_rn:0x" << hex << f_rn << dec
5935 /* Record the fields for profiling. */
5936 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5940 FLD (out_rn) = f_rn;
5946 sh4a_extract_sfmt_mull_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5947 sh4a_insn_word insn = entire_insn;
5948 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5952 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5953 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5955 /* Record the fields for the semantic handler. */
5958 if (UNLIKELY(current_cpu->trace_extract_p))
5960 current_cpu->trace_stream
5961 << "0x" << hex << pc << dec << " (sfmt_mull_compact)\t"
5962 << " f_rm:0x" << hex << f_rm << dec
5963 << " f_rn:0x" << hex << f_rn << dec
5967 /* Record the fields for profiling. */
5968 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5977 sh4a_extract_sfmt_negc_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
5978 sh4a_insn_word insn = entire_insn;
5979 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5983 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5984 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5986 /* Record the fields for the semantic handler. */
5989 if (UNLIKELY(current_cpu->trace_extract_p))
5991 current_cpu->trace_stream
5992 << "0x" << hex << pc << dec << " (sfmt_negc_compact)\t"
5993 << " f_rm:0x" << hex << f_rm << dec
5994 << " f_rn:0x" << hex << f_rn << dec
5998 /* Record the fields for profiling. */
5999 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6002 FLD (out_rn) = f_rn;
6008 sh4a_extract_sfmt_nop_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6009 sh4a_insn_word insn = entire_insn;
6010 #define FLD(f) abuf->fields.fmt_empty.f
6013 /* 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_nop_compact)\t"
6025 sh4a_extract_sfmt_pref_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6026 sh4a_insn_word insn = entire_insn;
6027 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6030 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6032 /* Record the fields for the semantic handler. */
6034 if (UNLIKELY(current_cpu->trace_extract_p))
6036 current_cpu->trace_stream
6037 << "0x" << hex << pc << dec << " (sfmt_pref_compact)\t"
6038 << " f_rn:0x" << hex << f_rn << dec
6042 /* Record the fields for profiling. */
6043 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6051 sh4a_extract_sfmt_rotcl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6052 sh4a_insn_word insn = entire_insn;
6053 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6056 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6058 /* Record the fields for the semantic handler. */
6060 if (UNLIKELY(current_cpu->trace_extract_p))
6062 current_cpu->trace_stream
6063 << "0x" << hex << pc << dec << " (sfmt_rotcl_compact)\t"
6064 << " f_rn:0x" << hex << f_rn << dec
6068 /* Record the fields for profiling. */
6069 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6072 FLD (out_rn) = f_rn;
6078 sh4a_extract_sfmt_rts_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6079 sh4a_insn_word insn = entire_insn;
6080 #define FLD(f) abuf->fields.fmt_empty.f
6083 /* Record the fields for the semantic handler. */
6084 if (UNLIKELY(current_cpu->trace_extract_p))
6086 current_cpu->trace_stream
6087 << "0x" << hex << pc << dec << " (sfmt_rts_compact)\t"
6091 /* Record the fields for profiling. */
6092 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6099 sh4a_extract_sfmt_shad_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6100 sh4a_insn_word insn = entire_insn;
6101 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6105 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6106 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
6108 /* Record the fields for the semantic handler. */
6111 if (UNLIKELY(current_cpu->trace_extract_p))
6113 current_cpu->trace_stream
6114 << "0x" << hex << pc << dec << " (sfmt_shad_compact)\t"
6115 << " f_rm:0x" << hex << f_rm << dec
6116 << " f_rn:0x" << hex << f_rn << dec
6120 /* Record the fields for profiling. */
6121 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6125 FLD (out_rn) = f_rn;
6131 sh4a_extract_sfmt_stc_gbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6132 sh4a_insn_word insn = entire_insn;
6133 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6136 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6138 /* Record the fields for the semantic handler. */
6140 if (UNLIKELY(current_cpu->trace_extract_p))
6142 current_cpu->trace_stream
6143 << "0x" << hex << pc << dec << " (sfmt_stc_gbr_compact)\t"
6144 << " f_rn:0x" << hex << f_rn << dec
6148 /* Record the fields for profiling. */
6149 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6151 FLD (out_rn) = f_rn;
6157 sh4a_extract_sfmt_stc_vbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6158 sh4a_insn_word insn = entire_insn;
6159 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6162 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6164 /* Record the fields for the semantic handler. */
6166 if (UNLIKELY(current_cpu->trace_extract_p))
6168 current_cpu->trace_stream
6169 << "0x" << hex << pc << dec << " (sfmt_stc_vbr_compact)\t"
6170 << " f_rn:0x" << hex << f_rn << dec
6174 /* Record the fields for profiling. */
6175 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6177 FLD (out_rn) = f_rn;
6183 sh4a_extract_sfmt_stcl_gbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6184 sh4a_insn_word insn = entire_insn;
6185 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6188 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6190 /* Record the fields for the semantic handler. */
6192 if (UNLIKELY(current_cpu->trace_extract_p))
6194 current_cpu->trace_stream
6195 << "0x" << hex << pc << dec << " (sfmt_stcl_gbr_compact)\t"
6196 << " f_rn:0x" << hex << f_rn << dec
6200 /* Record the fields for profiling. */
6201 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6204 FLD (out_rn) = f_rn;
6210 sh4a_extract_sfmt_stcl_vbr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6211 sh4a_insn_word insn = entire_insn;
6212 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6215 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6217 /* Record the fields for the semantic handler. */
6219 if (UNLIKELY(current_cpu->trace_extract_p))
6221 current_cpu->trace_stream
6222 << "0x" << hex << pc << dec << " (sfmt_stcl_vbr_compact)\t"
6223 << " f_rn:0x" << hex << f_rn << dec
6227 /* Record the fields for profiling. */
6228 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6231 FLD (out_rn) = f_rn;
6237 sh4a_extract_sfmt_sts_fpscr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6238 sh4a_insn_word insn = entire_insn;
6239 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6242 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6244 /* Record the fields for the semantic handler. */
6246 if (UNLIKELY(current_cpu->trace_extract_p))
6248 current_cpu->trace_stream
6249 << "0x" << hex << pc << dec << " (sfmt_sts_fpscr_compact)\t"
6250 << " f_rn:0x" << hex << f_rn << dec
6254 /* Record the fields for profiling. */
6255 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6257 FLD (out_rn) = f_rn;
6263 sh4a_extract_sfmt_stsl_fpscr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6264 sh4a_insn_word insn = entire_insn;
6265 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6268 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6270 /* Record the fields for the semantic handler. */
6272 if (UNLIKELY(current_cpu->trace_extract_p))
6274 current_cpu->trace_stream
6275 << "0x" << hex << pc << dec << " (sfmt_stsl_fpscr_compact)\t"
6276 << " f_rn:0x" << hex << f_rn << dec
6280 /* Record the fields for profiling. */
6281 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6284 FLD (out_rn) = f_rn;
6290 sh4a_extract_sfmt_sts_fpul_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6291 sh4a_insn_word insn = entire_insn;
6292 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6295 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6297 /* Record the fields for the semantic handler. */
6299 if (UNLIKELY(current_cpu->trace_extract_p))
6301 current_cpu->trace_stream
6302 << "0x" << hex << pc << dec << " (sfmt_sts_fpul_compact)\t"
6303 << " f_rn:0x" << hex << f_rn << dec
6307 /* Record the fields for profiling. */
6308 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6311 FLD (out_rn) = f_rn;
6317 sh4a_extract_sfmt_stsl_fpul_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6318 sh4a_insn_word insn = entire_insn;
6319 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6322 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6324 /* Record the fields for the semantic handler. */
6326 if (UNLIKELY(current_cpu->trace_extract_p))
6328 current_cpu->trace_stream
6329 << "0x" << hex << pc << dec << " (sfmt_stsl_fpul_compact)\t"
6330 << " f_rn:0x" << hex << f_rn << dec
6334 /* Record the fields for profiling. */
6335 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6339 FLD (out_rn) = f_rn;
6345 sh4a_extract_sfmt_sts_mach_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6346 sh4a_insn_word insn = entire_insn;
6347 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6350 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6352 /* Record the fields for the semantic handler. */
6354 if (UNLIKELY(current_cpu->trace_extract_p))
6356 current_cpu->trace_stream
6357 << "0x" << hex << pc << dec << " (sfmt_sts_mach_compact)\t"
6358 << " f_rn:0x" << hex << f_rn << dec
6362 /* Record the fields for profiling. */
6363 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6365 FLD (out_rn) = f_rn;
6371 sh4a_extract_sfmt_stsl_mach_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6372 sh4a_insn_word insn = entire_insn;
6373 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6376 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6378 /* Record the fields for the semantic handler. */
6380 if (UNLIKELY(current_cpu->trace_extract_p))
6382 current_cpu->trace_stream
6383 << "0x" << hex << pc << dec << " (sfmt_stsl_mach_compact)\t"
6384 << " f_rn:0x" << hex << f_rn << dec
6388 /* Record the fields for profiling. */
6389 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6392 FLD (out_rn) = f_rn;
6398 sh4a_extract_sfmt_sts_macl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6399 sh4a_insn_word insn = entire_insn;
6400 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6403 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6405 /* Record the fields for the semantic handler. */
6407 if (UNLIKELY(current_cpu->trace_extract_p))
6409 current_cpu->trace_stream
6410 << "0x" << hex << pc << dec << " (sfmt_sts_macl_compact)\t"
6411 << " f_rn:0x" << hex << f_rn << dec
6415 /* Record the fields for profiling. */
6416 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6418 FLD (out_rn) = f_rn;
6424 sh4a_extract_sfmt_stsl_macl_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6425 sh4a_insn_word insn = entire_insn;
6426 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6429 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6431 /* Record the fields for the semantic handler. */
6433 if (UNLIKELY(current_cpu->trace_extract_p))
6435 current_cpu->trace_stream
6436 << "0x" << hex << pc << dec << " (sfmt_stsl_macl_compact)\t"
6437 << " f_rn:0x" << hex << f_rn << dec
6441 /* Record the fields for profiling. */
6442 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6445 FLD (out_rn) = f_rn;
6451 sh4a_extract_sfmt_sts_pr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6452 sh4a_insn_word insn = entire_insn;
6453 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6456 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6458 /* Record the fields for the semantic handler. */
6460 if (UNLIKELY(current_cpu->trace_extract_p))
6462 current_cpu->trace_stream
6463 << "0x" << hex << pc << dec << " (sfmt_sts_pr_compact)\t"
6464 << " f_rn:0x" << hex << f_rn << dec
6468 /* Record the fields for profiling. */
6469 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6471 FLD (out_rn) = f_rn;
6477 sh4a_extract_sfmt_stsl_pr_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6478 sh4a_insn_word insn = entire_insn;
6479 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6482 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6484 /* Record the fields for the semantic handler. */
6486 if (UNLIKELY(current_cpu->trace_extract_p))
6488 current_cpu->trace_stream
6489 << "0x" << hex << pc << dec << " (sfmt_stsl_pr_compact)\t"
6490 << " f_rn:0x" << hex << f_rn << dec
6494 /* Record the fields for profiling. */
6495 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6498 FLD (out_rn) = f_rn;
6504 sh4a_extract_sfmt_tasb_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6505 sh4a_insn_word insn = entire_insn;
6506 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6509 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6511 /* Record the fields for the semantic handler. */
6513 if (UNLIKELY(current_cpu->trace_extract_p))
6515 current_cpu->trace_stream
6516 << "0x" << hex << pc << dec << " (sfmt_tasb_compact)\t"
6517 << " f_rn:0x" << hex << f_rn << dec
6521 /* Record the fields for profiling. */
6522 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6530 sh4a_extract_sfmt_trapa_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6531 sh4a_insn_word insn = entire_insn;
6532 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6535 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6537 /* Record the fields for the semantic handler. */
6538 FLD (f_imm8) = f_imm8;
6539 if (UNLIKELY(current_cpu->trace_extract_p))
6541 current_cpu->trace_stream
6542 << "0x" << hex << pc << dec << " (sfmt_trapa_compact)\t"
6543 << " f_imm8:0x" << hex << f_imm8 << dec
6547 /* Record the fields for profiling. */
6548 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6555 sh4a_extract_sfmt_tsti_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6556 sh4a_insn_word insn = entire_insn;
6557 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6560 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6562 /* Record the fields for the semantic handler. */
6563 FLD (f_imm8) = f_imm8;
6564 if (UNLIKELY(current_cpu->trace_extract_p))
6566 current_cpu->trace_stream
6567 << "0x" << hex << pc << dec << " (sfmt_tsti_compact)\t"
6568 << " f_imm8:0x" << hex << f_imm8 << dec
6572 /* Record the fields for profiling. */
6573 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6581 sh4a_extract_sfmt_tstb_compact (sh4a_scache* abuf, sh4a_cpu* current_cpu, PCADDR pc, sh4a_insn_word base_insn, sh4a_insn_word entire_insn){
6582 sh4a_insn_word insn = entire_insn;
6583 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6586 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6588 /* Record the fields for the semantic handler. */
6589 FLD (f_imm8) = f_imm8;
6590 if (UNLIKELY(current_cpu->trace_extract_p))
6592 current_cpu->trace_stream
6593 << "0x" << hex << pc << dec << " (sfmt_tstb_compact)\t"
6594 << " f_imm8:0x" << hex << f_imm8 << dec
6598 /* Record the fields for profiling. */
6599 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))